summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/powerpc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2005-12-27 14:48:14 +0000
committerJakub Jelinek <jakub@redhat.com>2005-12-27 14:48:14 +0000
commit64cd3e83c9993f3c1a3c24ea3030a22ccf35e12d (patch)
tree8808fad08bb8677b0e0d2158c65096eae5484767 /sysdeps/unix/sysv/linux/powerpc
parente3173d2c996d8e30dfe44e9bf530881da6df6aaa (diff)
Updated to fedora-glibc-20051227T1426
Diffstat (limited to 'sysdeps/unix/sysv/linux/powerpc')
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/Makefile4
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.h62
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.sym34
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.h75
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.sym50
5 files changed, 88 insertions, 137 deletions
diff --git a/sysdeps/unix/sysv/linux/powerpc/Makefile b/sysdeps/unix/sysv/linux/powerpc/Makefile
index 671370ede0..55d2d0d273 100644
--- a/sysdeps/unix/sysv/linux/powerpc/Makefile
+++ b/sysdeps/unix/sysv/linux/powerpc/Makefile
@@ -2,3 +2,7 @@
ifeq ($(subdir),rt)
librt-routines += rt-sysdep
endif
+
+ifeq ($(subdir),stdlib)
+gen-as-const-headers += ucontext_i.sym
+endif
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.h b/sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.h
deleted file mode 100644
index f65b0ed58c..0000000000
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* Offsets and other constants needed in the *context() function
- implementation.
- Copyright (C) 2002 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#define SIG_BLOCK 0
-#define SIG_SETMASK 2
-
-#define _FRAME_BACKCHAIN 0
-#define _FRAME_LR_SAVE 4
-#define _FRAME_PARM_SAVE1 8
-#define _FRAME_PARM_SAVE2 12
-#define _FRAME_PARM_SAVE3 16
-#define _FRAME_PARM_SAVE4 20
-
-#define _UC_LINK 4
-#define _UC_STACK_SP 8
-#define _UC_STACK_SIZE 16
-#define _UC_REGS_PTR 48
-#define _UC_SIGMASK 52
-#define _UC_REG_SPACE 180
-
-/* offsets within mcontext_t */
-#define _UC_GREGS 0
-#define _UC_FREGS 192
-#define _UC_VREGS 464
-#define _UC_VSCR 976
-#define _UC_VRSAVE 980
-
-/* The registers don't have a fixed offset within ucontext because the
- orginal ucontext only contained the regs pointer. Also with the
- addition of VMX to the register state the mcontext may require
- stronger alignment (16) then the containing ucontext (4). All access
- to register state (pt_regs/mcontext) must be indirect via the regs
- (uc_regs) pointer. This means we can't test the PPC32 mcontext
- register offsets here. */
-
-/* Tests run in stdlib/tst-ucontext-off. */
-#define TESTS \
- TEST (uc_link, _UC_LINK); \
- TEST (uc_stack.ss_sp, _UC_STACK_SP); \
- TEST (uc_stack.ss_size, _UC_STACK_SIZE); \
- TEST (uc_mcontext.regs, _UC_REGS_PTR); \
- TEST (uc_mcontext.uc_regs, _UC_REGS_PTR); \
- TEST (uc_sigmask, _UC_SIGMASK); \
- TEST (uc_reg_space, _UC_REG_SPACE);
-
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.sym b/sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.sym
new file mode 100644
index 0000000000..662c693303
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.sym
@@ -0,0 +1,34 @@
+#include <stddef.h>
+#include <signal.h>
+#include <sys/ucontext.h>
+
+--
+
+SIG_BLOCK
+SIG_SETMASK
+
+-- XXX Do these correspond to some struct?
+_FRAME_BACKCHAIN 0
+_FRAME_LR_SAVE 4
+_FRAME_PARM_SAVE1 8
+_FRAME_PARM_SAVE2 12
+_FRAME_PARM_SAVE3 16
+_FRAME_PARM_SAVE4 20
+
+-- Offsets in ucontext_t.
+#define ucontext(member) offsetof (ucontext_t, member)
+_UC_LINK ucontext (uc_link)
+_UC_STACK_SP ucontext (uc_stack.ss_sp)
+_UC_STACK_SIZE ucontext (uc_stack.ss_size)
+_UC_REGS_PTR ucontext (uc_mcontext.uc_regs)
+_UC_SIGMASK ucontext (uc_sigmask)
+_UC_REG_SPACE ucontext (uc_reg_space)
+
+-- Offsets in mcontext_t.
+#define mcontext(member) offsetof (mcontext_t, member)
+_UC_GREGS mcontext (gregs)
+_UC_FREGS mcontext (fpregs)
+_UC_VREGS mcontext (vrregs)
+_UC_VREGS mcontext (vrregs)
+_UC_VSCR mcontext (vrregs.vscr)
+_UC_VRSAVE mcontext (vrregs.vrsave)
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.h b/sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.h
deleted file mode 100644
index d540cfeaf1..0000000000
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Offsets and other constants needed in the *context() function
- implementation.
- Copyright (C) 2002 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#define SIG_BLOCK 0
-#define SIG_SETMASK 2
-
-/* Offsets of the fields in the powerpc64 ABI stack frame. */
-
-#define FRAME_BACKCHAIN 0
-#define FRAME_CR_SAVE 8
-#define FRAME_LR_SAVE 16
-#define FRAME_COMPILER_DW 24
-#define FRAME_LINKER_DW 32
-#define FRAME_TOC_SAVE 40
-#define FRAME_PARM_SAVE 48
-#define FRAME_PARM1_SAVE 48
-#define FRAME_PARM2_SAVE 56
-#define FRAME_PARM3_SAVE 64
-#define FRAME_PARM4_SAVE 72
-#define FRAME_PARM5_SAVE 80
-#define FRAME_PARM6_SAVE 88
-#define FRAME_PARM7_SAVE 96
-#define FRAME_PARM8_SAVE 104
-#define FRAME_PARM9_SAVE 112
-
-
-/* Offsets of the fields in the ucontext_t structure. */
-
-#define UCONTEXT_LINK 8
-#define UCONTEXT_STACK 16
-#define UCONTEXT_STACK_SP 16
-#define UCONTEXT_STACK_FLAGS 24
-#define UCONTEXT_STACK_SIZE 32
-#define UCONTEXT_SIGMASK 40
-#define UCONTEXT_MCONTEXT 168
-#define SIGCONTEXT_SIGNAL 200
-#define SIGCONTEXT_HANDLER 208
-#define SIGCONTEXT_OLDMASK 216
-#define SIGCONTEXT_PT_REGS 224
-#define SIGCONTEXT_GP_REGS 232
-#define SIGCONTEXT_FP_REGS 616
-#define SIGCONTEXT_V_REGS_PTR 880
-#define SIGCONTEXT_V_RESERVE 888
-
-/* Tests run in stdlib/tst-ucontext-off. */
-#define TESTS \
- TEST (uc_link, UCONTEXT_LINK); \
- TEST (uc_stack.ss_sp, UCONTEXT_STACK_SP); \
- TEST (uc_stack.ss_size, UCONTEXT_STACK_SIZE); \
- TEST (uc_sigmask, UCONTEXT_SIGMASK); \
- TEST (uc_mcontext.signal, SIGCONTEXT_SIGNAL); \
- TEST (uc_mcontext.handler, SIGCONTEXT_HANDLER); \
- TEST (uc_mcontext.oldmask, SIGCONTEXT_OLDMASK); \
- TEST (uc_mcontext.regs, SIGCONTEXT_PT_REGS); \
- TEST (uc_mcontext.gp_regs, SIGCONTEXT_GP_REGS); \
- TEST (uc_mcontext.fp_regs, SIGCONTEXT_FP_REGS); \
- TEST (uc_mcontext.v_regs, SIGCONTEXT_V_REGS_PTR); \
- TEST (uc_mcontext.vmx_reserve, SIGCONTEXT_V_RESERVE);
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.sym b/sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.sym
new file mode 100644
index 0000000000..a35418d9d4
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.sym
@@ -0,0 +1,50 @@
+#include <stddef.h>
+#include <signal.h>
+#include <sys/ucontext.h>
+
+--
+
+SIG_BLOCK
+SIG_SETMASK
+
+
+-- Offsets of the fields in the powerpc64 ABI stack frame.
+-- XXX Do these correspond to some struct?
+
+FRAME_BACKCHAIN 0
+FRAME_CR_SAVE 8
+FRAME_LR_SAVE 16
+FRAME_COMPILER_DW 24
+FRAME_LINKER_DW 32
+FRAME_TOC_SAVE 40
+FRAME_PARM_SAVE 48
+FRAME_PARM1_SAVE 48
+FRAME_PARM2_SAVE 56
+FRAME_PARM3_SAVE 64
+FRAME_PARM4_SAVE 72
+FRAME_PARM5_SAVE 80
+FRAME_PARM6_SAVE 88
+FRAME_PARM7_SAVE 96
+FRAME_PARM8_SAVE 104
+FRAME_PARM9_SAVE 112
+
+
+-- Offsets of the fields in the ucontext_t structure.
+#define ucontext(member) offsetof (ucontext_t, member)
+#define mcontext(member) ucontext (uc_mcontext.member)
+
+UCONTEXT_LINK ucontext (uc_link)
+UCONTEXT_STACK ucontext (uc_stack)
+UCONTEXT_STACK_SP ucontext (uc_stack.ss_sp)
+UCONTEXT_STACK_FLAGS ucontext (uc_stack.ss_flags)
+UCONTEXT_STACK_SIZE ucontext (uc_stack.ss_size)
+UCONTEXT_SIGMASK ucontext (uc_sigmask)
+UCONTEXT_MCONTEXT ucontext (uc_mcontext)
+SIGCONTEXT_SIGNAL mcontext (signal)
+SIGCONTEXT_HANDLER mcontext (handler)
+SIGCONTEXT_OLDMASK mcontext (oldmask)
+SIGCONTEXT_PT_REGS mcontext (regs)
+SIGCONTEXT_GP_REGS mcontext (gp_regs)
+SIGCONTEXT_FP_REGS mcontext (fp_regs)
+SIGCONTEXT_V_REGS_PTR mcontext (v_regs)
+SIGCONTEXT_V_RESERVE mcontext (vmx_reserve)