[gdb, hurd] Work around conflict between Mach's 'thread_info' function, and GDB's...
authorThomas Schwinge <thomas@codesourcery.com>
Wed, 13 Feb 2019 11:02:20 +0000 (12:02 +0100)
committerThomas Schwinge <thomas@codesourcery.com>
Thu, 14 Feb 2019 15:02:33 +0000 (16:02 +0100)
commitcabb5f067daa9227bf0323cbf64c6065d6e4796f
tree62f96bd6149e954c4e635588e79d95264199220c
parentb1041ae0ae8a2f1c51e75b45004686f1956078ed
[gdb, hurd] Work around conflict between Mach's 'thread_info' function, and GDB's 'thread_info' class

    In file included from ./nm.h:25:0,
                     from [...]/gdb/defs.h:423,
                     from [...]/gdb/gdb.c:19:
    [...]/gdb/regcache.h:35:46: warning: 'get_thread_regcache' initialized and declared 'extern'
     extern struct regcache *get_thread_regcache (thread_info *thread);
                                                  ^~~~~~~~~~~
    [...]/gdb/regcache.h:35:46: error: 'regcache* get_thread_regcache' redeclared as different kind of symbol
    [...]
    [...]/gdb/gdbarch.h:1203:69: error: 'thread_info' is not a type
     extern LONGEST gdbarch_get_syscall_number (struct gdbarch *gdbarch, thread_info *thread);
                                                                         ^~~~~~~~~~~

Fixed with a different (self-contained, more maintainable?) approach compared
to what has been done in commit 7aabaf9d4ad52a1df1f551908fbd8cafc5e7597a
"Create private_thread_info hierarchy", and commit
75cbc781e371279f4403045be93b07fd8fe7fde5 "gdb: For macOS, s/thread_info/struct
thread_info/".  We don't want to change all the GDB code to everywhere use
'class thread_info' or 'struct thread_info' instead of plain 'thread_info'.

gdb/
* config/i386/nm-i386gnu.h: Don't "#include" any files.
* gnu-nat.h (mach_thread_info): New function.
* gnu-nat.c (thread_takeover_sc_cmd): Use it.
gdb/ChangeLog
gdb/config/i386/nm-i386gnu.h
gdb/gnu-nat.c
gdb/gnu-nat.h
gdb/i386-gnu-nat.c