aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog11
-rw-r--r--sysdeps/unix/make-syscalls.sh6
-rw-r--r--sysdeps/unix/syscall-template.S5
-rw-r--r--sysdeps/unix/sysv/linux/syscalls.list6
4 files changed, 21 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 5b1226a..2ec139f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
2015-06-17 Joseph Myers <joseph@codesourcery.com>
+ * sysdeps/unix/make-syscalls.sh (emit_weak_aliases): Use
+ hidden_def and hidden_weak instead of libc_hidden_def and
+ libc_hidden_weak.
+ (top level): Refer to hidden_def in comment.
+ * sysdeps/unix/syscall-template.S (syscall_hidden_def): New
+ macro. Use it instead of libc_hidden_def.
+ * sysdeps/unix/sysv/linux/syscalls.list (mq_timedsend): Do not
+ specify __GI_* name explicitly.
+ (mq_timedreceive): Likewise.
+ (mq_setattr): Likewise.
+
[BZ #18544]
* nptl/pthread_barrier_init.c (pthread_barrier_init): Rename to
__pthread_barrier_init and define as weak alias of
diff --git a/sysdeps/unix/make-syscalls.sh b/sysdeps/unix/make-syscalls.sh
index 12f664e..fbf9660 100644
--- a/sysdeps/unix/make-syscalls.sh
+++ b/sysdeps/unix/make-syscalls.sh
@@ -128,11 +128,11 @@ emit_weak_aliases()
!*)
name=`echo $name | sed 's/.//'`
echo " echo 'strong_alias ($strong, $name)'; \\"
- echo " echo 'libc_hidden_def ($name)'; \\"
+ echo " echo 'hidden_def ($name)'; \\"
;;
*)
echo " echo 'weak_alias ($strong, $name)'; \\"
- echo " echo 'libc_hidden_weak ($name)'; \\"
+ echo " echo 'hidden_weak ($name)'; \\"
;;
esac
done
@@ -287,7 +287,7 @@ while read file srcfile caller syscall args strong weak; do
echo '}'; \\
echo 'asm (".type ${strong}, %gnu_indirect_function");'; \\
EOF
- # This is doing "libc_hidden_def (${strong})", but the compiler
+ # This is doing "hidden_def (${strong})", but the compiler
# doesn't know that we've defined ${strong} in the same file, so
# we can't do it the normal way.
cat <<EOF
diff --git a/sysdeps/unix/syscall-template.S b/sysdeps/unix/syscall-template.S
index 62ebe02..e86e6a7 100644
--- a/sysdeps/unix/syscall-template.S
+++ b/sysdeps/unix/syscall-template.S
@@ -47,6 +47,9 @@
# include <sysdep.h>
#endif
+/* This indirection is needed so that SYMBOL gets macro-expanded. */
+#define syscall_hidden_def(SYMBOL) hidden_def (SYMBOL)
+
#define T_PSEUDO(SYMBOL, NAME, N) PSEUDO (SYMBOL, NAME, N)
#define T_PSEUDO_NOERRNO(SYMBOL, NAME, N) PSEUDO_NOERRNO (SYMBOL, NAME, N)
#define T_PSEUDO_ERRVAL(SYMBOL, NAME, N) PSEUDO_ERRVAL (SYMBOL, NAME, N)
@@ -84,4 +87,4 @@ T_PSEUDO_END (SYSCALL_SYMBOL)
#endif
-libc_hidden_def (SYSCALL_SYMBOL)
+syscall_hidden_def (SYSCALL_SYMBOL)
diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list
index 42b6c2e..09dd10d 100644
--- a/sysdeps/unix/sysv/linux/syscalls.list
+++ b/sysdeps/unix/sysv/linux/syscalls.list
@@ -106,9 +106,9 @@ removexattr - removexattr i:ss removexattr
lremovexattr - lremovexattr i:ss lremovexattr
fremovexattr - fremovexattr i:is fremovexattr
-mq_timedsend - mq_timedsend Ci:ipiip __GI_mq_timedsend mq_timedsend
-mq_timedreceive - mq_timedreceive Ci:ipipp __GI_mq_timedreceive mq_timedreceive
-mq_setattr - mq_getsetattr i:ipp __GI_mq_setattr mq_setattr
+mq_timedsend - mq_timedsend Ci:ipiip mq_timedsend
+mq_timedreceive - mq_timedreceive Ci:ipipp mq_timedreceive
+mq_setattr - mq_getsetattr i:ipp mq_setattr
timerfd_create EXTRA timerfd_create i:ii timerfd_create
timerfd_settime EXTRA timerfd_settime i:iipp timerfd_settime