diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/ia64')
-rw-r--r-- | sysdeps/unix/sysv/linux/ia64/Makefile | 6 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/ia64/bits/procfs.h | 5 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h | 9 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/ia64/bits/types/__ia64_fpreg.h | 22 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/ia64/bits/ucontext.h (renamed from sysdeps/unix/sysv/linux/ia64/sys/ucontext.h) | 18 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/ia64/sys/ptrace.h | 3 |
7 files changed, 34 insertions, 31 deletions
diff --git a/sysdeps/unix/sysv/linux/ia64/Makefile b/sysdeps/unix/sysv/linux/ia64/Makefile index 97fc7df0b1..36240a6057 100644 --- a/sysdeps/unix/sysv/linux/ia64/Makefile +++ b/sysdeps/unix/sysv/linux/ia64/Makefile @@ -1,5 +1,5 @@ -ifeq ($(subdir),misc) -sysdep_headers += sys/rse.h +ifeq ($(subdir),signal) +sysdep_headers += bits/types/__ia64_fpreg.h endif ifeq ($(subdir),stdlib) @@ -8,7 +8,7 @@ gen-as-const-headers += sigcontext-offsets.sym endif ifeq ($(subdir),misc) -sysdep_headers += sys/io.h +sysdep_headers += sys/io.h sys/rse.h sysdep_routines += ioperm clone2 gen-as-const-headers += sigaltstack-offsets.sym endif diff --git a/sysdeps/unix/sysv/linux/ia64/bits/procfs.h b/sysdeps/unix/sysv/linux/ia64/bits/procfs.h index 45d553c16f..8351f2394d 100644 --- a/sysdeps/unix/sysv/linux/ia64/bits/procfs.h +++ b/sysdeps/unix/sysv/linux/ia64/bits/procfs.h @@ -23,10 +23,7 @@ # error "Never include <bits/procfs.h> directly; use <sys/procfs.h> instead." #endif -/* For struct __ia64_fpreg. FIXME: sys/procfs.h should not expose all - of sys/ucontext.h. */ -#include <sys/ucontext.h> -#include <bits/sigcontext.h> +#include <bits/types/__ia64_fpreg.h> /* We really need just 72 but let's leave some headroom... */ #define ELF_NGREG 128 diff --git a/sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h b/sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h index 252eff321c..eac745fc80 100644 --- a/sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h +++ b/sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h @@ -26,17 +26,10 @@ #include <bits/types/size_t.h> #include <bits/types/struct_sigstack.h> #include <bits/types/stack_t.h> +#include <bits/types/__ia64_fpreg.h> #include <bits/sigstack.h> #include <bits/ss_flags.h> -struct __ia64_fpreg - { - union - { - unsigned long bits[2]; - } u; - } __attribute__ ((__aligned__ (16))); - struct sigcontext { unsigned long int sc_flags; /* see manifest constants below */ diff --git a/sysdeps/unix/sysv/linux/ia64/bits/types/__ia64_fpreg.h b/sysdeps/unix/sysv/linux/ia64/bits/types/__ia64_fpreg.h new file mode 100644 index 0000000000..6d69586ab4 --- /dev/null +++ b/sysdeps/unix/sysv/linux/ia64/bits/types/__ia64_fpreg.h @@ -0,0 +1,22 @@ +#ifndef ____ia64_fpreg_defined +#define ____ia64_fpreg_defined + +#include <features.h> + +#ifdef __USE_MISC +# define __ctx(fld) fld +#else +# define __ctx(fld) __ ## fld +#endif + +struct __ia64_fpreg + { + union + { + unsigned long __ctx(bits)[2]; + } __ctx(u); + } __attribute__ ((__aligned__ (16))); + +#undef __ctx + +#endif /* __ia64_fpreg */ diff --git a/sysdeps/unix/sysv/linux/ia64/sys/ucontext.h b/sysdeps/unix/sysv/linux/ia64/bits/ucontext.h index c88e880219..ce1503368d 100644 --- a/sysdeps/unix/sysv/linux/ia64/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/ia64/bits/ucontext.h @@ -15,14 +15,14 @@ License along with the GNU C Library; if not, see <https://www.gnu.org/licenses/>. */ -#ifndef _SYS_UCONTEXT_H -#define _SYS_UCONTEXT_H 1 +#ifndef _BITS_UCONTEXT_H +#define _BITS_UCONTEXT_H 1 #include <features.h> #include <bits/types/sigset_t.h> #include <bits/types/stack_t.h> - +#include <bits/types/__ia64_fpreg.h> #ifdef __USE_MISC # define __ctx(fld) fld @@ -36,14 +36,6 @@ * "ucontext_t" as all the necessary info is inside the former. */ -struct __ia64_fpreg_mcontext - { - union - { - unsigned long __ctx(bits)[2]; - } __ctx(u); - } __attribute__ ((__aligned__ (16))); - typedef struct { unsigned long int __ctx(sc_flags); @@ -63,7 +55,7 @@ typedef struct unsigned long int __ctx(sc_pr); unsigned long int __ctx(sc_br)[8]; unsigned long int __ctx(sc_gr)[32]; - struct __ia64_fpreg_mcontext __ctx(sc_fr)[128]; + struct __ia64_fpreg __ctx(sc_fr)[128]; unsigned long int __ctx(sc_rbs_base); unsigned long int __ctx(sc_loadrs); unsigned long int __ctx(sc_ar25); @@ -103,4 +95,4 @@ ucontext_t; #define uc_stack _u._mc.__ctx(sc_stack) #define uc_link _u._uc._link -#endif /* sys/ucontext.h */ +#endif /* bits/ucontext.h */ diff --git a/sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym b/sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym index ac3e3c8dea..46459f7ad0 100644 --- a/sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym +++ b/sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym @@ -1,5 +1,5 @@ #include <stddef.h> -#include <sys/ucontext.h> +#include <signal.h> -- SC_NAT offsetof (mcontext_t, sc_nat) diff --git a/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h b/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h index b5e2de09ec..260a385e77 100644 --- a/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h +++ b/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h @@ -20,9 +20,8 @@ #define _SYS_PTRACE_H 1 #include <features.h> -#include <sys/ucontext.h> -#include <bits/sigcontext.h> #include <bits/types.h> +#include <bits/ucontext.h> __BEGIN_DECLS |