diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2020-01-29 17:36:58 +0000 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2020-02-14 21:09:12 -0300 |
commit | fcb78a55058fd4e3477d9e4c6a5083d650aefa31 (patch) | |
tree | 888c34d043ee64bc43da8e8fca7d61966cb22df6 /sysdeps/unix/sysv/linux/m68k | |
parent | 9a973da617772eff1f351989f8995f4305a2e63c (diff) | |
download | glibc-fcb78a55058fd4e3477d9e4c6a5083d650aefa31.tar.gz glibc-fcb78a55058fd4e3477d9e4c6a5083d650aefa31.tar.xz glibc-fcb78a55058fd4e3477d9e4c6a5083d650aefa31.zip |
linux: Consolidate INLINE_SYSCALL
With all Linux ABIs using the expected Linux kABI to indicate syscalls errors, there is no need to replicate the INLINE_SYSCALL. The generic Linux sysdep.h includes errno.h even for !__ASSEMBLER__, which is ok now and it allows cleanup some archaic code that assume otherwise. Checked with a build against all affected ABIs.
Diffstat (limited to 'sysdeps/unix/sysv/linux/m68k')
-rw-r--r-- | sysdeps/unix/sysv/linux/m68k/sysdep.h | 23 |
1 files changed, 1 insertions, 22 deletions
diff --git a/sysdeps/unix/sysv/linux/m68k/sysdep.h b/sysdeps/unix/sysv/linux/m68k/sysdep.h index 5cd35fffcf..e3d87be18b 100644 --- a/sysdeps/unix/sysv/linux/m68k/sysdep.h +++ b/sysdeps/unix/sysv/linux/m68k/sysdep.h @@ -44,6 +44,7 @@ /* We don't want the label for the error handler to be visible in the symbol table when we define it here. */ +#undef SYSCALL_ERROR_LABEL #ifdef PIC #define SYSCALL_ERROR_LABEL .Lsyscall_error #else @@ -221,21 +222,6 @@ SYSCALL_ERROR_LABEL: \ #else /* not __ASSEMBLER__ */ -/* Define a macro which expands into the inline wrapper code for a system - call. */ -#undef INLINE_SYSCALL -#define INLINE_SYSCALL(name, nr, args...) \ - ({ unsigned int _sys_result = INTERNAL_SYSCALL (name, , nr, args); \ - if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (_sys_result, ), 0))\ - { \ - __set_errno (INTERNAL_SYSCALL_ERRNO (_sys_result, )); \ - _sys_result = (unsigned int) -1; \ - } \ - (int) _sys_result; }) - -#undef INTERNAL_SYSCALL_DECL -#define INTERNAL_SYSCALL_DECL(err) do { } while (0) - /* Define a macro which expands inline into the wrapper code for a system call. This use is for internal calls that do not need to handle errors normally. It will never touch errno. This returns just what the kernel @@ -260,13 +246,6 @@ SYSCALL_ERROR_LABEL: \ #define INTERNAL_SYSCALL(name, err, nr, args...) \ INTERNAL_SYSCALL_NCS (__NR_##name, err, nr, ##args) -#undef INTERNAL_SYSCALL_ERROR_P -#define INTERNAL_SYSCALL_ERROR_P(val, err) \ - ((unsigned int) (val) >= -4095U) - -#undef INTERNAL_SYSCALL_ERRNO -#define INTERNAL_SYSCALL_ERRNO(val, err) (-(val)) - #define LOAD_ARGS_0() #define LOAD_REGS_0 #define ASM_ARGS_0 |