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 <signal.h>.
	(struct siginfo): Remove forward declaration.
	(struct linux_target_ops) <siginfo_fixup>: Use siginfo_t instead of
	struct siginfo.
This commit is contained in:
Thomas Schwinge 2012-03-21 13:43:55 +00:00
parent 09c7a31ff5
commit a5362b9aa4
13 changed files with 53 additions and 28 deletions

View File

@ -1,3 +1,18 @@
2012-03-21 Thomas Schwinge <thomas@codesourcery.com>
* 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.
2012-03-21 Mike Frysinger <vapier@gentoo.org>
* .gitignore: Ignore more files.

View File

@ -731,13 +731,13 @@ siginfo_from_compat_siginfo (siginfo_t *to, compat_siginfo_t *from)
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);

View File

@ -1137,7 +1137,7 @@ arm_linux_remove_watchpoint (CORE_ADDR addr, int len, int rw,
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. */

View File

@ -1,3 +1,14 @@
2012-03-21 Thomas Schwinge <thomas@codesourcery.com>
* 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 <signal.h>.
(struct siginfo): Remove forward declaration.
(struct linux_target_ops) <siginfo_fixup>: Use siginfo_t instead of
struct siginfo.
2012-03-21 Mike Frysinger <vapier@gentoo.org>
* .gitignore: Ignore more files.

View File

@ -631,7 +631,7 @@ static int
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)

View File

@ -4779,7 +4779,7 @@ linux_qxfer_osdata (const char *annex,
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;
@ -4791,9 +4791,9 @@ siginfo_fixup (struct siginfo *siginfo, void *inf_siginfo, int direction)
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));
}
}
@ -4802,8 +4802,8 @@ linux_xfer_siginfo (const char *annex, unsigned char *readbuf,
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;

View File

@ -20,6 +20,7 @@
#ifdef HAVE_THREAD_DB_H
#include <thread_db.h>
#endif
#include <signal.h>
#include "gdb_proc_service.h"
@ -46,8 +47,6 @@ struct regset_info
extern struct regset_info target_regsets[];
#endif
struct siginfo;
struct process_info_private
{
/* Arch-specific additions. */
@ -109,7 +108,7 @@ struct linux_target_ops
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,

View File

@ -918,13 +918,13 @@ siginfo_from_compat_siginfo (siginfo_t *to, compat_siginfo_t *from)
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)

View File

@ -637,7 +637,7 @@ static int
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);

View File

@ -188,7 +188,7 @@ static void (*linux_nat_prepare_to_resume) (struct lwp_info *);
/* 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);
@ -4232,7 +4232,7 @@ linux_nat_mourn_inferior (struct target_ops *ops)
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;
@ -4244,9 +4244,9 @@ siginfo_fixup (struct siginfo *siginfo, gdb_byte *inf_siginfo, int direction)
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));
}
}
@ -4256,8 +4256,8 @@ linux_xfer_siginfo (struct target_ops *ops, enum target_object object,
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);
@ -5266,7 +5266,7 @@ linux_nat_set_new_thread (struct target_ops *t,
inferior. */
void
linux_nat_set_siginfo_fixup (struct target_ops *t,
int (*siginfo_fixup) (struct siginfo *,
int (*siginfo_fixup) (siginfo_t *,
gdb_byte *,
int))
{
@ -5285,7 +5285,7 @@ linux_nat_set_prepare_to_resume (struct target_ops *t,
}
/* 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);

View File

@ -78,7 +78,7 @@ struct lwp_info
/* 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. */
@ -184,7 +184,7 @@ void linux_nat_set_new_thread (struct target_ops *, void (*) (struct lwp_info *)
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));
@ -198,7 +198,7 @@ void linux_nat_set_prepare_to_resume (struct target_ops *,
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);
/* Set alternative SIGTRAP-like events recognizer. */
void linux_nat_set_status_is_event (struct target_ops *t,

View File

@ -2218,7 +2218,7 @@ ppc_linux_thread_exit (struct thread_info *tp, int silent)
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);

View File

@ -266,7 +266,7 @@ typedef struct sigaction gdb_sigaction_t;
#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