This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Problem with deprecated_select_gdbarch_hack


Marcel Moolenaar wrote:
On Mon, Nov 03, 2003 at 07:01:04PM -0500, J. Johnston wrote:

Mark,

The current mainline gdb fails for ia64 linux due to an assertion in deprecated_select_gdbarch_hack(). I noticed you added this code recently. I have attached a scripted session with set debug arch 1. Can you verify if the debug messages indicate any unanticipated path through your code? I am just trying to debug a simple "hello world" program.


I noticed it too. The gdb_assert() in deprecated_select_gdbarch_hack()
is faulty because gdbarch_update_p() does not necessarily change the
current gdbarch to the one passed to deprecated_select_gdbarch_hack().
It can leave the gdbarch unchanged if it's semantically equivalent to
the one asked to change to. Removal of the faulty gdb_assert() should
do the trick.


I have recently checked in a change to the ia64-tdep.c code to modernize it to grab the osabi from the gdbarch_info parameter and to call gdbarch_list_lookup_by_info() to look for existing gdbarch candidates. This fixes the problem without having to remove the assertion. Perhaps leaving the assertion will point out any existing platforms that use the older code ia64 was formerly using.


-- Jeff J.

...

gdbarch_update: info.bfd_arch_info ia64-elf64
gdbarch_update: info.byte_order 1 (little)
gdbarch_update: info.osabi 5 (GNU/Linux)
gdbarch_update: info.abfd 0x60000000000f16b0
gdbarch_update: info.tdep_info 0x0
gdbarch_update: New architecture 0x6000000000102590 (ia64-elf64) selected

...


gdbarch_update: info.bfd_arch_info ia64-elf64
gdbarch_update: info.byte_order 1 (little)
gdbarch_update: info.osabi 5 (GNU/Linux)
gdbarch_update: info.abfd 0x0
gdbarch_update: info.tdep_info 0x0
gdbarch_update: Previous architecture 0x60000000000b2620 (ia64-elf64) selected
gdbarch_update: info.bfd_arch_info ia64-elf64
gdbarch_update: info.byte_order 1 (little)
gdbarch_update: info.osabi 5 (GNU/Linux)
gdbarch_update: info.abfd 0x0
gdbarch_update: info.tdep_info 0x0
gdbarch_update: Architecture 0x60000000000b2620 (ia64-elf64) unchanged

...




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]