diff options
author | Roland McGrath <roland@gnu.org> | 2002-08-05 06:58:03 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2002-08-05 06:58:03 +0000 |
commit | 7944bd340c06f2249e41d85994591529b59da2d1 (patch) | |
tree | 24ae890816157cbac389eaa33b88e51e237fea8d | |
parent | a162642d80973c1ca52bf58e0d776060d9746d75 (diff) | |
download | glibc-7944bd340c06f2249e41d85994591529b59da2d1.tar glibc-7944bd340c06f2249e41d85994591529b59da2d1.tar.gz glibc-7944bd340c06f2249e41d85994591529b59da2d1.tar.bz2 glibc-7944bd340c06f2249e41d85994591529b59da2d1.zip |
* sysdeps/unix/make-syscalls.sh: If the syscall name field is -
then generate a dummy module under the given name, obeying the
normal rules for the "caller" field.
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | sysdeps/unix/make-syscalls.sh | 19 |
2 files changed, 21 insertions, 2 deletions
@@ -1,5 +1,9 @@ 2002-08-04 Roland McGrath <roland@redhat.com> + * sysdeps/unix/make-syscalls.sh: If the syscall name field is - + then generate a dummy module under the given name, obeying the + normal rules for the "caller" field. + * sysdeps/generic/libc-tls.c (__libc_setup_tls): Make the phdr loop actually iterate over the elements. Fix typo p_type -> p_vaddr. diff --git a/sysdeps/unix/make-syscalls.sh b/sysdeps/unix/make-syscalls.sh index d8a3210930..0a7b5fba56 100644 --- a/sysdeps/unix/make-syscalls.sh +++ b/sysdeps/unix/make-syscalls.sh @@ -70,6 +70,9 @@ test -n "$calls" || exit 0 echo "$calls" | while read file srcfile caller syscall args strong weak; do + case x"$syscall" in + x-) callnum=_ ;; + *) # Figure out if $syscall is defined with a number in syscall.h. callnum=- eval `{ echo "#include <sysdep.h>"; @@ -77,6 +80,8 @@ while read file srcfile caller syscall args strong weak; do $asm_CPP -D__OPTIMIZE__ - | sed -n -e "/^callnum=.*$syscall/d" \ -e "/^\(callnum=\)[ ]*\(.*\)/s//\1'\2'/p"` + ;; + esac # Derive the number of arguments from the argument signature case $args in @@ -126,12 +131,22 @@ shared-only-routines += $file \$(foreach o,\$(object-suffixes),\$(objpfx)$file\$o): \\" ;; esac - echo " \$(common-objpfx)s-proto.d + + echo ' $(common-objpfx)s-proto.d' + case x"$callnum" in + x_) + echo "\ + (echo '/* Dummy module requested by syscalls.list */'; \\" + ;; + x*) + echo "\ (echo '#include <sysdep.h>'; \\ echo 'PSEUDO ($strong, $syscall, $nargs)'; \\ echo ' ret'; \\ echo 'PSEUDO_END($strong)'; \\ echo 'libc_hidden_def ($strong)'; \\" + ;; + esac # Append any weak aliases or versions defined for this syscall function. @@ -189,7 +204,7 @@ shared-only-routines += $file esac case x"$callnum",$srcfile,$args in - x-,-,* | x*,*.[sS],*V*) ;; + x[_-],-,* | x*,*.[sS],*V*) ;; x*,-,*$ptr* | x*,*.[sS],*$ptr*) nv_weak=`for name in $weak; do |