From 2272ffc1160687d181efe87c62abbe46a8425ca4 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Sat, 21 Jun 2014 00:58:56 +0000 Subject: Remove ARM __ASSUME_SIGFRAME_V2. This patch removes ARM __ASSUME_SIGFRAME_V2 now that the 2.6.18-and-later signal frame layout can be assumed, renaming the affected functions accordingly now only one version of them is needed in glibc. (sigrestorer.S did not in fact include and it appears that, unlike other such cases, it didn't get the header indirectly, so the v1 functions would have been compiled in even when sigaction.c didn't reference them.) (alpha and hppa also have architecture-specific __ASSUME_* macros that should now be removed: __ASSUME_FDATASYNC and __ASSUME_LWS_CAS respectively. I don't have any plans to do anything on that myself.) Tested on ARM. * sysdeps/unix/sysv/linux/arm/kernel-features.h (__ASSUME_SIGFRAME_V2): Remove macro. * sysdeps/unix/sysv/linux/arm/sigrestorer.S: Update comment. [!__ASSUME_SIGFRAME_V2]: Remove conditional code. (__default_sa_restorer_v2): Rename to __default_sa_restorer. (__default_rt_sa_restorer_v2): Rename to __default_rt_sa_restorer. * sysdeps/unix/sysv/linux/arm/sigaction.c (__default_sa_restorer): Declare as function. Remove conditional macro definitions. (__default_rt_sa_restorer): Likewise. (__default_sa_restorer_v1): Remove declaration. (__default_sa_restorer_v2): Likewise. (__default_rt_sa_restorer_v1): Likewise. (__default_rt_sa_restorer_v2): Likewise. * sysdeps/unix/sysv/linux/arm/Versions (GLIBC_PRIVATE): Remove __default_sa_restorer_v1, __default_rt_sa_restorer_v1, __default_sa_restorer_v2 and __default_rt_sa_restorer_v2. --- sysdeps/unix/sysv/linux/arm/sigrestorer.S | 43 ++++--------------------------- 1 file changed, 5 insertions(+), 38 deletions(-) (limited to 'sysdeps/unix/sysv/linux/arm/sigrestorer.S') diff --git a/sysdeps/unix/sysv/linux/arm/sigrestorer.S b/sysdeps/unix/sysv/linux/arm/sigrestorer.S index 566c04aed0..e1698d34da 100644 --- a/sysdeps/unix/sysv/linux/arm/sigrestorer.S +++ b/sysdeps/unix/sysv/linux/arm/sigrestorer.S @@ -28,10 +28,7 @@ Start the unwind tables at least one instruction before the signal trampoline, because the unwinder will assume we are returning after - a call site. - - Because the signal frame layout changed in 2.6.18, we provide two - copies of these functions with different unwind information. */ + a call site. */ /* Used in ENTRY. */ #undef cfi_startproc @@ -60,58 +57,28 @@ cfi_offset (r14, OFFSET + 14 * 4); \ cfi_offset (r15, OFFSET + 15 * 4) -#ifndef __ASSUME_SIGFRAME_V2 -#define OFFSET 12 - .fnstart - .save {r0-r15} - .pad #OFFSET - nop -ENTRY(__default_sa_restorer_v1) - CFI - mov r7, $SYS_ify(sigreturn) - swi 0x0 - .fnend -END(__default_sa_restorer_v1) -#undef OFFSET -#endif /* __ASSUME_SIGFRAME_V2 */ - #define OFFSET 32 .fnstart .save {r0-r15} .pad #OFFSET nop -ENTRY(__default_sa_restorer_v2) +ENTRY(__default_sa_restorer) CFI mov r7, $SYS_ify(sigreturn) swi 0x0 .fnend -END(__default_sa_restorer_v2) -#undef OFFSET - -#ifndef __ASSUME_SIGFRAME_V2 -#define OFFSET 168 - .fnstart - .save {r0-r15} - .pad #OFFSET - nop -ENTRY(__default_rt_sa_restorer_v1) - CFI - mov r7, $SYS_ify(rt_sigreturn) - swi 0x0 - .fnend -END(__default_rt_sa_restorer_v1) +END(__default_sa_restorer) #undef OFFSET -#endif /* __ASSUME_SIGFRAME_V2 */ #define OFFSET 160 .fnstart .save {r0-r15} .pad #OFFSET nop -ENTRY(__default_rt_sa_restorer_v2) +ENTRY(__default_rt_sa_restorer) CFI mov r7, $SYS_ify(rt_sigreturn) swi 0x0 .fnend -END(__default_rt_sa_restorer_v2) +END(__default_rt_sa_restorer) #undef OFFSET -- cgit 1.4.1