Replace hard-coded offsets into struct sigcontext with generated file.
authorRoland McGrath <roland@gnu.org>
Mon, 2 Jun 2003 19:56:35 +0000 (19:56 +0000)
committerRoland McGrath <roland@gnu.org>
Mon, 2 Jun 2003 19:56:35 +0000 (19:56 +0000)
* sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym: New file.
* sysdeps/unix/sysv/linux/ia64/Makefile
[$(subdir) = stdlib] (gen-as-const-headers): Add it.
* sysdeps/unix/sysv/linux/ia64/ucontext_i.h: Include it instead of
defining SC_* macros here.

ChangeLog
sysdeps/unix/sysv/linux/ia64/Makefile
sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym [new file with mode: 0644]
sysdeps/unix/sysv/linux/ia64/ucontext_i.h

index 068eb8e..1c00428 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2003-06-02  Richard C. Bilson  <rcbilson@plg.uwaterloo.ca>
+
+       Replace hard-coded offsets into struct sigcontext with generated file.
+       * sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym: New file.
+       * sysdeps/unix/sysv/linux/ia64/Makefile
+       [$(subdir) = stdlib] (gen-as-const-headers): Add it.
+       * sysdeps/unix/sysv/linux/ia64/ucontext_i.h: Include it instead of
+       defining SC_* macros here.
+
 2003-06-02  Jakub Jelinek  <jakub@redhat.com>
 
        * sysdeps/unix/sysv/linux/bits/sched.h (CLONE_PID): Remove.
index 4c1e6f2..6ede14a 100644 (file)
@@ -4,6 +4,7 @@ endif
 
 ifeq ($(subdir),stdlib)
 sysdep_routines += __start_context
+gen-as-const-headers += sigcontext-offsets.sym
 endif
 
 ifeq ($(subdir),misc)
diff --git a/sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym b/sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym
new file mode 100644 (file)
index 0000000..943e68a
--- /dev/null
@@ -0,0 +1,16 @@
+#include <stddef.h>
+#include <sys/ucontext.h>
+
+--
+SC_NAT         offsetof (struct sigcontext, sc_nat)
+SC_BSP         offsetof (struct sigcontext, sc_ar_bsp)
+SC_RNAT                offsetof (struct sigcontext, sc_ar_rnat)
+SC_UNAT                offsetof (struct sigcontext, sc_ar_unat)
+SC_FPSR                offsetof (struct sigcontext, sc_ar_fpsr)
+SC_PFS         offsetof (struct sigcontext, sc_ar_pfs)
+SC_LC          offsetof (struct sigcontext, sc_ar_lc)
+SC_PR          offsetof (struct sigcontext, sc_pr)
+SC_BR          offsetof (struct sigcontext, sc_br)
+SC_GR          offsetof (struct sigcontext, sc_gr)
+SC_FR          offsetof (struct sigcontext, sc_fr)
+SC_MASK                offsetof (struct sigcontext, sc_mask)
index 2d544a7..e2a4d3c 100644 (file)
 #define SIG_UNBLOCK    1
 #define SIG_SETMASK    2
 
-#define SC_NAT 0x008
-#define SC_BSP 0x048
-#define SC_RNAT        0x050
-#define SC_UNAT        0x060
-#define SC_FPSR        0x068
-#define SC_PFS 0x070
-#define SC_LC  0x078
-#define SC_PR  0x080
-#define SC_BR  0x088
-#define SC_GR  0x0c8
-#define SC_FR  0x1d0
-#define SC_MASK        0xa50
-
+#include <sigcontext-offsets.h>
 
 #define rTMP   r16
 #define rPOS   r16