This addresses a long standing collision between userspace headers and
kernel headers only on ia64 systems. All other types have a __ prefix
in the ptrace headers except these two. Let's finally namespace these.
Verified that at least strace still builds after this change, as well
as after deleting all the struct hacks it has specifically for ia64.
URL: https://sourceware.org/bugzilla/show_bug.cgi?id=762
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
#include <stddef.h>
#include <bits/sigstack.h>
-struct ia64_fpreg
+struct __ia64_fpreg
{
union
{
unsigned long int sc_pr; /* predicate registers */
unsigned long int sc_br[8]; /* branch registers */
unsigned long int sc_gr[32]; /* general registers (static partition) */
- struct ia64_fpreg sc_fr[128]; /* floating-point registers */
+ struct __ia64_fpreg sc_fr[128]; /* floating-point registers */
unsigned long int sc_rbs_base;/* NULL or new base of sighandler's rbs */
unsigned long int sc_loadrs; /* see description above */
unsigned long int sc_ar25; /* cmp8xchg16 uses this */
typedef unsigned long elf_greg_t;
typedef elf_greg_t elf_gregset_t[ELF_NGREG];
-typedef struct ia64_fpreg elf_fpreg_t;
+typedef struct __ia64_fpreg elf_fpreg_t;
typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
typedef elf_greg_t greg_t;
};
/* pt_all_user_regs is used for PTRACE_GETREGS/PTRACE_SETREGS. */
-struct pt_all_user_regs
+struct __pt_all_user_regs
{
unsigned long nat;
unsigned long cr_iip;
unsigned long gr[32];
unsigned long br[8];
unsigned long ar[128];
- struct ia64_fpreg fr[128];
+ struct __ia64_fpreg fr[128];
};
/* Options set using PTRACE_SETOPTIONS. */