aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/unix/make-syscalls.sh29
-rw-r--r--sysdeps/unix/sysv/linux/i386/syscalls.list2
3 files changed, 21 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
index 447d4a0f9e..c659fb1e42 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-05-04 Andreas Schwab <schwab@linux-m68k.org>
+
+ * sysdeps/unix/make-syscalls.sh: Fix check for version aliases.
+ * sysdeps/unix/sysv/linux/i386/syscalls.list: Revert last change.
+
2012-05-04 Joseph Myers <joseph@codesourcery.com>
[BZ #14049]
diff --git a/sysdeps/unix/make-syscalls.sh b/sysdeps/unix/make-syscalls.sh
index a8b8a262a7..ff452d6780 100644
--- a/sysdeps/unix/make-syscalls.sh
+++ b/sysdeps/unix/make-syscalls.sh
@@ -112,6 +112,14 @@ while read file srcfile caller syscall args strong weak; do
echo ''
echo "#### CALL=$file NUMBER=$callnum ARGS=$args SOURCE=$srcfile"
+ # If there are versioned aliases the entry is only generated for the
+ # shared library, unless it is a default version.
+ shared_only=f
+ case $weak in
+ *@@*) ;;
+ *@*) shared_only=t;;
+ esac
+
case x$srcfile"$callnum" in
x--)
# Undefined callnum for an extra syscall.
@@ -127,30 +135,25 @@ while read file srcfile caller syscall args strong weak; do
x-*)
echo "ifeq (,\$(filter $file,\$(unix-syscalls)))"
- case $weak in
- *@*)
+ if test $shared_only = t; then
# The versioned symbols are only in the shared library.
echo "ifneq (,\$(filter .os,\$(object-suffixes)))"
- ;;
- esac
+ fi
# Accumulate the list of syscall files for this directory.
echo "unix-syscalls += $file"
test x$caller = x- || echo "unix-extra-syscalls += $file"
# Emit a compilation rule for this syscall.
- case $weak in
- *@*)
+ if test $shared_only = t; then
# The versioned symbols are only in the shared library.
echo "\
shared-only-routines += $file
\$(objpfx)${file}.os: \\"
- ;;
- *)
+ else
echo "\
\$(foreach p,\$(sysd-rules-targets),\
\$(foreach o,\$(object-suffixes),\$(objpfx)\$(patsubst %,\$p,$file)\$o)): \\"
- ;;
- esac
+ fi
echo " \$(..)sysdeps/unix/make-syscalls.sh"
case x"$callnum" in
@@ -226,12 +229,10 @@ shared-only-routines += $file
echo ' ) | $(compile-syscall) '"\
\$(foreach p,\$(patsubst %$file,%,\$(basename \$(@F))),\$(\$(p)CPPFLAGS))"
- case $weak in
- *@*)
+ if test $shared_only = t; then
# The versioned symbols are only in the shared library.
echo endif
- ;;
- esac
+ fi
echo endif
;;
diff --git a/sysdeps/unix/sysv/linux/i386/syscalls.list b/sysdeps/unix/sysv/linux/i386/syscalls.list
index e3bcabac10..149d432347 100644
--- a/sysdeps/unix/sysv/linux/i386/syscalls.list
+++ b/sysdeps/unix/sysv/linux/i386/syscalls.list
@@ -2,7 +2,7 @@
modify_ldt EXTRA modify_ldt i:ipi __modify_ldt modify_ldt
vm86old EXTRA vm86old i:p __vm86old vm86@GLIBC_2.0
-vm86 - vm86 i:ip __vm86 vm86
+vm86 - vm86 i:ip __vm86 vm86@@GLIBC_2.3.4
oldgetrlimit EXTRA getrlimit i:ip __old_getrlimit getrlimit@GLIBC_2.0
oldsetrlimit EXTRA setrlimit i:ip __old_setrlimit setrlimit@GLIBC_2.0
waitpid - waitpid Ci:ipi __waitpid waitpid __libc_waitpid