This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.23-571-g4f69cc4
- From: vapier at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 19 Jul 2016 16:12:37 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.23-571-g4f69cc4
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 4f69cc45bcbed1619b15c9632f3eb6a36590c7dd (commit)
from 2c3d888304642a2241a84491eeac9344be507ea4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=4f69cc45bcbed1619b15c9632f3eb6a36590c7dd
commit 4f69cc45bcbed1619b15c9632f3eb6a36590c7dd
Author: Mike Frysinger <vapier@gentoo.org>
Date: Tue Jul 19 21:39:36 2016 +0530
microblaze: fix variable name collision with syscall macros
If a function passes in a variable named "ret", the code will miscompile
when it declares a local ret variable. In some cases, it's even a build
failure like so:
../sysdeps/unix/sysv/linux/spawni.c: In function '__spawni_child':
../sysdeps/unix/sysv/linux/spawni.c:289:5: error: address of register variable 'ret' requested
while (write_not_cancel (p, &ret, sizeof ret) < 0)
diff --git a/ChangeLog b/ChangeLog
index 639630f..a293999 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2016-07-19 Mike Frysinger <vapier@gentoo.org>
+
+ * sysdeps/unix/sysv/linux/microblaze/sysdep.h (inline_syscall0):
+ Rename "ret" to "__ret".
+ (inline_syscall1, inline_syscall2, inline_syscall3, inline_syscall4,
+ inline_syscall5, inline_syscall6): Likewise.
+
2016-07-19 Will Newton <will.newton@gmail.com>
* elf/elf.h (R_METAG_REL8, R_METAG_REL16, R_METAG_TLS_GD
diff --git a/sysdeps/unix/sysv/linux/microblaze/sysdep.h b/sysdeps/unix/sysv/linux/microblaze/sysdep.h
index abc13c2..b83c436 100644
--- a/sysdeps/unix/sysv/linux/microblaze/sysdep.h
+++ b/sysdeps/unix/sysv/linux/microblaze/sysdep.h
@@ -209,70 +209,70 @@ SYSCALL_ERROR_LABEL_DCL: \
# define inline_syscall0(name,dummy) \
({ \
- register long ret __asm__("r3"); \
+ register long __ret __asm__("r3"); \
register long __r12 __asm__("r12") = name; \
__asm__ __volatile__( "brki r14,8; nop;" \
- : "=r"(ret) \
+ : "=r"(__ret) \
: "r"(__r12) \
- : SYSCALL_CLOBBERS_0 ); ret; \
+ : SYSCALL_CLOBBERS_0 ); __ret; \
})
# define inline_syscall1(name,arg1) \
({ \
- register long ret __asm__("r3"); \
+ register long __ret __asm__("r3"); \
register long __r12 __asm__("r12") = name; \
register long __r5 __asm__("r5") = (long)(arg1); \
__asm__ __volatile__( "brki r14,8; nop;" \
- : "=r"(ret) \
+ : "=r"(__ret) \
: "r"(__r5), "r"(__r12) \
- : SYSCALL_CLOBBERS_1 ); ret; \
+ : SYSCALL_CLOBBERS_1 ); __ret; \
})
# define inline_syscall2(name,arg1,arg2) \
({ \
- register long ret __asm__("r3"); \
+ register long __ret __asm__("r3"); \
register long __r12 __asm__("r12") = name; \
register long __r5 __asm__("r5") = (long)(arg1); \
register long __r6 __asm__("r6") = (long)(arg2); \
__asm__ __volatile__( "brki r14,8; nop;" \
- : "=r"(ret) \
+ : "=r"(__ret) \
: "r"(__r5), "r"(__r6), "r"(__r12) \
- : SYSCALL_CLOBBERS_2 ); ret; \
+ : SYSCALL_CLOBBERS_2 ); __ret; \
})
# define inline_syscall3(name,arg1,arg2,arg3) \
({ \
- register long ret __asm__("r3"); \
+ register long __ret __asm__("r3"); \
register long __r12 __asm__("r12") = name; \
register long __r5 __asm__("r5") = (long)(arg1); \
register long __r6 __asm__("r6") = (long)(arg2); \
register long __r7 __asm__("r7") = (long)(arg3); \
__asm__ __volatile__( "brki r14,8; nop;" \
- : "=r"(ret) \
+ : "=r"(__ret) \
: "r"(__r5), "r"(__r6), "r"(__r7), "r"(__r12) \
- : SYSCALL_CLOBBERS_3 ); ret; \
+ : SYSCALL_CLOBBERS_3 ); __ret; \
})
# define inline_syscall4(name,arg1,arg2,arg3,arg4) \
({ \
- register long ret __asm__("r3"); \
+ register long __ret __asm__("r3"); \
register long __r12 __asm__("r12") = name; \
register long __r5 __asm__("r5") = (long)(arg1); \
register long __r6 __asm__("r6") = (long)(arg2); \
register long __r7 __asm__("r7") = (long)(arg3); \
register long __r8 __asm__("r8") = (long)(arg4); \
__asm__ __volatile__( "brki r14,8; nop;" \
- : "=r"(ret) \
+ : "=r"(__ret) \
: "r"(__r5), "r"(__r6), "r"(__r7), "r"(__r8),"r"(__r12) \
- : SYSCALL_CLOBBERS_4 ); ret; \
+ : SYSCALL_CLOBBERS_4 ); __ret; \
})
# define inline_syscall5(name,arg1,arg2,arg3,arg4,arg5) \
({ \
- register long ret __asm__("r3"); \
+ register long __ret __asm__("r3"); \
register long __r12 __asm__("r12") = name; \
register long __r5 __asm__("r5") = (long)(arg1); \
register long __r6 __asm__("r6") = (long)(arg2); \
@@ -280,15 +280,15 @@ SYSCALL_ERROR_LABEL_DCL: \
register long __r8 __asm__("r8") = (long)(arg4); \
register long __r9 __asm__("r9") = (long)(arg5); \
__asm__ __volatile__( "brki r14,8; nop;" \
- : "=r"(ret) \
+ : "=r"(__ret) \
: "r"(__r5), "r"(__r6), "r"(__r7), "r"(__r8),"r"(__r9), "r"(__r12) \
- : SYSCALL_CLOBBERS_5 ); ret; \
+ : SYSCALL_CLOBBERS_5 ); __ret; \
})
# define inline_syscall6(name,arg1,arg2,arg3,arg4,arg5,arg6) \
({ \
- register long ret __asm__("r3"); \
+ register long __ret __asm__("r3"); \
register long __r12 __asm__("r12") = name; \
register long __r5 __asm__("r5") = (long)(arg1); \
register long __r6 __asm__("r6") = (long)(arg2); \
@@ -297,10 +297,10 @@ SYSCALL_ERROR_LABEL_DCL: \
register long __r9 __asm__("r9") = (long)(arg5); \
register long __r10 __asm__("r10") = (long)(arg6); \
__asm__ __volatile__( "brki r14,8; nop;" \
- : "=r"(ret) \
+ : "=r"(__ret) \
: "r"(__r5), "r"(__r6), "r"(__r7), "r"(__r8),"r"(__r9), "r"(__r10), \
"r"(__r12) \
- : SYSCALL_CLOBBERS_6 ); ret; \
+ : SYSCALL_CLOBBERS_6 ); __ret; \
})
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 7 ++++
sysdeps/unix/sysv/linux/microblaze/sysdep.h | 42 +++++++++++++-------------
2 files changed, 28 insertions(+), 21 deletions(-)
hooks/post-receive
--
GNU C Library master sources