]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Use better variable names in MIPS syscall macros.
authorJoseph Myers <joseph@codesourcery.com>
Tue, 2 Jun 2015 20:38:49 +0000 (20:38 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Tue, 2 Jun 2015 20:38:49 +0000 (20:38 +0000)
Carlos noted in
<https://sourceware.org/ml/libc-alpha/2015-05/msg00680.html> that
various ports use potentially problematic short variables names in
their syscall macros, which could shadow variables with the same name
from containing scopes.

This patch fixes variables called err and ret in MIPS macros.  (I left
result_var and _sys_result - separate variables in different macros,
which need separate names - alone.)

Tested for mips64 (all three ABIs) that installed stripped shared
libraries are unchanged by this patch.

* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h (INLINE_SYSCALL):
Use variable name _sc_err instead of err.
[__mips16] (INTERNAL_SYSCALL_NCS): Use variable name _sc_ret
instead of ret.
* sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h
(INLINE_SYSCALL): Use variable name _sc_err instead of err.
* sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h
(INLINE_SYSCALL): Likewise.

ChangeLog
sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h
sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h

index 1c67d9977eb06427654ca33846d9a0c2506642ae..8abe7b1dd9f93e7293b8e8bedfd00dbb95ab43b9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2015-06-02  Joseph Myers  <joseph@codesourcery.com>
 
+       * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h (INLINE_SYSCALL):
+       Use variable name _sc_err instead of err.
+       [__mips16] (INTERNAL_SYSCALL_NCS): Use variable name _sc_ret
+       instead of ret.
+       * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h
+       (INLINE_SYSCALL): Use variable name _sc_err instead of err.
+       * sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h
+       (INLINE_SYSCALL): Likewise.
+
        * string/strnlen.c [!STRNLEN] (__strnlen): Use libc_hidden_def.
        * include/string.h (__strnlen): Use libc_hidden_proto.
        * sysdeps/aarch64/strnlen.S (__strnlen): Use libc_hidden_def.
index e5025bad5bda6ab7059597aa9026f5896fa47be2..a2aa38ddd72912ad6c36d4db70a4735fb25fe91a 100644 (file)
    call.  */
 #undef INLINE_SYSCALL
 #define INLINE_SYSCALL(name, nr, args...)                               \
-  ({ INTERNAL_SYSCALL_DECL(err);                                       \
-     long result_var = INTERNAL_SYSCALL (name, err, nr, args);         \
-     if ( INTERNAL_SYSCALL_ERROR_P (result_var, err) )                 \
+  ({ INTERNAL_SYSCALL_DECL (_sc_err);                                  \
+     long result_var = INTERNAL_SYSCALL (name, _sc_err, nr, args);     \
+     if ( INTERNAL_SYSCALL_ERROR_P (result_var, _sc_err) )             \
        {                                                               \
-        __set_errno (INTERNAL_SYSCALL_ERRNO (result_var, err));        \
+        __set_errno (INTERNAL_SYSCALL_ERRNO (result_var, _sc_err));    \
         result_var = -1L;                                              \
        }                                                               \
      result_var; })
 
 # define INTERNAL_SYSCALL_NCS(number, err, nr, args...)                        \
 ({                                                                     \
-       union __mips16_syscall_return ret;                              \
-       ret.val = __mips16_syscall##nr (args, number);                  \
-       err = ret.reg.v1;                                               \
-       ret.reg.v0;                                                     \
+       union __mips16_syscall_return _sc_ret;                          \
+       _sc_ret.val = __mips16_syscall##nr (args, number);              \
+       err = _sc_ret.reg.v1;                                           \
+       _sc_ret.reg.v0;                                                 \
 })
 
 # define INTERNAL_SYSCALL_MIPS16(number, err, nr, args...)             \
index ac663bc1f23c6b941174b03730f0c89ff7001025..4c28af6c3e332bec7c45440a1cc179d58ef00694 100644 (file)
    call.  */
 #undef INLINE_SYSCALL
 #define INLINE_SYSCALL(name, nr, args...)                              \
-  ({ INTERNAL_SYSCALL_DECL(err);                                       \
-     long result_var = INTERNAL_SYSCALL (name, err, nr, args);         \
-     if ( INTERNAL_SYSCALL_ERROR_P (result_var, err) )                 \
+  ({ INTERNAL_SYSCALL_DECL (_sc_err);                                  \
+     long result_var = INTERNAL_SYSCALL (name, _sc_err, nr, args);     \
+     if ( INTERNAL_SYSCALL_ERROR_P (result_var, _sc_err) )             \
        {                                                               \
-        __set_errno (INTERNAL_SYSCALL_ERRNO (result_var, err));        \
+        __set_errno (INTERNAL_SYSCALL_ERRNO (result_var, _sc_err));    \
         result_var = -1L;                                              \
        }                                                               \
      result_var; })
index 312f21007d473ec3f9e7db9a1bb3906fa8c61b39..1fc038c27f70268b4b8e05896f3aace3cecebb9c 100644 (file)
    call.  */
 #undef INLINE_SYSCALL
 #define INLINE_SYSCALL(name, nr, args...)                              \
-  ({ INTERNAL_SYSCALL_DECL(err);                                       \
-     long result_var = INTERNAL_SYSCALL (name, err, nr, args);         \
-     if ( INTERNAL_SYSCALL_ERROR_P (result_var, err) )                 \
+  ({ INTERNAL_SYSCALL_DECL (_sc_err);                                  \
+     long result_var = INTERNAL_SYSCALL (name, _sc_err, nr, args);     \
+     if ( INTERNAL_SYSCALL_ERROR_P (result_var, _sc_err) )             \
        {                                                               \
-        __set_errno (INTERNAL_SYSCALL_ERRNO (result_var, err));        \
+        __set_errno (INTERNAL_SYSCALL_ERRNO (result_var, _sc_err));    \
         result_var = -1L;                                              \
        }                                                               \
      result_var; })