Re: [PATCH 1/2] Include the fs_base and gs_base registers in amd64 target descriptions.

Phil Muldoon
2017-07-12T12:16:48Z

On 11/07/17 09:01, Yao Qi wrote:
> John Baldwin <jhb@FreeBSD.org> writes:
>
>> This permits these registers to be used with non-Linux targets.
>
> Some GDBserver uses these target description files, like
> x86_64-*-mingw*, after this change, GDBserver will reply GDB the target
> description including "64bit-segments.xml". Then, GDB will request the
> contents of 64bit-segments.xml from GDBserver, looks 64bit-segments.xml
> is already builtin in GDBserver, so there isn't an issue here.
>
> The patch is good to me.
>
> P.S. this is a good example to show the inflexibility in current target
> description. After we change it to my new approach of target
> description, this change will be just two or three lines :)
>

This commit: 48aeef91c248291dd03583798904612426b1f40a along with
related commit: 0aa37b654c0f31e446ab47826f0bcbec15d0112f seems to
cause substantial testsuite failures for me on x8664/Fedora/Linux.

Backtrace of a trivial: file helloworld

(gdb) bt
#0 0x0000000000937b51 in htab_remove_elt_with_hash (htab=0x133f5d0, element=0xf0a180, hash=2401929989)
at ../../binutils-gdb/libiberty/hashtab.c:728
#1 0x0000000000937b1b in htab_remove_elt (htab=0x133f5d0, element=0xf0a180) at ../../binutils-gdb/libiberty/hashtab.c:714
#2 0x00000000007b7c02 in tdesc_use_registers (gdbarch=0x1346ac0, target_desc=0xf2f540, early_data=0x133f5a0)
at ../../binutils-gdb/gdb/target-descriptions.c:1328
#3 0x000000000045079c in i386_gdbarch_init (info=..., arches=0x0) at ../../binutils-gdb/gdb/i386-tdep.c:8634
#4 0x00000000006be323 in gdbarch_find_by_info (info=...) at ../../binutils-gdb/gdb/gdbarch.c:5394
#5 0x00000000005bddd9 in set_gdbarch_from_file (abfd=0x133d1d0) at ../../binutils-gdb/gdb/arch-utils.c:618
#6 0x000000000069777d in exec_file_attach (filename=0x13301d0 "/home/pmuldoon/td", from_tty=1) at ../../binutils-gdb/gdb/exec.c:380

Does anyone else see this?

Cheers

Phil