graycells@3059: fix from upstream for building with newer kernel headers graycells@3059: graycells@3059: From a7f9ca9cb797d653dc7919538e1dfa0c26010331 Mon Sep 17 00:00:00 2001 graycells@3059: From: tschwinge graycells@3059: Date: Wed, 21 Mar 2012 13:43:50 +0000 graycells@3059: Subject: [PATCH] struct siginfo vs. siginfo_t graycells@3059: graycells@3059: gdb/ graycells@3059: * amd64-linux-nat.c (amd64_linux_siginfo_fixup): Use siginfo_t instead graycells@3059: of struct siginfo. graycells@3059: * arm-linux-nat.c (arm_linux_stopped_data_address): Likewise. graycells@3059: * ia64-linux-nat.c (ia64_linux_stopped_data_address): Likewise. graycells@3059: * linux-nat.c (linux_nat_siginfo_fixup, siginfo_fixup) graycells@3059: (linux_xfer_siginfo, linux_nat_set_siginfo_fixup) graycells@3059: (linux_nat_get_siginfo): Likewise. graycells@3059: * linux-nat.h (struct lwp_info, linux_nat_set_siginfo_fixup) graycells@3059: (linux_nat_get_siginfo): Likewise. graycells@3059: * linux-tdep.c (linux_get_siginfo_type): Likewise. graycells@3059: * ppc-linux-nat.c (ppc_linux_stopped_data_address): Likewise. graycells@3059: * procfs.c (gdb_siginfo_t): Likewise. graycells@3059: graycells@3059: gdbserver/ graycells@3059: * linux-arm-low.c (arm_stopped_by_watchpoint): Use siginfo_t instead of graycells@3059: struct siginfo. graycells@3059: * linux-low.c (siginfo_fixup, linux_xfer_siginfo): Likewise. graycells@3059: * linux-x86-low.c (x86_siginfo_fixup): Likewise. graycells@3059: * linux-low.h: Include . graycells@3059: (struct siginfo): Remove forward declaration. graycells@3059: (struct linux_target_ops) : Use siginfo_t instead of graycells@3059: struct siginfo. graycells@3059: --- graycells@3059: gdb/ChangeLog | 15 +++++++++++++++ graycells@3059: gdb/amd64-linux-nat.c | 4 ++-- graycells@3059: gdb/arm-linux-nat.c | 2 +- graycells@3059: gdb/gdbserver/ChangeLog | 11 +++++++++++ graycells@3059: gdb/gdbserver/linux-arm-low.c | 2 +- graycells@3059: gdb/gdbserver/linux-low.c | 10 +++++----- graycells@3059: gdb/gdbserver/linux-low.h | 5 ++--- graycells@3059: gdb/gdbserver/linux-x86-low.c | 4 ++-- graycells@3059: gdb/ia64-linux-nat.c | 2 +- graycells@3059: gdb/linux-nat.c | 16 ++++++++-------- graycells@3059: gdb/linux-nat.h | 6 +++--- graycells@3059: gdb/ppc-linux-nat.c | 2 +- graycells@3059: gdb/procfs.c | 2 +- graycells@3059: 13 files changed, 53 insertions(+), 28 deletions(-) graycells@3059: graycells@3059: diff --git a/gdb/amd64-linux-nat.c b/gdb/amd64-linux-nat.c graycells@3059: index f954483..5ebba3a 100644 graycells@3059: --- a/gdb/amd64-linux-nat.c graycells@3059: +++ b/gdb/amd64-linux-nat.c graycells@3059: @@ -731,13 +731,13 @@ siginfo_from_compat_siginfo (siginfo_t *to, compat_siginfo_t *from) graycells@3059: INF. */ graycells@3059: graycells@3059: static int graycells@3059: -amd64_linux_siginfo_fixup (struct siginfo *native, gdb_byte *inf, int direction) graycells@3059: +amd64_linux_siginfo_fixup (siginfo_t *native, gdb_byte *inf, int direction) graycells@3059: { graycells@3059: /* Is the inferior 32-bit? If so, then do fixup the siginfo graycells@3059: object. */ graycells@3059: if (gdbarch_addr_bit (get_frame_arch (get_current_frame ())) == 32) graycells@3059: { graycells@3059: - gdb_assert (sizeof (struct siginfo) == sizeof (compat_siginfo_t)); graycells@3059: + gdb_assert (sizeof (siginfo_t) == sizeof (compat_siginfo_t)); graycells@3059: graycells@3059: if (direction == 0) graycells@3059: compat_siginfo_from_siginfo ((struct compat_siginfo *) inf, native); graycells@3059: diff --git a/gdb/arm-linux-nat.c b/gdb/arm-linux-nat.c graycells@3059: index c5ce21c..f9f6ba5 100644 graycells@3059: --- a/gdb/arm-linux-nat.c graycells@3059: +++ b/gdb/arm-linux-nat.c graycells@3059: @@ -1137,7 +1137,7 @@ arm_linux_remove_watchpoint (CORE_ADDR addr, int len, int rw, graycells@3059: static int graycells@3059: arm_linux_stopped_data_address (struct target_ops *target, CORE_ADDR *addr_p) graycells@3059: { graycells@3059: - struct siginfo *siginfo_p = linux_nat_get_siginfo (inferior_ptid); graycells@3059: + siginfo_t *siginfo_p = linux_nat_get_siginfo (inferior_ptid); graycells@3059: int slot = siginfo_p->si_errno; graycells@3059: graycells@3059: /* This must be a hardware breakpoint. */ graycells@3059: diff --git a/gdb/gdbserver/linux-arm-low.c b/gdb/gdbserver/linux-arm-low.c graycells@3059: index ff2437d..01208ef 100644 graycells@3059: --- a/gdb/gdbserver/linux-arm-low.c graycells@3059: +++ b/gdb/gdbserver/linux-arm-low.c graycells@3059: @@ -631,7 +631,7 @@ static int graycells@3059: arm_stopped_by_watchpoint (void) graycells@3059: { graycells@3059: struct lwp_info *lwp = get_thread_lwp (current_inferior); graycells@3059: - struct siginfo siginfo; graycells@3059: + siginfo_t siginfo; graycells@3059: graycells@3059: /* We must be able to set hardware watchpoints. */ graycells@3059: if (arm_linux_get_hw_watchpoint_count () == 0) graycells@3059: diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c graycells@3059: index d2d4c1d..4734f15 100644 graycells@3059: --- a/gdb/gdbserver/linux-low.c graycells@3059: +++ b/gdb/gdbserver/linux-low.c graycells@3059: @@ -4779,7 +4779,7 @@ linux_qxfer_osdata (const char *annex, graycells@3059: layout of the inferiors' architecture. */ graycells@3059: graycells@3059: static void graycells@3059: -siginfo_fixup (struct siginfo *siginfo, void *inf_siginfo, int direction) graycells@3059: +siginfo_fixup (siginfo_t *siginfo, void *inf_siginfo, int direction) graycells@3059: { graycells@3059: int done = 0; graycells@3059: graycells@3059: @@ -4791,9 +4791,9 @@ siginfo_fixup (struct siginfo *siginfo, void *inf_siginfo, int direction) graycells@3059: if (!done) graycells@3059: { graycells@3059: if (direction == 1) graycells@3059: - memcpy (siginfo, inf_siginfo, sizeof (struct siginfo)); graycells@3059: + memcpy (siginfo, inf_siginfo, sizeof (siginfo_t)); graycells@3059: else graycells@3059: - memcpy (inf_siginfo, siginfo, sizeof (struct siginfo)); graycells@3059: + memcpy (inf_siginfo, siginfo, sizeof (siginfo_t)); graycells@3059: } graycells@3059: } graycells@3059: graycells@3059: @@ -4802,8 +4802,8 @@ linux_xfer_siginfo (const char *annex, unsigned char *readbuf, graycells@3059: unsigned const char *writebuf, CORE_ADDR offset, int len) graycells@3059: { graycells@3059: int pid; graycells@3059: - struct siginfo siginfo; graycells@3059: - char inf_siginfo[sizeof (struct siginfo)]; graycells@3059: + siginfo_t siginfo; graycells@3059: + char inf_siginfo[sizeof (siginfo_t)]; graycells@3059: graycells@3059: if (current_inferior == NULL) graycells@3059: return -1; graycells@3059: diff --git a/gdb/gdbserver/linux-low.h b/gdb/gdbserver/linux-low.h graycells@3059: index 677d261..3aeae70 100644 graycells@3059: --- a/gdb/gdbserver/linux-low.h graycells@3059: +++ b/gdb/gdbserver/linux-low.h graycells@3059: @@ -20,6 +20,7 @@ graycells@3059: #ifdef HAVE_THREAD_DB_H graycells@3059: #include graycells@3059: #endif graycells@3059: +#include graycells@3059: graycells@3059: #include "gdb_proc_service.h" graycells@3059: graycells@3059: @@ -46,8 +47,6 @@ struct regset_info graycells@3059: extern struct regset_info target_regsets[]; graycells@3059: #endif graycells@3059: graycells@3059: -struct siginfo; graycells@3059: - graycells@3059: struct process_info_private graycells@3059: { graycells@3059: /* Arch-specific additions. */ graycells@3059: @@ -109,7 +108,7 @@ struct linux_target_ops graycells@3059: Returns true if any conversion was done; false otherwise. graycells@3059: If DIRECTION is 1, then copy from INF to NATIVE. graycells@3059: If DIRECTION is 0, copy from NATIVE to INF. */ graycells@3059: - int (*siginfo_fixup) (struct siginfo *native, void *inf, int direction); graycells@3059: + int (*siginfo_fixup) (siginfo_t *native, void *inf, int direction); graycells@3059: graycells@3059: /* Hook to call when a new process is created or attached to. graycells@3059: If extra per-process architecture-specific data is needed, graycells@3059: diff --git a/gdb/gdbserver/linux-x86-low.c b/gdb/gdbserver/linux-x86-low.c graycells@3059: index ed1f8a8..b466b5d 100644 graycells@3059: --- a/gdb/gdbserver/linux-x86-low.c graycells@3059: +++ b/gdb/gdbserver/linux-x86-low.c graycells@3059: @@ -918,13 +918,13 @@ siginfo_from_compat_siginfo (siginfo_t *to, compat_siginfo_t *from) graycells@3059: INF. */ graycells@3059: graycells@3059: static int graycells@3059: -x86_siginfo_fixup (struct siginfo *native, void *inf, int direction) graycells@3059: +x86_siginfo_fixup (siginfo_t *native, void *inf, int direction) graycells@3059: { graycells@3059: #ifdef __x86_64__ graycells@3059: /* Is the inferior 32-bit? If so, then fixup the siginfo object. */ graycells@3059: if (register_size (0) == 4) graycells@3059: { graycells@3059: - if (sizeof (struct siginfo) != sizeof (compat_siginfo_t)) graycells@3059: + if (sizeof (siginfo_t) != sizeof (compat_siginfo_t)) graycells@3059: fatal ("unexpected difference in siginfo"); graycells@3059: graycells@3059: if (direction == 0) graycells@3059: diff --git a/gdb/ia64-linux-nat.c b/gdb/ia64-linux-nat.c graycells@3059: index 8773195..19b827f 100644 graycells@3059: --- a/gdb/ia64-linux-nat.c graycells@3059: +++ b/gdb/ia64-linux-nat.c graycells@3059: @@ -637,7 +637,7 @@ static int graycells@3059: ia64_linux_stopped_data_address (struct target_ops *ops, CORE_ADDR *addr_p) graycells@3059: { graycells@3059: CORE_ADDR psr; graycells@3059: - struct siginfo *siginfo_p; graycells@3059: + siginfo_t *siginfo_p; graycells@3059: struct regcache *regcache = get_current_regcache (); graycells@3059: graycells@3059: siginfo_p = linux_nat_get_siginfo (inferior_ptid); graycells@3059: diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c graycells@3059: index f80c0c1..d81d55e 100644 graycells@3059: --- a/gdb/linux-nat.c graycells@3059: +++ b/gdb/linux-nat.c graycells@3059: @@ -188,7 +188,7 @@ static void (*linux_nat_prepare_to_resume) (struct lwp_info *); graycells@3059: /* The method to call, if any, when the siginfo object needs to be graycells@3059: converted between the layout returned by ptrace, and the layout in graycells@3059: the architecture of the inferior. */ graycells@3059: -static int (*linux_nat_siginfo_fixup) (struct siginfo *, graycells@3059: +static int (*linux_nat_siginfo_fixup) (siginfo_t *, graycells@3059: gdb_byte *, graycells@3059: int); graycells@3059: graycells@3059: @@ -4232,7 +4232,7 @@ linux_nat_mourn_inferior (struct target_ops *ops) graycells@3059: layout of the inferiors' architecture. */ graycells@3059: graycells@3059: static void graycells@3059: -siginfo_fixup (struct siginfo *siginfo, gdb_byte *inf_siginfo, int direction) graycells@3059: +siginfo_fixup (siginfo_t *siginfo, gdb_byte *inf_siginfo, int direction) graycells@3059: { graycells@3059: int done = 0; graycells@3059: graycells@3059: @@ -4244,9 +4244,9 @@ siginfo_fixup (struct siginfo *siginfo, gdb_byte *inf_siginfo, int direction) graycells@3059: if (!done) graycells@3059: { graycells@3059: if (direction == 1) graycells@3059: - memcpy (siginfo, inf_siginfo, sizeof (struct siginfo)); graycells@3059: + memcpy (siginfo, inf_siginfo, sizeof (siginfo_t)); graycells@3059: else graycells@3059: - memcpy (inf_siginfo, siginfo, sizeof (struct siginfo)); graycells@3059: + memcpy (inf_siginfo, siginfo, sizeof (siginfo_t)); graycells@3059: } graycells@3059: } graycells@3059: graycells@3059: @@ -4256,8 +4256,8 @@ linux_xfer_siginfo (struct target_ops *ops, enum target_object object, graycells@3059: const gdb_byte *writebuf, ULONGEST offset, LONGEST len) graycells@3059: { graycells@3059: int pid; graycells@3059: - struct siginfo siginfo; graycells@3059: - gdb_byte inf_siginfo[sizeof (struct siginfo)]; graycells@3059: + siginfo_t siginfo; graycells@3059: + gdb_byte inf_siginfo[sizeof (siginfo_t)]; graycells@3059: graycells@3059: gdb_assert (object == TARGET_OBJECT_SIGNAL_INFO); graycells@3059: gdb_assert (readbuf || writebuf); graycells@3059: @@ -5266,7 +5266,7 @@ linux_nat_set_new_thread (struct target_ops *t, graycells@3059: inferior. */ graycells@3059: void graycells@3059: linux_nat_set_siginfo_fixup (struct target_ops *t, graycells@3059: - int (*siginfo_fixup) (struct siginfo *, graycells@3059: + int (*siginfo_fixup) (siginfo_t *, graycells@3059: gdb_byte *, graycells@3059: int)) graycells@3059: { graycells@3059: @@ -5285,7 +5285,7 @@ linux_nat_set_prepare_to_resume (struct target_ops *t, graycells@3059: } graycells@3059: graycells@3059: /* Return the saved siginfo associated with PTID. */ graycells@3059: -struct siginfo * graycells@3059: +siginfo_t * graycells@3059: linux_nat_get_siginfo (ptid_t ptid) graycells@3059: { graycells@3059: struct lwp_info *lp = find_lwp_pid (ptid); graycells@3059: diff --git a/gdb/linux-nat.h b/gdb/linux-nat.h graycells@3059: index c9878d9..d87f0cf 100644 graycells@3059: --- a/gdb/linux-nat.h graycells@3059: +++ b/gdb/linux-nat.h graycells@3059: @@ -78,7 +78,7 @@ struct lwp_info graycells@3059: graycells@3059: /* Non-zero si_signo if this LWP stopped with a trap. si_addr may graycells@3059: be the address of a hardware watchpoint. */ graycells@3059: - struct siginfo siginfo; graycells@3059: + siginfo_t siginfo; graycells@3059: graycells@3059: /* STOPPED_BY_WATCHPOINT is non-zero if this LWP stopped with a data graycells@3059: watchpoint trap. */ graycells@3059: @@ -184,7 +184,7 @@ void linux_nat_set_new_thread (struct target_ops *, void (*) (struct lwp_info *) graycells@3059: that ptrace returns, and the layout in the architecture of the graycells@3059: inferior. */ graycells@3059: void linux_nat_set_siginfo_fixup (struct target_ops *, graycells@3059: - int (*) (struct siginfo *, graycells@3059: + int (*) (siginfo_t *, graycells@3059: gdb_byte *, graycells@3059: int)); graycells@3059: graycells@3059: @@ -198,7 +198,7 @@ void linux_nat_set_prepare_to_resume (struct target_ops *, graycells@3059: void linux_nat_switch_fork (ptid_t new_ptid); graycells@3059: graycells@3059: /* Return the saved siginfo associated with PTID. */ graycells@3059: -struct siginfo *linux_nat_get_siginfo (ptid_t ptid); graycells@3059: +siginfo_t *linux_nat_get_siginfo (ptid_t ptid); graycells@3059: graycells@3059: /* Compute and return the processor core of a given thread. */ graycells@3059: int linux_nat_core_of_thread_1 (ptid_t ptid); graycells@3059: diff --git a/gdb/ppc-linux-nat.c b/gdb/ppc-linux-nat.c graycells@3059: index 1bd157b..9bd11fd 100644 graycells@3059: --- a/gdb/ppc-linux-nat.c graycells@3059: +++ b/gdb/ppc-linux-nat.c graycells@3059: @@ -2218,7 +2218,7 @@ ppc_linux_thread_exit (struct thread_info *tp, int silent) graycells@3059: static int graycells@3059: ppc_linux_stopped_data_address (struct target_ops *target, CORE_ADDR *addr_p) graycells@3059: { graycells@3059: - struct siginfo *siginfo_p; graycells@3059: + siginfo_t *siginfo_p; graycells@3059: graycells@3059: siginfo_p = linux_nat_get_siginfo (inferior_ptid); graycells@3059: graycells@3059: diff --git a/gdb/procfs.c b/gdb/procfs.c graycells@3059: index 903621d..cb4bc7c 100644 graycells@3059: --- a/gdb/procfs.c graycells@3059: +++ b/gdb/procfs.c graycells@3059: @@ -266,7 +266,7 @@ typedef struct sigaction gdb_sigaction_t; graycells@3059: #ifdef HAVE_PR_SIGINFO64_T graycells@3059: typedef pr_siginfo64_t gdb_siginfo_t; graycells@3059: #else graycells@3059: -typedef struct siginfo gdb_siginfo_t; graycells@3059: +typedef siginfo_t gdb_siginfo_t; graycells@3059: #endif graycells@3059: graycells@3059: /* On mips-irix, praddset and prdelset are defined in such a way that graycells@3059: -- graycells@3059: 1.7.9.7 graycells@3059: