Problem with deprecated_select_gdbarch_hack
Marcel Moolenaar
marcel@xcllnt.net
Tue Nov 4 00:38:00 GMT 2003
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.
...
> 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
...
--
Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net
More information about the Gdb
mailing list