aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/arm
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2020-01-29 20:38:36 +0000
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2020-02-14 21:12:45 -0300
commitbc2eb9321ec0d17d41596933617b2522c9aa5e0b (patch)
tree772961371ee718659d4a3f556fa5c9470123a2ed /sysdeps/unix/sysv/linux/arm
parentd1aea2805df2d9f5e06f8b508b377a8bc95ba335 (diff)
downloadglibc-bc2eb9321ec0d17d41596933617b2522c9aa5e0b.zip
glibc-bc2eb9321ec0d17d41596933617b2522c9aa5e0b.tar.gz
glibc-bc2eb9321ec0d17d41596933617b2522c9aa5e0b.tar.bz2
linux: Remove INTERNAL_SYSCALL_DECL
With all Linux ABIs using the expected Linux kABI to indicate syscalls errors, the INTERNAL_SYSCALL_DECL is an empty declaration on all ports. This patch removes the 'err' argument on INTERNAL_SYSCALL* macro and remove the INTERNAL_SYSCALL_DECL usage. Checked with a build against all affected ABIs.
Diffstat (limited to 'sysdeps/unix/sysv/linux/arm')
-rw-r--r--sysdeps/unix/sysv/linux/arm/dl-machine.h2
-rw-r--r--sysdeps/unix/sysv/linux/arm/sysdep.h12
-rw-r--r--sysdeps/unix/sysv/linux/arm/tls.h7
3 files changed, 10 insertions, 11 deletions
diff --git a/sysdeps/unix/sysv/linux/arm/dl-machine.h b/sysdeps/unix/sysv/linux/arm/dl-machine.h
index 5fc685f..a307326 100644
--- a/sysdeps/unix/sysv/linux/arm/dl-machine.h
+++ b/sysdeps/unix/sysv/linux/arm/dl-machine.h
@@ -20,7 +20,7 @@
/* This definition is Linux-specific. */
#define CLEAR_CACHE(BEG,END) \
- INTERNAL_SYSCALL (cacheflush, , 3, (BEG), (END), 0)
+ INTERNAL_SYSCALL_CALL (cacheflush, (BEG), (END), 0)
#endif
diff --git a/sysdeps/unix/sysv/linux/arm/sysdep.h b/sysdeps/unix/sysv/linux/arm/sysdep.h
index f6e6b63..e2985cf 100644
--- a/sysdeps/unix/sysv/linux/arm/sysdep.h
+++ b/sysdeps/unix/sysv/linux/arm/sysdep.h
@@ -328,7 +328,7 @@ __local_syscall_error: \
then unwinding will fail higher up the stack. So we move the
syscall out of line and provide its own unwind information. */
# undef INTERNAL_SYSCALL_RAW
-# define INTERNAL_SYSCALL_RAW(name, err, nr, args...) \
+# define INTERNAL_SYSCALL_RAW(name, nr, args...) \
({ \
register int _a1 asm ("a1"); \
int _nametmp = name; \
@@ -341,7 +341,7 @@ __local_syscall_error: \
_a1; })
#else /* ARM */
# undef INTERNAL_SYSCALL_RAW
-# define INTERNAL_SYSCALL_RAW(name, err, nr, args...) \
+# define INTERNAL_SYSCALL_RAW(name, nr, args...) \
({ \
register int _a1 asm ("r0"), _nr asm ("r7"); \
LOAD_ARGS_##nr (args) \
@@ -354,8 +354,8 @@ __local_syscall_error: \
#endif
#undef INTERNAL_SYSCALL
-#define INTERNAL_SYSCALL(name, err, nr, args...) \
- INTERNAL_SYSCALL_RAW(SYS_ify(name), err, nr, args)
+#define INTERNAL_SYSCALL(name, nr, args...) \
+ INTERNAL_SYSCALL_RAW(SYS_ify(name), nr, args)
#define VDSO_NAME "LINUX_2.6"
#define VDSO_HASH 61765110
@@ -407,8 +407,8 @@ __local_syscall_error: \
/* For EABI, non-constant syscalls are actually pretty easy... */
#undef INTERNAL_SYSCALL_NCS
-#define INTERNAL_SYSCALL_NCS(number, err, nr, args...) \
- INTERNAL_SYSCALL_RAW (number, err, nr, args)
+#define INTERNAL_SYSCALL_NCS(number, nr, args...) \
+ INTERNAL_SYSCALL_RAW (number, nr, args)
#define SINGLE_THREAD_BY_GLOBAL 1
diff --git a/sysdeps/unix/sysv/linux/arm/tls.h b/sysdeps/unix/sysv/linux/arm/tls.h
index 18afe24..1b520c6 100644
--- a/sysdeps/unix/sysv/linux/arm/tls.h
+++ b/sysdeps/unix/sysv/linux/arm/tls.h
@@ -31,10 +31,9 @@
special attention since 'errno' is not yet available and if the
operation can cause a failure 'errno' must not be touched. */
# define TLS_INIT_TP(tcbp) \
- ({ INTERNAL_SYSCALL_DECL (err); \
- long int result_var; \
- result_var = INTERNAL_SYSCALL (set_tls, err, 1, (tcbp)); \
- INTERNAL_SYSCALL_ERROR_P (result_var, err) \
+ ({ long int result_var; \
+ result_var = INTERNAL_SYSCALL_CALL (set_tls, 1, (tcbp)); \
+ INTERNAL_SYSCALL_ERROR_P (result_var) \
? "unknown error" : NULL; })
#endif /* __ASSEMBLER__ */