diff --git a/sysdeps/unix/make-syscalls.sh b/sysdeps/unix/make-syscalls.sh
index a8b8a26..cce6ebf 100644
--- a/sysdeps/unix/make-syscalls.sh
+++ b/sysdeps/unix/make-syscalls.sh
@@ -128,6 +128,7 @@ while read file srcfile caller syscall args strong weak; do
echo "ifeq (,\$(filter $file,\$(unix-syscalls)))"
case $weak in
+ *@@*) ;;
*@*)
# The versioned symbols are only in the shared library.
echo "ifneq (,\$(filter .os,\$(object-suffixes)))"
@@ -139,6 +140,11 @@ while read file srcfile caller syscall args strong weak; do
# Emit a compilation rule for this syscall.
case $weak in
+ *@@*)
+ echo "\
+\$(foreach p,\$(sysd-rules-targets),\
+\$(foreach o,\$(object-suffixes),\$(objpfx)\$(patsubst %,\$p,$file)\$o)): \\"
+ ;;
*@*)
# The versioned symbols are only in the shared library.
echo "\
@@ -227,6 +233,7 @@ shared-only-routines += $file
\$(foreach p,\$(patsubst %$file,%,\$(basename \$(@F))),\$(\$(p)CPPFLAGS))"
case $weak in
+ *@@*) ;;
*@*)
# The versioned symbols are only in the shared library.
echo endif
diff --git a/sysdeps/unix/sysv/linux/i386/syscalls.list b/sysdeps/unix/sysv/linux/i386/syscalls.list
index e3bcaba..149d432 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