aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--sysdeps/unix/sysv/linux/tile/sysdep.h29
2 files changed, 21 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog
index 7fcd403..4a38a05 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2015-05-26 Chris Metcalf <cmetcalf@ezchip.com>
+
+ * sysdeps/unix/sysv/linux/tile/sysdep.h (INLINE_SYSCALL):
+ Avoid using variables in #defines that might cause shadowing.
+ (INTERNAL_VSYSCALL_CALL): Likewise.
+
2015-05-26 Roland McGrath <roland@hack.frob.com>
* sysdeps/nacl/lll_timedlock_wait.c: New file.
diff --git a/sysdeps/unix/sysv/linux/tile/sysdep.h b/sysdeps/unix/sysv/linux/tile/sysdep.h
index 1f4122c..6b30b2f 100644
--- a/sysdeps/unix/sysv/linux/tile/sysdep.h
+++ b/sysdeps/unix/sysv/linux/tile/sysdep.h
@@ -78,16 +78,17 @@
/* Define a macro which expands inline into the wrapper code for a system
call. */
# undef INLINE_SYSCALL
-# define INLINE_SYSCALL(name, nr, args...) \
+# define INLINE_SYSCALL(name, nr, args...) \
({ \
- INTERNAL_SYSCALL_DECL (err); \
- unsigned long val = INTERNAL_SYSCALL (name, err, nr, args); \
- if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (val, err), 0)) \
- { \
- __set_errno (INTERNAL_SYSCALL_ERRNO (val, err)); \
- val = -1; \
- } \
- (long) val; })
+ INTERNAL_SYSCALL_DECL (_sc_err); \
+ unsigned long _sc_val = INTERNAL_SYSCALL (name, _sc_err, nr, args); \
+ if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (_sc_val, _sc_err), 0)) \
+ { \
+ __set_errno (INTERNAL_SYSCALL_ERRNO (_sc_val, _sc_err)); \
+ _sc_val = -1; \
+ } \
+ (long) _sc_val; \
+ })
#undef INTERNAL_SYSCALL
#define INTERNAL_SYSCALL(name, err, nr, args...) \
@@ -203,11 +204,11 @@
"=R05" (_clobber_r5), "=R10" (_clobber_r10)
-#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...) \
- ({ \
- struct syscall_return_value rv = funcptr (args); \
- err = rv.error; \
- rv.value; \
+#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...) \
+ ({ \
+ struct syscall_return_value _sc_rv = funcptr (args); \
+ err = _sc_rv.error; \
+ _sc_rv.value; \
})
/* List of system calls which are supported as vsyscalls. */