This is the mail archive of the
gdb-prs@sources.redhat.com
mailing list for the GDB project.
tdep/1426: osabi initialization race condition
- From: ac131313 at redhat dot com
- To: gdb-gnats at sources dot redhat dot com
- Date: 23 Oct 2003 17:49:33 -0000
- Subject: tdep/1426: osabi initialization race condition
- Reply-to: ac131313 at redhat dot com
>Number: 1426
>Category: tdep
>Synopsis: osabi initialization race condition
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Oct 23 17:58:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator: ac131313@redhat.com
>Release: 2003-10-23
>Organization:
>Environment:
>Description:
Due to the on going presence of global per-gdbarch variables GDB needs to create/install an initial "static" architecture _before_ any of the per-file initialization has been performed.
As a consequence, the osabi code finds itself trying to select GDB_OSABI_DEFAULT before support for that osabi has been installed.
For instance, on PPC/64 GNU/Linux, the build-time default OSABI is set to GDB_OSABI_LINUX, and support for it is registered during per-file initialization. Unfortunatly, that default osabi is only registered _after_ GDB creates and installs the "static" architecture, and this leads to the warning:
A handler for the OS ABI "GNU/Linux" is not built into this configuration of GDB. Attempting to continue with the default rs6000:6000 settingsGNU gdb 2003-10-23-cvs
Copyright 2003 Free Software Foundation, Inc.
...
Arrrgh!
Hmm, perhaps as a hack, the default could start out as GDB_OSABI_UNKNOWN and then only get updated after per-file initialization (which would be after that "static" architecture has been created/installed).
Ulgh!!!
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: