summaryrefslogtreecommitdiff
path: root/sysdeps/unix/make-syscalls.sh
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-02-26 17:17:05 +0000
committerUlrich Drepper <drepper@redhat.com>1998-02-26 17:17:05 +0000
commitef030f7f43b87b4bb553fd33e526f5cda6777c7f (patch)
treeb325fa413a93222995979e9997369252baf67f58 /sysdeps/unix/make-syscalls.sh
parenta588b67da48d54f30ae101cf5d2e9fb0778f95a4 (diff)
1998-02-24 08:10 H.J. Lu <hjl@gnu.org> * sysdeps/unix/sysv/linux/alpha/bits/signum.h (_NSIG): Changed to 64. * sysdeps/unix/alpha/sysdep.S (_errno): Add in addition to __errno. * sysdeps/alpha/s_fabs.S: Added ".set noat"/".set at". * sysdeps/unix/sysv/linux/alpha/wait4.S: Ditto. * sysdeps/unix/make-syscalls.sh: Make versioned symbols only for shared library. * libc.map (adjtime, __adjtimex, adjtimex): Added for GLIBC_2.1. * sysdeps/unix/sysv/linux/alpha/Makefile (sysdep_routines): Added adjtimex and old_adjtimex. * sysdeps/unix/sysv/linux/alpha/syscalls.list (old_adjtimex): New. (osf_settimeofday, osf_getitimer, osf_setitimer, osf_utimes, osf_getrusage, osf_wait4): Added __xxxx symbol for GLIBC_2.0. * sysdeps/unix/sysv/linux/alpha/getitimer.S: Make versioned symbols only for shared library. * sysdeps/unix/sysv/linux/alpha/getrusage.S: Likewise. * sysdeps/unix/sysv/linux/alpha/gettimeofday.S: Likewise. * sysdeps/unix/sysv/linux/alpha/select.S: Likewise. * sysdeps/unix/sysv/linux/alpha/setitimer.S: Likewise. * sysdeps/unix/sysv/linux/alpha/settimeofday.S: Likewise. * sysdeps/unix/sysv/linux/alpha/utimes.S: Likewise. * sysdeps/unix/sysv/linux/alpha/wait4.S: Likewise. * sysdeps/unix/sysv/linux/alpha/getitimer.S: Fix ENOSYS branch. * sysdeps/unix/sysv/linux/alpha/getrusage.S: Likewise. * sysdeps/unix/sysv/linux/alpha/gettimeofday.S: Likewise. * sysdeps/unix/sysv/linux/alpha/select.S: Likewise. * sysdeps/unix/sysv/linux/alpha/setitimer.S: Likewise. * sysdeps/unix/sysv/linux/alpha/settimeofday.S: Likewise. * sysdeps/unix/sysv/linux/alpha/utimes.S: Likewise. * sysdeps/unix/sysv/linux/alpha/wait4.S: Likewise. * sysdeps/unix/sysv/linux/alpha/wait4.S: Check the correct rusage pointer. * sysdeps/unix/sysv/linux/adjtime.c (TIMEVAL, TIMEX, ADJTIMEX): New macros. (__adjtime): Use TIMEVAL, TIMEX and ADJTIMEX instead of timeval, timex and __adjtimex, respectively. * sysdeps/unix/sysv/linux/alpha/adjtime.c: New. * sysdeps/unix/sysv/linux/alpha/adjtimex.S: New.
Diffstat (limited to 'sysdeps/unix/make-syscalls.sh')
-rw-r--r--sysdeps/unix/make-syscalls.sh35
1 files changed, 32 insertions, 3 deletions
diff --git a/sysdeps/unix/make-syscalls.sh b/sysdeps/unix/make-syscalls.sh
index e9d0f508b4..c7ddb88999 100644
--- a/sysdeps/unix/make-syscalls.sh
+++ b/sysdeps/unix/make-syscalls.sh
@@ -47,6 +47,13 @@ echo "$calls" | while read file caller syscall nargs strong weak; do
@@@ SYS_ify ($syscall)
EOF
+ case $weak in
+ *@*)
+ # The versioned symbols are only in the shared library.
+ echo "ifneq (,\$(filter .os,\$(object-suffixes)))"
+ ;;
+ esac
+
# Make sure only the first syscall rule is used, if multiple dirs
# define the same syscall.
echo "ifeq (,\$(filter $file,\$(unix-syscalls)))"
@@ -56,9 +63,24 @@ EOF
test x$caller = x- || echo "unix-extra-syscalls += $file"
# Emit a compilation rule for this syscall.
- echo "\
-\$(foreach o,\$(object-suffixes),\$(objpfx)$file\$o): \\
-\$(common-objpfx)s-proto.d
+ case $weak in
+ *@*)
+ # The versioned symbols are only in the shared library.
+ echo "\
+\$(objpfx)${file}.o: \$(common-objpfx)empty.o
+ rm -f \$@
+ ln \$< \$@
+\$(objpfx)${file}.op: \$(common-objpfx)empty.op
+ rm -f \$@
+ ln \$< \$@
+\$(objpfx)${file}.os: \\"
+ ;;
+ *)
+ echo "\
+\$(foreach o,\$(object-suffixes),\$(objpfx)$file\$o): \\"
+ ;;
+ esac
+ echo "\$(common-objpfx)s-proto.d
(echo '#include <sysdep.h>'; \\
echo 'PSEUDO ($strong, $syscall, $nargs)'; \\
echo ' ret'; \\
@@ -109,4 +131,11 @@ EOF
echo endif
+ case $weak in
+ *@*)
+ # The versioned symbols are only in the shared library.
+ echo endif
+ ;;
+ esac
+
done