fix from upstream for building with newer kernel headers From a7f9ca9cb797d653dc7919538e1dfa0c26010331 Mon Sep 17 00:00:00 2001 From: tschwinge Date: Wed, 21 Mar 2012 13:43:50 +0000 Subject: [PATCH] struct siginfo vs. siginfo_t gdb/ * amd64-linux-nat.c (amd64_linux_siginfo_fixup): Use siginfo_t instead of struct siginfo. * arm-linux-nat.c (arm_linux_stopped_data_address): Likewise. * ia64-linux-nat.c (ia64_linux_stopped_data_address): Likewise. * linux-nat.c (linux_nat_siginfo_fixup, siginfo_fixup) (linux_xfer_siginfo, linux_nat_set_siginfo_fixup) (linux_nat_get_siginfo): Likewise. * linux-nat.h (struct lwp_info, linux_nat_set_siginfo_fixup) (linux_nat_get_siginfo): Likewise. * linux-tdep.c (linux_get_siginfo_type): Likewise. * ppc-linux-nat.c (ppc_linux_stopped_data_address): Likewise. * procfs.c (gdb_siginfo_t): Likewise. gdbserver/ * linux-arm-low.c (arm_stopped_by_watchpoint): Use siginfo_t instead of struct siginfo. * linux-low.c (siginfo_fixup, linux_xfer_siginfo): Likewise. * linux-x86-low.c (x86_siginfo_fixup): Likewise. * linux-low.h: Include . (struct siginfo): Remove forward declaration. (struct linux_target_ops) : Use siginfo_t instead of struct siginfo. --- gdb/amd64-linux-nat.c | 4 ++-- gdb/arm-linux-nat.c | 2 +- gdb/gdbserver/linux-arm-low.c | 2 +- gdb/gdbserver/linux-low.c | 10 +++++----- gdb/gdbserver/linux-low.h | 5 ++--- gdb/gdbserver/linux-x86-low.c | 4 ++-- gdb/ia64-linux-nat.c | 2 +- gdb/linux-nat.c | 16 ++++++++-------- gdb/linux-nat.h | 6 +++--- gdb/ppc-linux-nat.c | 2 +- gdb/procfs.c | 2 +- 11 files changed, 27 insertions(+), 28 deletions(-) --- a/gdb/amd64-linux-nat.c +++ b/gdb/amd64-linux-nat.c @@ -671,13 +671,13 @@ INF. */ static int -amd64_linux_siginfo_fixup (struct siginfo *native, gdb_byte *inf, int direction) +amd64_linux_siginfo_fixup (siginfo_t *native, gdb_byte *inf, int direction) { /* Is the inferior 32-bit? If so, then do fixup the siginfo object. */ if (gdbarch_addr_bit (get_frame_arch (get_current_frame ())) == 32) { - gdb_assert (sizeof (struct siginfo) == sizeof (compat_siginfo_t)); + gdb_assert (sizeof (siginfo_t) == sizeof (compat_siginfo_t)); if (direction == 0) compat_siginfo_from_siginfo ((struct compat_siginfo *) inf, native); --- a/gdb/arm-linux-nat.c +++ b/gdb/arm-linux-nat.c @@ -1137,7 +1137,7 @@ static int arm_linux_stopped_data_address (struct target_ops *target, CORE_ADDR *addr_p) { - struct siginfo *siginfo_p = linux_nat_get_siginfo (inferior_ptid); + siginfo_t *siginfo_p = linux_nat_get_siginfo (inferior_ptid); int slot = siginfo_p->si_errno; /* This must be a hardware breakpoint. */ --- a/gdb/gdbserver/linux-arm-low.c +++ b/gdb/gdbserver/linux-arm-low.c @@ -631,7 +631,7 @@ arm_stopped_by_watchpoint (void) { struct lwp_info *lwp = get_thread_lwp (current_inferior); - struct siginfo siginfo; + siginfo_t siginfo; /* We must be able to set hardware watchpoints. */ if (arm_linux_get_hw_watchpoint_count () == 0) --- a/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c @@ -4522,7 +4522,7 @@ layout of the inferiors' architecture. */ static void -siginfo_fixup (struct siginfo *siginfo, void *inf_siginfo, int direction) +siginfo_fixup (siginfo_t *siginfo, void *inf_siginfo, int direction) { int done = 0; @@ -4534,9 +4534,9 @@ if (!done) { if (direction == 1) - memcpy (siginfo, inf_siginfo, sizeof (struct siginfo)); + memcpy (siginfo, inf_siginfo, sizeof (siginfo_t)); else - memcpy (inf_siginfo, siginfo, sizeof (struct siginfo)); + memcpy (inf_siginfo, siginfo, sizeof (siginfo_t)); } } @@ -4545,8 +4545,8 @@ unsigned const char *writebuf, CORE_ADDR offset, int len) { int pid; - struct siginfo siginfo; - char inf_siginfo[sizeof (struct siginfo)]; + siginfo_t siginfo; + char inf_siginfo[sizeof (siginfo_t)]; if (current_inferior == NULL) return -1; --- a/gdb/gdbserver/linux-low.h +++ b/gdb/gdbserver/linux-low.h @@ -20,6 +20,7 @@ #ifdef HAVE_THREAD_DB_H #include #endif +#include #include "gdb_proc_service.h" @@ -46,8 +47,6 @@ extern struct regset_info target_regsets[]; #endif -struct siginfo; - struct process_info_private { /* Arch-specific additions. */ @@ -103,7 +102,7 @@ Returns true if any conversion was done; false otherwise. If DIRECTION is 1, then copy from INF to NATIVE. If DIRECTION is 0, copy from NATIVE to INF. */ - int (*siginfo_fixup) (struct siginfo *native, void *inf, int direction); + int (*siginfo_fixup) (siginfo_t *native, void *inf, int direction); /* Hook to call when a new process is created or attached to. If extra per-process architecture-specific data is needed, --- a/gdb/gdbserver/linux-x86-low.c +++ b/gdb/gdbserver/linux-x86-low.c @@ -906,13 +906,13 @@ INF. */ static int -x86_siginfo_fixup (struct siginfo *native, void *inf, int direction) +x86_siginfo_fixup (siginfo_t *native, void *inf, int direction) { #ifdef __x86_64__ /* Is the inferior 32-bit? If so, then fixup the siginfo object. */ if (register_size (0) == 4) { - if (sizeof (struct siginfo) != sizeof (compat_siginfo_t)) + if (sizeof (siginfo_t) != sizeof (compat_siginfo_t)) fatal ("unexpected difference in siginfo"); if (direction == 0) --- a/gdb/ia64-linux-nat.c +++ b/gdb/ia64-linux-nat.c @@ -637,7 +637,7 @@ ia64_linux_stopped_data_address (struct target_ops *ops, CORE_ADDR *addr_p) { CORE_ADDR psr; - struct siginfo *siginfo_p; + siginfo_t *siginfo_p; struct regcache *regcache = get_current_regcache (); siginfo_p = linux_nat_get_siginfo (inferior_ptid); --- a/gdb/linux-nat.c +++ b/gdb/linux-nat.c @@ -179,7 +179,7 @@ /* The method to call, if any, when the siginfo object needs to be converted between the layout returned by ptrace, and the layout in the architecture of the inferior. */ -static int (*linux_nat_siginfo_fixup) (struct siginfo *, +static int (*linux_nat_siginfo_fixup) (siginfo_t *, gdb_byte *, int); @@ -4138,7 +4138,7 @@ layout of the inferiors' architecture. */ static void -siginfo_fixup (struct siginfo *siginfo, gdb_byte *inf_siginfo, int direction) +siginfo_fixup (siginfo_t *siginfo, gdb_byte *inf_siginfo, int direction) { int done = 0; @@ -4150,9 +4150,9 @@ if (!done) { if (direction == 1) - memcpy (siginfo, inf_siginfo, sizeof (struct siginfo)); + memcpy (siginfo, inf_siginfo, sizeof (siginfo_t)); else - memcpy (inf_siginfo, siginfo, sizeof (struct siginfo)); + memcpy (inf_siginfo, siginfo, sizeof (siginfo_t)); } } @@ -4162,8 +4162,8 @@ const gdb_byte *writebuf, ULONGEST offset, LONGEST len) { int pid; - struct siginfo siginfo; - gdb_byte inf_siginfo[sizeof (struct siginfo)]; + siginfo_t siginfo; + gdb_byte inf_siginfo[sizeof (siginfo_t)]; gdb_assert (object == TARGET_OBJECT_SIGNAL_INFO); gdb_assert (readbuf || writebuf); @@ -5852,7 +5852,7 @@ inferior. */ void linux_nat_set_siginfo_fixup (struct target_ops *t, - int (*siginfo_fixup) (struct siginfo *, + int (*siginfo_fixup) (siginfo_t *, gdb_byte *, int)) { @@ -5861,7 +5861,7 @@ } /* Return the saved siginfo associated with PTID. */ -struct siginfo * +siginfo_t * linux_nat_get_siginfo (ptid_t ptid) { struct lwp_info *lp = find_lwp_pid (ptid); --- a/gdb/linux-nat.h +++ b/gdb/linux-nat.h @@ -76,7 +76,7 @@ /* Non-zero si_signo if this LWP stopped with a trap. si_addr may be the address of a hardware watchpoint. */ - struct siginfo siginfo; + siginfo_t siginfo; /* STOPPED_BY_WATCHPOINT is non-zero if this LWP stopped with a data watchpoint trap. */ @@ -171,7 +171,7 @@ that ptrace returns, and the layout in the architecture of the inferior. */ void linux_nat_set_siginfo_fixup (struct target_ops *, - int (*) (struct siginfo *, + int (*) (siginfo_t *, gdb_byte *, int)); @@ -180,7 +180,7 @@ void linux_nat_switch_fork (ptid_t new_ptid); /* Return the saved siginfo associated with PTID. */ -struct siginfo *linux_nat_get_siginfo (ptid_t ptid); +siginfo_t *linux_nat_get_siginfo (ptid_t ptid); /* Compute and return the processor core of a given thread. */ int linux_nat_core_of_thread_1 (ptid_t ptid); --- a/gdb/ppc-linux-nat.c +++ b/gdb/ppc-linux-nat.c @@ -2213,7 +2213,7 @@ static int ppc_linux_stopped_data_address (struct target_ops *target, CORE_ADDR *addr_p) { - struct siginfo *siginfo_p; + siginfo_t *siginfo_p; siginfo_p = linux_nat_get_siginfo (inferior_ptid); --- a/gdb/procfs.c +++ b/gdb/procfs.c @@ -262,7 +262,7 @@ #ifdef HAVE_PR_SIGINFO64_T typedef pr_siginfo64_t gdb_siginfo_t; #else -typedef struct siginfo gdb_siginfo_t; +typedef siginfo_t gdb_siginfo_t; #endif /* On mips-irix, praddset and prdelset are defined in such a way that