diff options
author | Baruch Siach <baruch@tkos.co.il> | 2013-11-07 14:38:17 +0200 |
---|---|---|
committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2013-12-20 15:46:49 +0100 |
commit | bda630857e3770dd9db61ade4e15fccbdf53feae (patch) | |
tree | ff5d1994eb99c7775a2aba107dda0c403cfa87ef | |
parent | 7c1650f01179844789b92a90c286a27a7079fefb (diff) |
libc/sysdeps: commonize ret_ERRVAL
* Add a common ret_ERRVAL definition
* Remove ret_ERRVAL from architectures using the common 'ret'
* Add 'undef' to architectures that need a different return instruction
* Add '#include <common/sysdep.h>' to cris and ia64 that were missing it
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
-rw-r--r-- | libc/sysdeps/linux/arm/sysdep.h | 1 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/sysdep.h | 2 | ||||
-rw-r--r-- | libc/sysdeps/linux/cris/sysdep.h | 2 | ||||
-rw-r--r-- | libc/sysdeps/linux/i386/sysdep.h | 2 | ||||
-rw-r--r-- | libc/sysdeps/linux/ia64/sysdep.h | 2 | ||||
-rw-r--r-- | libc/sysdeps/linux/mips/sysdep.h | 2 | ||||
-rw-r--r-- | libc/sysdeps/linux/powerpc/powerpc32/sysdep.h | 1 | ||||
-rw-r--r-- | libc/sysdeps/linux/powerpc/powerpc64/sysdep.h | 1 | ||||
-rw-r--r-- | libc/sysdeps/linux/sh/sysdep.h | 2 | ||||
-rw-r--r-- | libc/sysdeps/linux/x86_64/sysdep.h | 2 | ||||
-rw-r--r-- | libc/sysdeps/linux/xtensa/sysdep.h | 1 |
11 files changed, 8 insertions, 10 deletions
diff --git a/libc/sysdeps/linux/arm/sysdep.h b/libc/sysdeps/linux/arm/sysdep.h index d4a86d3b8..5c751f544 100644 --- a/libc/sysdeps/linux/arm/sysdep.h +++ b/libc/sysdeps/linux/arm/sysdep.h @@ -156,6 +156,7 @@ #define PSEUDO_END_ERRVAL(name) \ END (name) +#undef ret_ERRVAL #define ret_ERRVAL PSEUDO_RET_NOERRNO #if defined NOT_IN_libc diff --git a/libc/sysdeps/linux/common/sysdep.h b/libc/sysdeps/linux/common/sysdep.h index 8e39b5b9a..d7fb31412 100644 --- a/libc/sysdeps/linux/common/sysdep.h +++ b/libc/sysdeps/linux/common/sysdep.h @@ -48,6 +48,8 @@ #define JUMPTARGET(sym) sym #endif +#define ret_ERRVAL ret + /* Macros to generate eh_frame unwind information. */ # ifdef HAVE_ASM_CFI_DIRECTIVES # define cfi_sections(sect...) .cfi_sections sect diff --git a/libc/sysdeps/linux/cris/sysdep.h b/libc/sysdeps/linux/cris/sysdep.h index a03465034..35c02c700 100644 --- a/libc/sysdeps/linux/cris/sysdep.h +++ b/libc/sysdeps/linux/cris/sysdep.h @@ -19,7 +19,7 @@ #ifndef _SYSDEP_H_ #define _SYSDEP_H_ -#include <sys/syscall.h> +#include <common/sysdep.h> #ifndef C_LABEL diff --git a/libc/sysdeps/linux/i386/sysdep.h b/libc/sysdeps/linux/i386/sysdep.h index 7a8d2e234..40088add0 100644 --- a/libc/sysdeps/linux/i386/sysdep.h +++ b/libc/sysdeps/linux/i386/sysdep.h @@ -195,8 +195,6 @@ __x86.get_pc_thunk.reg: \ #define PSEUDO_END_ERRVAL(name) \ END (name) -#define ret_ERRVAL ret - #ifndef __PIC__ # define SYSCALL_ERROR_HANDLER /* Nothing here; code in sysdep.S is used. */ #else diff --git a/libc/sysdeps/linux/ia64/sysdep.h b/libc/sysdeps/linux/ia64/sysdep.h index eacc22b68..3e7e4674a 100644 --- a/libc/sysdeps/linux/ia64/sysdep.h +++ b/libc/sysdeps/linux/ia64/sysdep.h @@ -20,6 +20,7 @@ #ifndef _LINUX_IA64_SYSDEP_H #define _LINUX_IA64_SYSDEP_H 1 +#include <common/sysdep.h> #include <features.h> #include <asm/unistd.h> @@ -169,7 +170,6 @@ #define ret br.ret.sptk.few b0 #define ret_NOERRNO ret -#define ret_ERRVAL ret #endif /* not __ASSEMBLER__ */ diff --git a/libc/sysdeps/linux/mips/sysdep.h b/libc/sysdeps/linux/mips/sysdep.h index 04e0da5ad..6dba1fbf1 100644 --- a/libc/sysdeps/linux/mips/sysdep.h +++ b/libc/sysdeps/linux/mips/sysdep.h @@ -77,8 +77,6 @@ #undef PSEUDO_END_ERRVAL #define PSEUDO_END_ERRVAL(sym) .end sym; .size sym,.-sym -#define ret_ERRVAL ret - #define r0 v0 #define r1 v1 /* The mips move insn is d,s. */ diff --git a/libc/sysdeps/linux/powerpc/powerpc32/sysdep.h b/libc/sysdeps/linux/powerpc/powerpc32/sysdep.h index 6d641dc04..d9a4704c4 100644 --- a/libc/sysdeps/linux/powerpc/powerpc32/sysdep.h +++ b/libc/sysdeps/linux/powerpc/powerpc32/sysdep.h @@ -132,6 +132,7 @@ #define PSEUDO_RET_ERRVAL \ blr +#undef ret_ERRVAL #define ret_ERRVAL PSEUDO_RET_ERRVAL #undef PSEUDO_END_ERRVAL diff --git a/libc/sysdeps/linux/powerpc/powerpc64/sysdep.h b/libc/sysdeps/linux/powerpc/powerpc64/sysdep.h index 701fad87c..902b63bf3 100644 --- a/libc/sysdeps/linux/powerpc/powerpc64/sysdep.h +++ b/libc/sysdeps/linux/powerpc/powerpc64/sysdep.h @@ -227,6 +227,7 @@ LT_LABELSUFFIX(name,_name_end): ; \ #define PSEUDO_RET_ERRVAL \ blr +#undef ret_ERRVAL #define ret_ERRVAL PSEUDO_RET_ERRVAL #undef PSEUDO_END_ERRVAL diff --git a/libc/sysdeps/linux/sh/sysdep.h b/libc/sysdeps/linux/sh/sysdep.h index c6926173c..69bcbe197 100644 --- a/libc/sysdeps/linux/sh/sysdep.h +++ b/libc/sysdeps/linux/sh/sysdep.h @@ -141,8 +141,6 @@ #define PSEUDO_END_ERRVAL(name) \ END (name) -#define ret_ERRVAL ret - #ifndef __PIC__ # define SYSCALL_ERROR_HANDLER \ mov.l 0f,r1; \ diff --git a/libc/sysdeps/linux/x86_64/sysdep.h b/libc/sysdeps/linux/x86_64/sysdep.h index fdf7de147..ed7e26ea7 100644 --- a/libc/sysdeps/linux/x86_64/sysdep.h +++ b/libc/sysdeps/linux/x86_64/sysdep.h @@ -182,8 +182,6 @@ lose: \ # define PSEUDO_END_ERRVAL(name) \ END (name) -# define ret_ERRVAL ret - # ifndef __PIC__ # define SYSCALL_ERROR_HANDLER /* Nothing here; code in sysdep.S is used. */ # elif defined(RTLD_PRIVATE_ERRNO) diff --git a/libc/sysdeps/linux/xtensa/sysdep.h b/libc/sysdeps/linux/xtensa/sysdep.h index 494d40d65..afe95cc6a 100644 --- a/libc/sysdeps/linux/xtensa/sysdep.h +++ b/libc/sysdeps/linux/xtensa/sysdep.h @@ -123,6 +123,7 @@ #define PSEUDO_END_ERRVAL(name) \ END (name) +#undef ret_ERRVAL #define ret_ERRVAL retw #if defined RTLD_PRIVATE_ERRNO |