1996-01-18 10:00:52 +00:00
|
|
|
#! /bin/sh
|
|
|
|
|
1997-02-13 05:10:35 +00:00
|
|
|
# Usage: make-syscalls.sh ../sysdeps/unix/common
|
1996-01-18 10:00:52 +00:00
|
|
|
# Expects $sysdirs in environment.
|
|
|
|
|
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-05 Greg McGary <greg@mcgary.org>
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-06 00:48:39 +00:00
|
|
|
##############################################################################
|
|
|
|
|
|
|
|
# Syscall Signature Key Letters for BP Thunks:
|
|
|
|
#
|
|
|
|
# a: unchecked address (e.g., 1st arg to mmap)
|
2000-07-17 22:28:59 +00:00
|
|
|
# b: non-NULL buffer (e.g., 2nd arg to read; return value from mmap)
|
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-05 Greg McGary <greg@mcgary.org>
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-06 00:48:39 +00:00
|
|
|
# B: optionally-NULL buffer (e.g., 4th arg to getsockopt)
|
|
|
|
# f: buffer of 2 ints (e.g., 4th arg to socketpair)
|
2000-07-17 22:28:59 +00:00
|
|
|
# F: 3rd arg to fcntl
|
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-05 Greg McGary <greg@mcgary.org>
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-06 00:48:39 +00:00
|
|
|
# i: scalar (any signedness & size: int, long, long long, enum, whatever)
|
2000-07-17 22:28:59 +00:00
|
|
|
# I: 3rd arg to ioctl
|
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-05 Greg McGary <greg@mcgary.org>
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-06 00:48:39 +00:00
|
|
|
# n: scalar buffer length (e.g., 3rd arg to read)
|
|
|
|
# N: pointer to value/return scalar buffer length (e.g., 6th arg to recvfrom)
|
2000-07-17 22:28:59 +00:00
|
|
|
# p: non-NULL pointer to typed object (e.g., any non-void* arg)
|
|
|
|
# P: optionally-NULL pointer to typed object (e.g., 2nd argument to gettimeofday)
|
|
|
|
# s: non-NULL string (e.g., 1st arg to open)
|
|
|
|
# S: optionally-NULL string (e.g., 1st arg to acct)
|
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-05 Greg McGary <greg@mcgary.org>
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-06 00:48:39 +00:00
|
|
|
# v: vararg scalar (e.g., optional 3rd arg to open)
|
2000-09-08 08:41:45 +00:00
|
|
|
# V: byte-per-page vector (3rd arg to mincore)
|
2000-07-17 22:28:59 +00:00
|
|
|
# W: wait status, optionally-NULL pointer to int (e.g., 2nd arg of wait4)
|
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-05 Greg McGary <greg@mcgary.org>
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-06 00:48:39 +00:00
|
|
|
|
2000-07-17 22:28:59 +00:00
|
|
|
ptr='[abBfFINpPsSW]' # all pointer keyletters
|
|
|
|
int='[inv]' # all scalar keyletters
|
|
|
|
typ='[ifnNpP]' # typed-arg keyletters: we capture type for use in thunk
|
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-05 Greg McGary <greg@mcgary.org>
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-06 00:48:39 +00:00
|
|
|
|
|
|
|
##############################################################################
|
|
|
|
|
1996-01-18 10:00:52 +00:00
|
|
|
thisdir=$1; shift
|
|
|
|
|
2000-06-13 07:33:12 +00:00
|
|
|
echo ''
|
|
|
|
echo \#### DIRECTORY = $thisdir
|
1996-01-18 10:00:52 +00:00
|
|
|
# Check each sysdep dir with higher priority than this one,
|
|
|
|
# and remove from $calls all the functions found in other dirs.
|
2000-06-13 07:33:12 +00:00
|
|
|
# Punt when we reach the directory defining these syscalls.
|
|
|
|
sysdirs=`for dir in $sysdirs; do
|
|
|
|
test $dir = $thisdir && break; echo $dir; done`
|
|
|
|
echo \#### SYSDIRS = $sysdirs
|
1996-01-18 10:00:52 +00:00
|
|
|
|
2000-06-13 07:33:12 +00:00
|
|
|
# Get the list of system calls for this directory.
|
|
|
|
calls=`sed 's/#.*$//
|
|
|
|
/^[ ]*$/d' $thisdir/syscalls.list`
|
1996-01-18 10:00:52 +00:00
|
|
|
|
2000-06-13 07:33:12 +00:00
|
|
|
calls=`echo "$calls" |
|
|
|
|
while read file caller rest; do
|
1996-01-18 10:00:52 +00:00
|
|
|
# Remove each syscall that is implemented by a file in $dir.
|
|
|
|
# If a syscall specified a "caller", then only compile that syscall
|
|
|
|
# if the caller function is also implemented in this directory.
|
2000-06-13 07:33:12 +00:00
|
|
|
srcfile=-;
|
|
|
|
for dir in $sysdirs; do
|
|
|
|
{ test -f $dir/$file.c && srcfile=$dir/$file.c; } ||
|
|
|
|
{ test -f $dir/$file.S && srcfile=$dir/$file.S; } ||
|
|
|
|
{ test -f $dir/$file.s && srcfile=$dir/$file.s; } ||
|
|
|
|
{ test x$caller != x- &&
|
|
|
|
{ { test -f $dir/$caller.c && srcfile=$dir/$caller.c; } ||
|
|
|
|
{ test -f $dir/$caller.S && srcfile=$dir/$caller.S; } ||
|
|
|
|
{ test -f $dir/$caller.s && srcfile=$dir/$caller.s; }; }; } && break;
|
|
|
|
done;
|
|
|
|
echo $file $srcfile $caller $rest;
|
|
|
|
done`
|
1996-01-18 10:00:52 +00:00
|
|
|
|
|
|
|
# Any calls left?
|
|
|
|
test -n "$calls" || exit 0
|
|
|
|
|
|
|
|
# Emit rules to compile the syscalls remaining in $calls.
|
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-05 Greg McGary <greg@mcgary.org>
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-06 00:48:39 +00:00
|
|
|
echo "$calls" |
|
|
|
|
while read file srcfile caller syscall args strong weak; do
|
2000-06-13 07:33:12 +00:00
|
|
|
|
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-05 Greg McGary <greg@mcgary.org>
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-06 00:48:39 +00:00
|
|
|
# Figure out if $syscall is defined with a number in syscall.h.
|
|
|
|
callnum=-
|
|
|
|
eval `{ echo "#include <sysdep.h>";
|
2000-06-13 07:33:12 +00:00
|
|
|
echo "callnum=SYS_ify ($syscall)"; } |
|
2000-06-15 19:06:12 +00:00
|
|
|
$asm_CPP - |sed -n -e "/^callnum=.*$syscall/d" \
|
|
|
|
-e "/^\(callnum=\)[ ]*\(.*\)/s//\1'\2'/p"`
|
2000-06-13 07:33:12 +00:00
|
|
|
|
|
|
|
# Derive the number of arguments from the argument signature
|
|
|
|
case $args in
|
|
|
|
[0-9]) nargs=$args;;
|
|
|
|
?:) nargs=0;;
|
|
|
|
?:?) nargs=1;;
|
|
|
|
?:??) nargs=2;;
|
|
|
|
?:???) nargs=3;;
|
|
|
|
?:????) nargs=4;;
|
|
|
|
?:?????) nargs=5;;
|
|
|
|
?:??????) nargs=6;;
|
2000-06-30 01:11:14 +00:00
|
|
|
?:???????) nargs=7;;
|
|
|
|
?:????????) nargs=8;;
|
|
|
|
?:?????????) nargs=9;;
|
2000-06-13 07:33:12 +00:00
|
|
|
esac
|
1996-01-18 10:00:52 +00:00
|
|
|
|
2000-06-13 07:33:12 +00:00
|
|
|
# Make sure only the first syscall rule is used, if multiple dirs
|
|
|
|
# define the same syscall.
|
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-05 Greg McGary <greg@mcgary.org>
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-06 00:48:39 +00:00
|
|
|
echo ''
|
|
|
|
echo "#### CALL=$file NUMBER=$callnum ARGS=$args SOURCE=$srcfile"
|
|
|
|
|
2000-06-15 19:06:12 +00:00
|
|
|
case x$srcfile"$callnum" in
|
2000-06-13 07:33:12 +00:00
|
|
|
x*-) ;; ### Do nothing for undefined callnum
|
|
|
|
x-*)
|
|
|
|
echo "ifeq (,\$(filter $file,\$(unix-syscalls)))"
|
1996-01-18 10:00:52 +00:00
|
|
|
|
Update.
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.
1998-02-26 17:17:05 +00:00
|
|
|
case $weak in
|
|
|
|
*@*)
|
|
|
|
# The versioned symbols are only in the shared library.
|
|
|
|
echo "ifneq (,\$(filter .os,\$(object-suffixes)))"
|
|
|
|
;;
|
|
|
|
esac
|
1996-01-18 10:00:52 +00:00
|
|
|
# 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.
|
Update.
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.
1998-02-26 17:17:05 +00:00
|
|
|
case $weak in
|
|
|
|
*@*)
|
|
|
|
# The versioned symbols are only in the shared library.
|
|
|
|
echo "\
|
1999-01-13 09:25:35 +00:00
|
|
|
shared-only-routines += $file
|
Update.
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.
1998-02-26 17:17:05 +00:00
|
|
|
\$(objpfx)${file}.os: \\"
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "\
|
|
|
|
\$(foreach o,\$(object-suffixes),\$(objpfx)$file\$o): \\"
|
|
|
|
;;
|
|
|
|
esac
|
2000-06-13 07:33:12 +00:00
|
|
|
echo " \$(common-objpfx)s-proto.d
|
1996-01-18 10:00:52 +00:00
|
|
|
(echo '#include <sysdep.h>'; \\
|
|
|
|
echo 'PSEUDO ($strong, $syscall, $nargs)'; \\
|
Wed May 29 00:57:37 1996 David Mosberger-Tang <davidm@azstarnet.com>
* time/Makefile (tests): Add test-tz.
* time/test-tz.c: New test.
* time/clocktest.c: Rewrite to test more meaningfully.
* sysdeps/unix/sysv/linux/syscalls.list: Add bdflush,
create_module, delete_module, get_kernel_syms, init_module,
klogctl.
* sysdeps/unix/sysv/linux/sys/param.h (MAXSYMLINKS): Define as 5
instead of SYMLOOP_MAX, which is nowhere to be found.
* sysdeps/unix/sysv/linux/sys/msq_buf.h,
sysdeps/unix/sysv/linux/sys/sem_buf.h,
sysdeps/unix/sysv/linux/sys/shm_buf.h [__USE_MISC]: Add more
control ops and datastructures.
* sysdeps/unix/sysv/linux/sys/io.h: New file declaring low-level
I/O related functions.
* sysdeps/unix/sysv/linux/sys/kdaemon.h: New file declaring kernel
daemon related functions/operations.
* sysdeps/unix/sysv/linux/sys/klog.h: New file declaring kernel
logging related functions/operations.
* sysdeps/unix/sysv/linux/sys/module.h: New file declaring kernel
module related functions/operations.
* sysdeps/unix/sysv/linux/speed.c: Only do "mention this twice" hack
for non-Alpha based Linux systems.
* sysdeps/unix/sysv/linux/alpha/speed.c: Remove.
* sysdeps/unix/sysv/linux/Makefile (headers): Add sys/module.h,
sys/io.h, sys/klog.h, and sys/kdaemon.h.
* sysdeps/unix/sysdep.h (END): Define empty END macro for
platforms that don't need some sort of end directive at the
end of functions.
* sysdeps/unix/make-syscalls.sh: Emit END($strong) at end of
syscall wrapper to allow correct generation of debugging
information.
* sysdeps/unix/alpha/sysdep.h (END): Redefine to use .end
directive for both ELF and ECOFF.
(ret): Delete macro. It was a dangerous macro and unnecessary
since the Alpha assemblers recognizes "ret" as a macro themselves.
* sysdeps/gnu/utmpbits.h (struct utmp): Move ut_tv behind
ut_session to guarantee long alignment. This is important for
Linux/Alpha since ut_tv.tv_sec is 32 bits and time_t is 64 bits.
This will all get cleaned up as programs start to use ut_tv
instead ut_time.
* sysdeps/alpha/divrem.h: Include <sysdep.h> instead of <*/regdef.h>.
* sysdeps/alpha/bsd-_setjmp.S (setjmp): Renamed entry point to
_setjmp.
* sysdeps/alpha/_mcount.S, sysdeps/alpha/bb_init_func.S,
sysdeps/alpha/bsd-_setjmp.S, sysdeps/alpha/bsd-setjmp.S,
sysdeps/alpha/copysign.S, sysdeps/alpha/divrem.h,
sysdeps/alpha/fabs.S, sysdeps/alpha/ffs.S, sysdeps/alpha/htonl.S,
sysdeps/alpha/htons.S, sysdeps/alpha/memchr.S,
sysdeps/alpha/setjmp.S, sysdeps/alpha/strlen.S,
sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S,
sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S,
sysdeps/unix/sysv/linux/alpha/llseek.S,
sysdeps/unix/sysv/linux/alpha/pipe.S,
sysdeps/unix/sysv/linux/alpha/sigsuspend.S,
sysdeps/unix/sysv/linux/alpha/sysdep.S: Use END macro instead of
.end directive.
* csu/initfini.c (_fini): Tell gcc that _fini is not a leaf
function by having it contain a dummy function call.
* configure.in (config_machine): Don't make ELF the default for
Linux/Alpha just yet (use --with-elf instead).
(.init/.fini check): Generate .text to ensure function start and
end are in same section.
* sysdeps/unix/bsd/osf/alpha/brk.S,
sysdeps/unix/sysv/linux/alpha/brk.S (__curbrk): Store the entire
break value, not just the low 32 bits to accomodate large
memories.
Tue May 28 10:46:04 1996 Richard Henderson <rth@tamu.edu>
* sysdeps/unix/sysv/linux/alpha/brk.S: Rather than attempt to
dynamically resolve _end for initializing __curbrk, support the
brk(0) query idiom.
* sysdeps/alpha/bb_init_func.S: Don't make `init' an external symbol.
* sysdeps/alpha/bsd-_setjmp.S: The function is _setjmp not setjmp.
Sun May 26 22:17:38 1996 Richard Henderson <rth@tamu.edu>
* stdlib/lcong48_r.c, stdlib/seed48_r.c, stdlib/strtod.c,
stdlib/strtol.c: Include <string.h> for mem* and str* fns used.
Thu May 23 02:15:56 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/Makefile (headers): Add sys/io.h,
sys/klog.h, and sys/kdaemon.h.
* sysdeps/unix/sysv/linux/sys/io.h: New file.
* sysdeps/unix/sysv/linux/sys/klog.h: Ditto.
* sysdeps/unix/sysv/linux/sys/kdaemon.h: Ditto.
* sysdeps/unix/alpha/sysdep.h (ret): Remove macro. It is
dangerous and unnecessary since both OSF/1 as and gas define "ret"
as a pseudo-instruction.
Sat Jun 1 17:18:21 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* time/tzset.c (__tzset): Clear tz_rules name pointers after freeing
them. Bug found by David Mosberger-Tang.
* sysdeps/posix/tempname.c (__stdio_gen_tempname): Use __ptr_t instead
of PTR.
* extra-lib.mk (extra-objs): Use patsubst intead of $(A:=B) syntax
to work around Make bug when A contains var ref.
Fri May 31 18:27:52 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* string/string.h [__USE_MISC]: Declare basename; OSF/1 puts it here.
* sysdeps/unix/sysv/linux/syscalls.list (getpgid, setpgid): Define __
strong names and [gs]etpgid as weak aliases.
* math/math_private.h (GET_LDOUBLE_EXP): Add missing backslash.
1996-06-02 18:50:07 +00:00
|
|
|
echo ' ret'; \\
|
Thu Jun 13 17:25:11 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/generic/memcmp.c: Add prototype decls for internal fns.
* locale/programs/locale.c: Include string.h.
* sunrpc/xdr_stdio.c (xdrstdio_getlong), sunrpc/xdr_rec.c
(xdrrec_getlong), sunrpc/xdr_mem.c (xdrmem_getlong): Make sure
appropriate sign-extension is performed on machines with
sizeof(long) > 4.
* sunrpc/xdr.c (xdr_int, xdr_u_int): If sizeof(long)==8 and
sizeof(int)<sizeof(long), we need to go through a temporary
variable.
* locale/programs/ld-numeric.c: Include <alloca.h>
* libio/stdio.h (__libc_fatal): Add prototype.
* libio/cleanup.c: Use __P() to declare prototype when __STDC__ is
in efect.
* libio/iopopen.c (read_or_write, parent_end, child_end): Declare
volatile to avoid "might get clobbered by longjmp" warning.
* features.h (__KERNEL_STRICT_NAMES): Define __KERNEL_STRICT_NAMES
unless _LOOSE_KERNEL_NAMES is in effect (which, with high
probability is a sure loser).
* sysdeps/unix/sysv/linux/gnu/types.h (__KERNEL_STRICT_NAMES): Remove.
* sysdeps/unix/bsd/osf/alpha/start.S (errno): Removed.
* sysdeps/unix/sysv/linux/alpha/start.S: Ditto.
* misc/paths.h (_PATH_MAN): Change from /usr/share/man to /usr/man
to be Linux FSSTND compliant.
Mon Jun 10 17:50:31 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/alpha/pipe.S: Use PSEUDO.
* sysdeps/unix/sysv/linux/alpha/sysdep.S,
sysdeps/unix/sysv/linux/alpha/brk.S,
sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S,
sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S,
sysdeps/unix/sysv/linux/alpha/llseek.S,
sysdeps/unix/sysv/linux/alpha/sigsuspend.S,
sysdeps/unix/sysv/linux/alpha/syscall.S: Rename syscall_error to
__syscall_error to avoid intruding application name space.
* sysdeps/unix/sysv/linux/alpha/sysdep.h: Rename __NR_get?id
to SYS_get?id so that syscall stubs in sysdeps/unix define
these syscalls in terms of getxpid/getxuid/getxgid.
* sysdeps/unix/_exit.S, sysdeps/unix/getegid.S,
sysdeps/unix/geteuid.S, sysdeps/unix/getppid.S,
sysdeps/unix/execve.S, sysdeps/unix/fork.S,
sysdeps/unix/syscall.S: Terminate syscall with PSEUDO_END.
* sysdeps/unix/make-syscalls.sh, sysdeps/unix/sysdep.h
(PSEUDO_END): Rename END() to PSEUDO_END().
* sysdeps/unix/alpha/sysdep.h: Move error-handling code in PSEUDO
to PSEUDO_END to improve branch-prediction. Include .frame
directive to make syscalls debugabble.
(PSEUDO_END): New macro.
* sysdeps/unix/alpha/sysdep.h, sysdeps/alpha/bb_init_func.S,
sysdeps/unix/sysv/linux/alpha/brk.S: Use ldiq instead of ldi since
latter is illegal under DEC Unix.
* sysdeps/unix/alpha/sysdep.S: Renamed from
sysdeps/unix/sysv/linux/alpha/sysdep.S. This file works for OSF/1
as well.
* sysdeps/unix/bsd/osf/alpha/sysdep.S: Remove (note that the
EWOULDBLOCK -> EAGAIN mapping was unnecessary since
EWOULDBLOCK==EAGAIN under DEC Unix and Linux/Alpha).
* sysdeps/alpha/divrem.h: Use retaddr instead of ra as the return
address register in the .frame directive.
* sysdeps/alpha/copysign.c: Remove.
* sunrpc/rpc/types.h: Include <sys/param.h> and <netinet/in.h> to
avoid RPC definitions of INADDR_LOOPBACK and/or MAXHOSTNAMELEN.
* errno.h: Move __END_DECLS to correct place to make file
compilable under c++.
* dirent/dirent.h: Document _DIRENT_HAVE_D_OFF macro. Define
d_ino only if <direntry.h> hasn't defined d_fileno.
* configure.in (HAVE_ASM_WEAKEXT_DIRECTIVE): Reverse order of
arguments to weakext to make .weakext detection work on ECOFF systems.
* FAQ: Add Linux/Alpha to list of supported platforms. Mention
that _validuser() has been replaced by __ivaliduser().
Thu Jun 6 21:39:38 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/bsd/sun/sunos4/tcsetattr.c (tcsetattr): Declare cmd
as unsigned long, not as int (to avoid incorrect int->long
promotion).
1996-06-19 06:54:12 +00:00
|
|
|
echo 'PSEUDO_END($strong)'; \\"
|
1996-01-18 10:00:52 +00:00
|
|
|
|
Update.
1998-02-10 23:57 Ulrich Drepper <drepper@happy.cygnus.com>
* misc/tst-efgcvt.c: Add more tests.
* misc/efgcvt_r.c: Correct result for above new tests.
1998-02-06 17:22 H.J. Lu <hjl@gnu.org>
* misc/efgcvt_r.c (fcvt_r, ecvt_r): Correctly handle
NDIGIT <= 0.
1998-02-10 16:48 Philip Blundell <pb@nexus.co.uk>
* Makerules (install-no-libc.a-nosubdir): Don't install-bin (etc)
if the programs weren't built.
1998-02-09 10:12 Philip Blundell <pb@nexus.co.uk>
* sysdeps/libm-ieee754/s_exp2.c (__ieee754_exp2): If we don't have
FE_TONEAREST, soldier on regardless and do the best we can.
* sysdeps/libm-ieee754/s_exp2f.c (__ieee754_exp2f): likewise.
1998-02-5 17:20 Philip Blundell <pb@nexus.co.uk>
* sysdeps/standalone/filedesc.h: Define __need_FOPEN_MAX, not
_STDIO_H, before including <bits/stdio_lim.h>.
* sysdeps/standalone/arm/bits/errno.h (EOVERFLOW): Added.
* io/fts.c (fts_build): Don't try to use d_type if it doesn't
exist.
* sysdeps/arm/sys/ucontext.h: New file.
1998-02-04 10:11 Philip Blundell <pb@nexus.co.uk>
* manual/stdio.texi (Formatted Output Functions): Explicitly say
that the return value from snprintf() does not count the
terminating NUL as a character.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* manual/users.texi: Rewrite to describe correct POSIX behaviour,
add description for sete[ug]id and general cleanup.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (parent-clean): Don't remove makefile fragments here.
(postclean): New variable.
(clean): Remove makefile fragments here.
(realclean distclean): Likewise. Pass sysdep-subdirs to sub-make.
(generated): Add isomac and isomanc.out.
* Makeconfig ($(common-objpfx)soversions.mk): Don't generate if
avoid-generated is set.
(postclean-generated): Add soversion.mk.
($(common-objpfx)version.mk): Don't include if avoid-generated is
set.
* Makerules: Still need to include $(+sysdir_pfx)sysd-Makefile if
avoid-generated is set.
(common-generated): Add libc.so and libc.so$(libc.so-version).
(generated): Add versioned libraries.
(common-mostlyclean): Also remove %.so and %_pic.a.
* csu/Makefile (generated): Add abi-tag.h.
* db2/Makefile (extra-objs): Add getlong.o.
* elf/Makefile (generated): Add ld.so, ldd and
$(rtld-installed-name).
(others): Add ldconfig here instead of ldconfig.o to extra-objs.
* malloc/Makefile (generated): Add mtrace.
* po/Makefile: Don't include version.mk, not needed any more.
* sunrpc/Makefile (generated): Add rpc-proto.d and rpcgen.
* sysdeps/unix/Makefile: Fix local_lim.h -> bits/local_lim.h,
syscall.h -> sys/syscall.h.
(common-generated): Add s-proto.d.
(postclean-generated): Add sysd-syscalls.
* localedata/Makefile (test-output): Add all output files.
(generated): Add test-input and test-output.
(generated-dirs): Add all the dirs.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (test-output, generated, generated-dirs): New
variables.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* resolv/nss_dns/dns-host.c: Various code cleanups.
1998-02-09 08:10 H.J. Lu <hjl@gnu.org>
* resolv/gethnamaddr.c (getanswer): Fix the PTR/CNAME bug.
From Philip Blundell <pb@nexus.co.uk>.
* resolv/nss_dns/dns-host.c (getanswer_r): Ditto.
1998-02-08 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* libc.map: Add .rem, .div, .mul, .udiv, .umul, .urem for Sparc.
Suggested by debian/sparc porters.
1998-02-07 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* misc/tst-efgcvt.c: Totally rewritten, added a lot of new tests
for ecvt and fcvt.
1998-02-10 16:32 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Use __xstat and
__fxstat instead of stat and fstat. Use namespace clean __stpcpy.
* signal/signal.h: Always define sigset_t if __need_sigset_t is
defined even if __USE_POSIX is not defined.
1998-02-02 20:51 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Correct last patch
to support obsolete tty major numbers correctly.
1998-02-02 08:47 H.J. Lu <hjl@gnu.org>
* login/Makefile ($(inst_libexecdir)/pt_chown): Make the target
directory first and ignore install error.
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Substract
128 from ptyno and fix a typo for the BSD style pty.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/Makefile ($(common-objpfx)s-proto.d): Depend on all
syscalls.list's.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add
getresuid and getresgid.
* sysdeps/unix/sysv/linux/getresuid.c: New file.
* sysdeps/unix/sysv/linux/getresgid.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Remove getres[ug]id, add
s_getres[ug]id.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add getres[ug]id.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
1998-02-02 08:11 H.J. Lu <hjl@gnu.org>
* nscd/grpcache.c: Include <stdlib.h>.
1998-02-01 16:01 H.J. Lu <hjl@gnu.org>
* stdlib/atoll.c: Fix comments.
* sysdeps/posix/ttyname.c: Ignore stdin/stdout/stderr.
* sysdeps/posix/ttyname_r.c: Ditto.
1998-02-03 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* io/sys/stat.h: Define S_IFLNK and S_IFSOCK if __USE_BSD or
__USE_MISC, independent of __USE_UNIX98.
1998-02-10 19:18 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
1998-02-04 11:58 Richard Henderson <rth@twiddle.rth.home>
* Makeconfig (CFLAGS-.os): Kill -fno-common.
* Makerules (libc.so): Prelink libc_pic.a, allocating commons.
* libc.map (GLIBC_2.1): Add Linux/Alpha tv64 symbols.
* elf/rtld.map: New file. Needed to define the GLIBC_2.*
version symbols.
* include/libc-symbols.h (symbol_version, default_symbol_version):
Provide asm versions and correct !DO_VERSIONING versions.
* sysdeps/unix/make-syscalls.sh: Recognize version symbols in
the weak symbol list.
* sysdeps/unix/sysv/linux/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
* sysdeps/unix/sysv/linux/sigpending.c: Likewise.
* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.
* sysdeps/unix/sysv/linux/sigsuspend.c: Likewise.
1998-02-04 16:41 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sunrpc/Makefile: Correct dependencies of rpcgen.
1998-02-10 03:00 Ulrich Drepper <drepper@happy.cygnus.com>
* nscd/Makefile: Fix test for available linuxthreads add-on.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-02-05 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/syscalls.list: Fix typo in lchown.
1998-02-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/gnu/Makefile: Respect with-cvs variable.
* manual/errno.texi (Error Messages): Correct description of
strerror_r. Pointed out by jonas@bagge.se.
1998-01-29 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/socket.texi (Host Address Functions): Clarify description
of inet_network.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/grantpt.c (argv): Move const to toplevel.
(grantpt): Delete superfluous cast.
1998-02-06 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile ($(inst_slibdir)/libc-$(version).so): Depend on
elf/ldso_install instead of elf/subdir_install.
(elf/ldso_install): New target.
* elf/Makefile (ldso_install): New target.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/powerpc/socket.S: Really do the change
of 1998-01-06.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/bits/string2.h (strcmp): Use __string2_1bptr_p only for
constant expressions.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* nss/test-netdb.c: Include <unistd.h> for gethostname and "nss.h"
for __nss_configure_lookup.
(output_hostent): Remove unused variable.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/tst-inlcall.c: Fix format string.
1998-02-09 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* inet/netinet/in.h: Rename second parameter of bindresvport to
avoid buggy gcc warning. [PR libc/412]
1998-02-10 20:06:30 +00:00
|
|
|
# Append any weak aliases or versions defined for this syscall function.
|
|
|
|
|
|
|
|
# A shortcoming in the current gas is that it will only allow one
|
|
|
|
# version-alias per symbol. So we create new strong aliases as needed.
|
|
|
|
vcount=""
|
|
|
|
|
1996-01-18 10:00:52 +00:00
|
|
|
for name in $weak; do
|
Update.
1998-02-10 23:57 Ulrich Drepper <drepper@happy.cygnus.com>
* misc/tst-efgcvt.c: Add more tests.
* misc/efgcvt_r.c: Correct result for above new tests.
1998-02-06 17:22 H.J. Lu <hjl@gnu.org>
* misc/efgcvt_r.c (fcvt_r, ecvt_r): Correctly handle
NDIGIT <= 0.
1998-02-10 16:48 Philip Blundell <pb@nexus.co.uk>
* Makerules (install-no-libc.a-nosubdir): Don't install-bin (etc)
if the programs weren't built.
1998-02-09 10:12 Philip Blundell <pb@nexus.co.uk>
* sysdeps/libm-ieee754/s_exp2.c (__ieee754_exp2): If we don't have
FE_TONEAREST, soldier on regardless and do the best we can.
* sysdeps/libm-ieee754/s_exp2f.c (__ieee754_exp2f): likewise.
1998-02-5 17:20 Philip Blundell <pb@nexus.co.uk>
* sysdeps/standalone/filedesc.h: Define __need_FOPEN_MAX, not
_STDIO_H, before including <bits/stdio_lim.h>.
* sysdeps/standalone/arm/bits/errno.h (EOVERFLOW): Added.
* io/fts.c (fts_build): Don't try to use d_type if it doesn't
exist.
* sysdeps/arm/sys/ucontext.h: New file.
1998-02-04 10:11 Philip Blundell <pb@nexus.co.uk>
* manual/stdio.texi (Formatted Output Functions): Explicitly say
that the return value from snprintf() does not count the
terminating NUL as a character.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* manual/users.texi: Rewrite to describe correct POSIX behaviour,
add description for sete[ug]id and general cleanup.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (parent-clean): Don't remove makefile fragments here.
(postclean): New variable.
(clean): Remove makefile fragments here.
(realclean distclean): Likewise. Pass sysdep-subdirs to sub-make.
(generated): Add isomac and isomanc.out.
* Makeconfig ($(common-objpfx)soversions.mk): Don't generate if
avoid-generated is set.
(postclean-generated): Add soversion.mk.
($(common-objpfx)version.mk): Don't include if avoid-generated is
set.
* Makerules: Still need to include $(+sysdir_pfx)sysd-Makefile if
avoid-generated is set.
(common-generated): Add libc.so and libc.so$(libc.so-version).
(generated): Add versioned libraries.
(common-mostlyclean): Also remove %.so and %_pic.a.
* csu/Makefile (generated): Add abi-tag.h.
* db2/Makefile (extra-objs): Add getlong.o.
* elf/Makefile (generated): Add ld.so, ldd and
$(rtld-installed-name).
(others): Add ldconfig here instead of ldconfig.o to extra-objs.
* malloc/Makefile (generated): Add mtrace.
* po/Makefile: Don't include version.mk, not needed any more.
* sunrpc/Makefile (generated): Add rpc-proto.d and rpcgen.
* sysdeps/unix/Makefile: Fix local_lim.h -> bits/local_lim.h,
syscall.h -> sys/syscall.h.
(common-generated): Add s-proto.d.
(postclean-generated): Add sysd-syscalls.
* localedata/Makefile (test-output): Add all output files.
(generated): Add test-input and test-output.
(generated-dirs): Add all the dirs.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (test-output, generated, generated-dirs): New
variables.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* resolv/nss_dns/dns-host.c: Various code cleanups.
1998-02-09 08:10 H.J. Lu <hjl@gnu.org>
* resolv/gethnamaddr.c (getanswer): Fix the PTR/CNAME bug.
From Philip Blundell <pb@nexus.co.uk>.
* resolv/nss_dns/dns-host.c (getanswer_r): Ditto.
1998-02-08 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* libc.map: Add .rem, .div, .mul, .udiv, .umul, .urem for Sparc.
Suggested by debian/sparc porters.
1998-02-07 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* misc/tst-efgcvt.c: Totally rewritten, added a lot of new tests
for ecvt and fcvt.
1998-02-10 16:32 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Use __xstat and
__fxstat instead of stat and fstat. Use namespace clean __stpcpy.
* signal/signal.h: Always define sigset_t if __need_sigset_t is
defined even if __USE_POSIX is not defined.
1998-02-02 20:51 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Correct last patch
to support obsolete tty major numbers correctly.
1998-02-02 08:47 H.J. Lu <hjl@gnu.org>
* login/Makefile ($(inst_libexecdir)/pt_chown): Make the target
directory first and ignore install error.
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Substract
128 from ptyno and fix a typo for the BSD style pty.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/Makefile ($(common-objpfx)s-proto.d): Depend on all
syscalls.list's.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add
getresuid and getresgid.
* sysdeps/unix/sysv/linux/getresuid.c: New file.
* sysdeps/unix/sysv/linux/getresgid.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Remove getres[ug]id, add
s_getres[ug]id.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add getres[ug]id.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
1998-02-02 08:11 H.J. Lu <hjl@gnu.org>
* nscd/grpcache.c: Include <stdlib.h>.
1998-02-01 16:01 H.J. Lu <hjl@gnu.org>
* stdlib/atoll.c: Fix comments.
* sysdeps/posix/ttyname.c: Ignore stdin/stdout/stderr.
* sysdeps/posix/ttyname_r.c: Ditto.
1998-02-03 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* io/sys/stat.h: Define S_IFLNK and S_IFSOCK if __USE_BSD or
__USE_MISC, independent of __USE_UNIX98.
1998-02-10 19:18 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
1998-02-04 11:58 Richard Henderson <rth@twiddle.rth.home>
* Makeconfig (CFLAGS-.os): Kill -fno-common.
* Makerules (libc.so): Prelink libc_pic.a, allocating commons.
* libc.map (GLIBC_2.1): Add Linux/Alpha tv64 symbols.
* elf/rtld.map: New file. Needed to define the GLIBC_2.*
version symbols.
* include/libc-symbols.h (symbol_version, default_symbol_version):
Provide asm versions and correct !DO_VERSIONING versions.
* sysdeps/unix/make-syscalls.sh: Recognize version symbols in
the weak symbol list.
* sysdeps/unix/sysv/linux/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
* sysdeps/unix/sysv/linux/sigpending.c: Likewise.
* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.
* sysdeps/unix/sysv/linux/sigsuspend.c: Likewise.
1998-02-04 16:41 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sunrpc/Makefile: Correct dependencies of rpcgen.
1998-02-10 03:00 Ulrich Drepper <drepper@happy.cygnus.com>
* nscd/Makefile: Fix test for available linuxthreads add-on.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-02-05 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/syscalls.list: Fix typo in lchown.
1998-02-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/gnu/Makefile: Respect with-cvs variable.
* manual/errno.texi (Error Messages): Correct description of
strerror_r. Pointed out by jonas@bagge.se.
1998-01-29 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/socket.texi (Host Address Functions): Clarify description
of inet_network.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/grantpt.c (argv): Move const to toplevel.
(grantpt): Delete superfluous cast.
1998-02-06 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile ($(inst_slibdir)/libc-$(version).so): Depend on
elf/ldso_install instead of elf/subdir_install.
(elf/ldso_install): New target.
* elf/Makefile (ldso_install): New target.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/powerpc/socket.S: Really do the change
of 1998-01-06.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/bits/string2.h (strcmp): Use __string2_1bptr_p only for
constant expressions.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* nss/test-netdb.c: Include <unistd.h> for gethostname and "nss.h"
for __nss_configure_lookup.
(output_hostent): Remove unused variable.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/tst-inlcall.c: Fix format string.
1998-02-09 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* inet/netinet/in.h: Rename second parameter of bindresvport to
avoid buggy gcc warning. [PR libc/412]
1998-02-10 20:06:30 +00:00
|
|
|
case $name in
|
|
|
|
*@@*)
|
Update.
1998-02-13 17:39 Ulrich Drepper <drepper@cygnus.com>
* elf/Makefile: Don't use --version-script parameter to link ld.so
unconditionally.
1998-01-02 04:19 Geoff Keating <geoffk@ozemail.com.au>
* math/Makefile: Add t_exp.
* math/libm-test.c: Tighten accuracy bounds for exp(), correct
constants.
* math/test-reduce.c: Remove temporarily, it seems to be broken.
* sysdeps/libm-ieee754/e_exp.c: Use accurate table method.
* sysdeps/libm-ieee754/e_expf.c: Use table & double precision for
better accuracy.
* sysdeps/libm-ieee754/s_exp2.c: Use better polynomial; correct
algorithm for very large/very small arguments.
* sysdeps/libm-ieee754/s_exp2f.c: Use slightly better polynomial;
correct algorithm for very large/very small arguments; adjust for
new table.
* sysdeps/libm-ieee754/t_exp.c: New file.
* sysdeps/libm-ieee754/t_exp2f.h: Use table with smaller deltas.
* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Put 'strange test'
back, with comment that explains what breaks when you remove it :-(.
* localedata/xfrm-test.c: Avoid integer overflow.
* stdlib/strfmon.c: char is unsigned, sometimes.
*sysdeps/powerpc
* sysdeps/powerpc/Makefile: Remove quad float support.
* sysdeps/powerpc/q_*.c: Remove, they will become an add-on.
* sysdeps/powerpc/quad_float.h: Likewise.
* sysdeps/powerpc/test-arith.c: Likewise.
* sysdeps/powerpc/test-arithf.c: Likewise.
* sysdeps/generic/s_exp2.c: Remove, we have this implemented now.
* sysdeps/generic/s_exp2f.c: Likewise.
* sysdeps/powerpc/bits/mathinline.h: Use underscores around __asm__,
don't try anything if _SOFT_FLOAT.
1997-12-31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* locale/C-ctype.c (_nl_C_LC_CTYPE_class32): Undo last change.
* locale/programs/ld-ctype.c (CHAR_CLASS32_TRANS): Likewise.
* wctype/wctype.c: Likewise.
* wctype/wctype.h (_ISwxxx): Renamed from _ISxxx, all uses
changed. They are incompatible with the _ISxxx values from
<ctype.h> on little endian machines.
(_ISwbit) [__BYTE_ORDER == __LITTLE_ENDIAN]: Correctly transform
bit number. This fixes the real bug and restores the integrity of
the ctype locale file.
* wctype/wcfuncs.c: Change all _ISxxx to _ISwxxx.
* wctype/wcfuncs_l.c: Likewise.
* wctype/wcextra.c: Likewise.
* wctype/wctype_l.c [__BYTE_ORDER == __LITTLE_ENDIAN]: Use correct
byte swapping.
1998-02-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.S (errno): Put it
into .bss segment instead of .common, so that aliases on it work.
* sysdeps/unix/sysv/linux/i386/sysdep.S (errno): Add .type and
.size directives, put into .bss segment instead of initializing it
to 4.
1998-02-12 08:00 H.J. Lu <hjl@gnu.org>
* libc.map (gnu_get_libc_release, gnu_get_libc_version): Added.
* version.c (__gnu_get_libc_release, __gnu_get_libc_version): New
functions.
Make names without __ weak aliases.
(__libc_release, __libc_version): Make them static.
* include/gnu/libc-version.h: New file.
* Makefile (headers): Add gnu/libc-version.h.
1998-02-13 Ulrich Drepper <drepper@cygnus.com>
* stdlib/stdlib.h (struct drand48_data): Leave X to user macros
and use x for member name.
Reported by Daniel Lyddy <daniell@cs.berkeley.edu>.
* stdlib/drand48.c: Change according to member name change.
* stdlib/drand48_r.c: Likewise.
* stdlib/lcong48_r.c: Likewise.
* stdlib/lrand48.c: Likewise.
* stdlib/lrand48_r.c: Likewise.
* stdlib/mrand48.c: Likewise.
* stdlib/mrand48_r.c: Likewise.
* stdlib/seed48.c: Likewise.
* stdlib/seed48_r.c: Likewise.
* stdlib/srand48_r.c: Likewise.
1998-02-11 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* nss/test-netdb.c: Add some more test cases.
1998-02-13 11:39 Ulrich Drepper <drepper@cygnus.com>
* libio/iovsscanf.c: Undo last change modifying errno.
1998-02-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* stdio-common/vfscanf.c: Never try to read another character
after EOF. Don't decrement read_in after EOF, it wasn't
incremented in the first place.
(NEXT_WIDE_CHAR): Set First, not first.
1998-02-06 07:48 H.J. Lu <hjl@gnu.org>
* db/Makefile ($(inst_libdir)/libndbm.a,
$(inst_libdir)/libndbm.so): New targets.
* db2/Makefile: Likewise.
1998-02-12 08:20 H.J. Lu <hjl@gnu.org>
* sysdeps/gnu/errlist.awk (sys_errlist, sys_nerr): Create weak
aliases if HAVE_ELF or PIC or DO_VERSIONING is not defined.
1998-02-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/generic/_G_config.h: Define _G_wchar_t, for C++
<streambuf.h>.
* sysdeps/unix/sysv/linux/_G_config.h: Likewise.
1998-02-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/make-syscalls.sh: Fix sed pattern when dealing with
versioned symbols.
1998-02-13 08:14 H.J. Lu <hjl@gnu.org>
* libc.map (_dl_global_scope, _dl_lookup_symbol_skip,
_dl_lookup_versioned_symbol, _dl_lookup_versioned_symbol_skip):
Added for libdl.so.
* elf/rtld.map: New file. Needed to define the GLIBC_2.*
* manual/socket.texi (Host Address Functions): Clarify description
* sysdeps/unix/sysv/linux/alpha/bits/time.h (struct timeval):
1998-02-13 17:54:15 +00:00
|
|
|
base=`echo $name | sed 's/@@.*//'`
|
|
|
|
ver=`echo $name | sed 's/.*@@//'`
|
Update.
1998-02-10 23:57 Ulrich Drepper <drepper@happy.cygnus.com>
* misc/tst-efgcvt.c: Add more tests.
* misc/efgcvt_r.c: Correct result for above new tests.
1998-02-06 17:22 H.J. Lu <hjl@gnu.org>
* misc/efgcvt_r.c (fcvt_r, ecvt_r): Correctly handle
NDIGIT <= 0.
1998-02-10 16:48 Philip Blundell <pb@nexus.co.uk>
* Makerules (install-no-libc.a-nosubdir): Don't install-bin (etc)
if the programs weren't built.
1998-02-09 10:12 Philip Blundell <pb@nexus.co.uk>
* sysdeps/libm-ieee754/s_exp2.c (__ieee754_exp2): If we don't have
FE_TONEAREST, soldier on regardless and do the best we can.
* sysdeps/libm-ieee754/s_exp2f.c (__ieee754_exp2f): likewise.
1998-02-5 17:20 Philip Blundell <pb@nexus.co.uk>
* sysdeps/standalone/filedesc.h: Define __need_FOPEN_MAX, not
_STDIO_H, before including <bits/stdio_lim.h>.
* sysdeps/standalone/arm/bits/errno.h (EOVERFLOW): Added.
* io/fts.c (fts_build): Don't try to use d_type if it doesn't
exist.
* sysdeps/arm/sys/ucontext.h: New file.
1998-02-04 10:11 Philip Blundell <pb@nexus.co.uk>
* manual/stdio.texi (Formatted Output Functions): Explicitly say
that the return value from snprintf() does not count the
terminating NUL as a character.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* manual/users.texi: Rewrite to describe correct POSIX behaviour,
add description for sete[ug]id and general cleanup.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (parent-clean): Don't remove makefile fragments here.
(postclean): New variable.
(clean): Remove makefile fragments here.
(realclean distclean): Likewise. Pass sysdep-subdirs to sub-make.
(generated): Add isomac and isomanc.out.
* Makeconfig ($(common-objpfx)soversions.mk): Don't generate if
avoid-generated is set.
(postclean-generated): Add soversion.mk.
($(common-objpfx)version.mk): Don't include if avoid-generated is
set.
* Makerules: Still need to include $(+sysdir_pfx)sysd-Makefile if
avoid-generated is set.
(common-generated): Add libc.so and libc.so$(libc.so-version).
(generated): Add versioned libraries.
(common-mostlyclean): Also remove %.so and %_pic.a.
* csu/Makefile (generated): Add abi-tag.h.
* db2/Makefile (extra-objs): Add getlong.o.
* elf/Makefile (generated): Add ld.so, ldd and
$(rtld-installed-name).
(others): Add ldconfig here instead of ldconfig.o to extra-objs.
* malloc/Makefile (generated): Add mtrace.
* po/Makefile: Don't include version.mk, not needed any more.
* sunrpc/Makefile (generated): Add rpc-proto.d and rpcgen.
* sysdeps/unix/Makefile: Fix local_lim.h -> bits/local_lim.h,
syscall.h -> sys/syscall.h.
(common-generated): Add s-proto.d.
(postclean-generated): Add sysd-syscalls.
* localedata/Makefile (test-output): Add all output files.
(generated): Add test-input and test-output.
(generated-dirs): Add all the dirs.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (test-output, generated, generated-dirs): New
variables.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* resolv/nss_dns/dns-host.c: Various code cleanups.
1998-02-09 08:10 H.J. Lu <hjl@gnu.org>
* resolv/gethnamaddr.c (getanswer): Fix the PTR/CNAME bug.
From Philip Blundell <pb@nexus.co.uk>.
* resolv/nss_dns/dns-host.c (getanswer_r): Ditto.
1998-02-08 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* libc.map: Add .rem, .div, .mul, .udiv, .umul, .urem for Sparc.
Suggested by debian/sparc porters.
1998-02-07 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* misc/tst-efgcvt.c: Totally rewritten, added a lot of new tests
for ecvt and fcvt.
1998-02-10 16:32 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Use __xstat and
__fxstat instead of stat and fstat. Use namespace clean __stpcpy.
* signal/signal.h: Always define sigset_t if __need_sigset_t is
defined even if __USE_POSIX is not defined.
1998-02-02 20:51 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Correct last patch
to support obsolete tty major numbers correctly.
1998-02-02 08:47 H.J. Lu <hjl@gnu.org>
* login/Makefile ($(inst_libexecdir)/pt_chown): Make the target
directory first and ignore install error.
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Substract
128 from ptyno and fix a typo for the BSD style pty.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/Makefile ($(common-objpfx)s-proto.d): Depend on all
syscalls.list's.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add
getresuid and getresgid.
* sysdeps/unix/sysv/linux/getresuid.c: New file.
* sysdeps/unix/sysv/linux/getresgid.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Remove getres[ug]id, add
s_getres[ug]id.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add getres[ug]id.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
1998-02-02 08:11 H.J. Lu <hjl@gnu.org>
* nscd/grpcache.c: Include <stdlib.h>.
1998-02-01 16:01 H.J. Lu <hjl@gnu.org>
* stdlib/atoll.c: Fix comments.
* sysdeps/posix/ttyname.c: Ignore stdin/stdout/stderr.
* sysdeps/posix/ttyname_r.c: Ditto.
1998-02-03 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* io/sys/stat.h: Define S_IFLNK and S_IFSOCK if __USE_BSD or
__USE_MISC, independent of __USE_UNIX98.
1998-02-10 19:18 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
1998-02-04 11:58 Richard Henderson <rth@twiddle.rth.home>
* Makeconfig (CFLAGS-.os): Kill -fno-common.
* Makerules (libc.so): Prelink libc_pic.a, allocating commons.
* libc.map (GLIBC_2.1): Add Linux/Alpha tv64 symbols.
* elf/rtld.map: New file. Needed to define the GLIBC_2.*
version symbols.
* include/libc-symbols.h (symbol_version, default_symbol_version):
Provide asm versions and correct !DO_VERSIONING versions.
* sysdeps/unix/make-syscalls.sh: Recognize version symbols in
the weak symbol list.
* sysdeps/unix/sysv/linux/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
* sysdeps/unix/sysv/linux/sigpending.c: Likewise.
* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.
* sysdeps/unix/sysv/linux/sigsuspend.c: Likewise.
1998-02-04 16:41 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sunrpc/Makefile: Correct dependencies of rpcgen.
1998-02-10 03:00 Ulrich Drepper <drepper@happy.cygnus.com>
* nscd/Makefile: Fix test for available linuxthreads add-on.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-02-05 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/syscalls.list: Fix typo in lchown.
1998-02-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/gnu/Makefile: Respect with-cvs variable.
* manual/errno.texi (Error Messages): Correct description of
strerror_r. Pointed out by jonas@bagge.se.
1998-01-29 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/socket.texi (Host Address Functions): Clarify description
of inet_network.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/grantpt.c (argv): Move const to toplevel.
(grantpt): Delete superfluous cast.
1998-02-06 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile ($(inst_slibdir)/libc-$(version).so): Depend on
elf/ldso_install instead of elf/subdir_install.
(elf/ldso_install): New target.
* elf/Makefile (ldso_install): New target.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/powerpc/socket.S: Really do the change
of 1998-01-06.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/bits/string2.h (strcmp): Use __string2_1bptr_p only for
constant expressions.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* nss/test-netdb.c: Include <unistd.h> for gethostname and "nss.h"
for __nss_configure_lookup.
(output_hostent): Remove unused variable.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/tst-inlcall.c: Fix format string.
1998-02-09 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* inet/netinet/in.h: Rename second parameter of bindresvport to
avoid buggy gcc warning. [PR libc/412]
1998-02-10 20:06:30 +00:00
|
|
|
if test -z "$vcount" ; then
|
|
|
|
source=$strong
|
|
|
|
vcount=1
|
|
|
|
else
|
|
|
|
source="${strong}_${vcount}"
|
|
|
|
vcount=`expr $vcount + 1`
|
|
|
|
echo " echo 'strong_alias ($strong, $source)'; \\"
|
|
|
|
fi
|
|
|
|
echo " echo 'default_symbol_version($source, $base, $ver)'; \\"
|
|
|
|
;;
|
|
|
|
*@*)
|
|
|
|
base=`echo $name | sed 's/@.*//'`
|
|
|
|
ver=`echo $name | sed 's/.*@//'`
|
|
|
|
if test -z "$vcount" ; then
|
|
|
|
source=$strong
|
|
|
|
vcount=1
|
|
|
|
else
|
|
|
|
source="${strong}_${vcount}"
|
|
|
|
vcount=`expr $vcount + 1`
|
|
|
|
echo " echo 'strong_alias ($strong, $source)'; \\"
|
|
|
|
fi
|
|
|
|
echo " echo 'symbol_version($source, $base, $ver)'; \\"
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo " echo 'weak_alias ($strong, $name)'; \\"
|
|
|
|
;;
|
|
|
|
esac
|
1996-01-18 10:00:52 +00:00
|
|
|
done
|
|
|
|
|
|
|
|
# And finally, pipe this all into the compiler.
|
|
|
|
echo ' ) | $(COMPILE.S) -x assembler-with-cpp -o $@ -'
|
|
|
|
|
Update.
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.
1998-02-26 17:17:05 +00:00
|
|
|
case $weak in
|
|
|
|
*@*)
|
|
|
|
# The versioned symbols are only in the shared library.
|
|
|
|
echo endif
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2000-06-13 07:33:12 +00:00
|
|
|
echo endif
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2000-06-15 19:06:12 +00:00
|
|
|
case x"$callnum",$srcfile,$args in
|
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-05 Greg McGary <greg@mcgary.org>
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-06 00:48:39 +00:00
|
|
|
x-,-,* | x*,*.[sS],*V*) ;;
|
2000-07-17 22:28:59 +00:00
|
|
|
x*,-,*$ptr* | x*,*.[sS],*$ptr*)
|
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-05 Greg McGary <greg@mcgary.org>
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-06 00:48:39 +00:00
|
|
|
|
2000-07-11 19:30:53 +00:00
|
|
|
nv_weak=`for name in $weak; do
|
|
|
|
case $name in
|
|
|
|
*@*) ;;
|
|
|
|
*) echo $name;;
|
|
|
|
esac; done`
|
|
|
|
|
2000-07-08 07:12:48 +00:00
|
|
|
# choose the name with the fewest leading underscores, preferably none
|
2000-07-11 19:30:53 +00:00
|
|
|
set `echo $strong $nv_weak |tr '@ \t' ' \n\n' |sort -r`
|
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-05 Greg McGary <greg@mcgary.org>
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-06 00:48:39 +00:00
|
|
|
callname=$1
|
|
|
|
|
|
|
|
# convert signature string to individual numbered arg names
|
|
|
|
# e.g., i:ipbN -> i0 i1 p2 b3 N4
|
|
|
|
set `echo $args |
|
2000-07-17 22:28:59 +00:00
|
|
|
sed -e 's/^\(.\):\(.*\)/\2 <\10>/' \
|
|
|
|
-e 's/^\([^ ]\)\(.*\)/\2 <\11>/' \
|
|
|
|
-e 's/^\([^ ]\)\(.*\)/\2 <\12>/' \
|
|
|
|
-e 's/^\([^ ]\)\(.*\)/\2 <\13>/' \
|
|
|
|
-e 's/^\([^ ]\)\(.*\)/\2 <\14>/' \
|
|
|
|
-e 's/^\([^ ]\)\(.*\)/\2 <\15>/' \
|
|
|
|
-e 's/^\([^ ]\)\(.*\)/\2 <\16>/' \
|
|
|
|
-e 's/^\([^ ]\)\(.*\)/\2 <\17>/' \
|
|
|
|
-e 's/^\([^ ]\)\(.*\)/\2 <\18>/' \
|
|
|
|
-e 's/^\([^ ]\)\(.*\)/\2 <\19>/'`
|
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-05 Greg McGary <greg@mcgary.org>
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-06 00:48:39 +00:00
|
|
|
rtn=$1; shift
|
|
|
|
args=$*
|
|
|
|
arglist=`echo $* |sed 's/ /, /g'`
|
|
|
|
|
|
|
|
# The best way to understand what's going on here is to examine
|
|
|
|
# the output in BUILDDIR/sysd-syscalls.
|
|
|
|
|
|
|
|
# generate makefile envelope & rule head
|
2000-06-13 07:33:12 +00:00
|
|
|
echo "ifeq (,\$(filter $file,\$(bp-thunks)))"
|
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-05 Greg McGary <greg@mcgary.org>
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-06 00:48:39 +00:00
|
|
|
echo "bp-thunks += $file"
|
|
|
|
echo "\$(objpfx)\$(bppfx)$file.ob: \$(common-objpfx)s-proto.d"
|
|
|
|
|
2000-07-17 22:28:59 +00:00
|
|
|
# generate macro head
|
|
|
|
echo " (echo '#define $callname(`echo $arglist | \
|
|
|
|
sed -e 's/[<>]//g'`) `echo $rtn | \
|
|
|
|
sed -e 's/<\('$typ'0\)>/\1v;/g' \
|
|
|
|
-e 's/<\(b0\)>/x0; extern char \1v;/g'` \\'; \\"
|
|
|
|
|
|
|
|
# generate extern decls of dummy variables for each arg
|
|
|
|
echo " echo '`echo $args | \
|
|
|
|
sed -e 's/<\('$typ'[1-9]\)>/extern \1, \1v;/g' \
|
2000-09-08 08:41:45 +00:00
|
|
|
-e 's/<\([abBFIsSV][1-9]\)>/extern char \1v;/g' \
|
2000-07-17 22:28:59 +00:00
|
|
|
-e 's/<\([Wv][1-9]\)>/extern int \1v;/g'` \\'; \\"
|
|
|
|
|
|
|
|
# generate bounded-pointer thunk declarator
|
|
|
|
echo " echo '`echo $rtn | \
|
|
|
|
sed -e 's/<\('$ptr'0\)>/__typeof (\1v) *__bounded/g' \
|
|
|
|
-e 's/<\('$int'0\)>/__typeof (\1v)/g'` BP_SYM ($strong) (`echo $arglist | \
|
|
|
|
sed -e 's/<\('$ptr'[1-9]\)>/__typeof (\1v) *__bounded \1a/g' \
|
|
|
|
-e 's/<\('$int'[1-9]\)>/__typeof (\1v) \1a/g'`) { \\'; \\"
|
|
|
|
|
|
|
|
# generate extern primitive syscall declaration
|
|
|
|
echo " echo ' extern `echo $rtn | \
|
|
|
|
sed -e 's/<\('$ptr'0\)>/__typeof (\1v) *__unbounded/g' \
|
|
|
|
-e 's/<\('$int'0\)>/__typeof (\1v)/g'` ($callname) (`echo $arglist | \
|
|
|
|
sed -e 's/<\('$ptr'[1-9]\)>/__typeof (\1v) *__unbounded/g' \
|
|
|
|
-e 's/<\('$int'[1-9]\)>/__typeof (\1v)/g'`); \\'; \\"
|
|
|
|
|
|
|
|
# generate call the primtive system call, optionally wrapping bounds
|
|
|
|
# around the result if the signature's return keyletter is `b'.
|
|
|
|
echo " echo ' return `echo $rtn |
|
|
|
|
sed -e 's/<b0>/BOUNDED_N (/' \
|
|
|
|
-e 's/<.0>//'`($callname) (`echo $arglist | \
|
|
|
|
sed -e 's/<\(a[1-9]\)>/__ptrvalue (\1a)/g' \
|
2000-09-08 08:41:45 +00:00
|
|
|
-e 's/<\(n[1-9]\)>, <\(V[1-9]\)>/\1a, CHECK_N_PAGES (\2a, \1a)/g' \
|
2000-07-17 22:28:59 +00:00
|
|
|
-e 's/<\(b[1-9]\)>, <\(n[1-9]\)>/CHECK_N (\1a, \2a), \2a/g' \
|
|
|
|
-e 's/<\(b[1-9]\)>, <\(N[1-9]\)>/CHECK_N (\1a, *CHECK_1 (\2a)), __ptrvalue (\2a)/g' \
|
Update.
2000-08-17 Greg McGary <greg@mcgary.org>
* Makeconfig (link-extra-libs-bounded): Strip `-bp' suffix
from test program name when constructing suffix for $(LDLIBS-*).
(bounded-thread-library): New variable.
* crypt/Makefile
[build-shared, build-static] (libcrypt-dep): Remove variable.
($(addprefix $(objpfx),$(tests))): Consolidate individual dependencies.
[build-bounded] ($(tests:%=$(objpfx)%-bp)): Add dependencies.
* linuxthreads/Makefile (libpthread, librt): Remove variables.
(librt-tests): Add variable. (tests): Use it.
[build-shared, build-static]
($(addprefix $(objpfx),$(tests)), $(addprefix $(objpfx),$(librt-tests))):
Consolidate individual dependencies.
[build-bounded]
($(tests:%=$(objpfx)%-bp), $(librt-tests:%=$(objpfx)%-bp)):
Add dependencies.
* math/Makefile (LDLIBS-*): Remove variables (they are redundant).
[build-bounded] ($(tests:%=$(objpfx)%-bp)): Add dependencies.
* misc/Makefile
[build-bounded] ($(objpfx)tst-tsearch-bp): Add dependencies.
* rt/Makefile
[build-shared, build-static]
($(addprefix $(objpfx),$(tests))): Consolidate individual dependencies.
[build-bounded] ($(tests:%=$(objpfx)%-bp)): Add dependencies.
2000-08-17 Greg McGary <greg@mcgary.org>
* sysdeps/generic/bp-checks.h: s/\(CHECK\w+\)opt/\1_NULL_OK/
* sysdeps/unix/make-syscalls.sh: Likewise.
* sysdeps/unix/sysv/linux/shmctl.c: Likewise.
* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.
* sysdeps/unix/sysv/linux/ia64/sigaction.c: Likewise.
* sysdeps/unix/sysv/linux/ia64/sigprocmask.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c: Likewise.
2000-08-17 Greg McGary <greg@mcgary.org>
* sysdeps/i386/fpu/s_frexp.S: Check bounds.
Wrap extern symbols in BP_SYM ().
* sysdeps/i386/fpu/s_frexpf.S: Likewise.
* sysdeps/i386/fpu/s_frexpl.S: Likewise.
* sysdeps/i386/fpu/s_remquo.S: Likewise.
* sysdeps/i386/fpu/s_remquof.S: Likewise.
* sysdeps/i386/fpu/s_remquol.S: Likewise.
* sysdeps/i386/fpu/s_sincos.S: Likewise.
* sysdeps/i386/fpu/s_sincosf.S: Likewise.
* sysdeps/i386/fpu/s_sincosl.S: Likewise.
* sysdeps/unix/sysv/linux/i386/clone.S: Likewise.
* sysdeps/unix/sysv/linux/i386/mmap64.S: Likewise.
2000-08-17 07:38:02 +00:00
|
|
|
-e 's/<\(B[1-9]\)>, <\(n[1-9]\)>/CHECK_N_NULL_OK (\1a, \2a), \2a/g' \
|
|
|
|
-e 's/<\(B[1-9]\)>, <\(N[1-9]\)>/CHECK_N_NULL_OK (\1a, *CHECK_1 (\2a)), __ptrvalue (\2a)/g' \
|
2000-07-17 22:28:59 +00:00
|
|
|
-e 's/<\(f[1-9]\)>/CHECK_N (\1a, 2)/g' \
|
|
|
|
-e 's/<\(i[1-9]\)>, <\(F[1-9]\)>/\1a, CHECK_FCNTL (\2a, \1a)/g' \
|
|
|
|
-e 's/<\(i[1-9]\)>, <\(I[1-9]\)>/\1a, CHECK_IOCTL (\2a, \1a)/g' \
|
|
|
|
-e 's/<\(p[1-9]\)>/CHECK_1 (\1a)/g' \
|
Update.
2000-08-17 Greg McGary <greg@mcgary.org>
* Makeconfig (link-extra-libs-bounded): Strip `-bp' suffix
from test program name when constructing suffix for $(LDLIBS-*).
(bounded-thread-library): New variable.
* crypt/Makefile
[build-shared, build-static] (libcrypt-dep): Remove variable.
($(addprefix $(objpfx),$(tests))): Consolidate individual dependencies.
[build-bounded] ($(tests:%=$(objpfx)%-bp)): Add dependencies.
* linuxthreads/Makefile (libpthread, librt): Remove variables.
(librt-tests): Add variable. (tests): Use it.
[build-shared, build-static]
($(addprefix $(objpfx),$(tests)), $(addprefix $(objpfx),$(librt-tests))):
Consolidate individual dependencies.
[build-bounded]
($(tests:%=$(objpfx)%-bp), $(librt-tests:%=$(objpfx)%-bp)):
Add dependencies.
* math/Makefile (LDLIBS-*): Remove variables (they are redundant).
[build-bounded] ($(tests:%=$(objpfx)%-bp)): Add dependencies.
* misc/Makefile
[build-bounded] ($(objpfx)tst-tsearch-bp): Add dependencies.
* rt/Makefile
[build-shared, build-static]
($(addprefix $(objpfx),$(tests))): Consolidate individual dependencies.
[build-bounded] ($(tests:%=$(objpfx)%-bp)): Add dependencies.
2000-08-17 Greg McGary <greg@mcgary.org>
* sysdeps/generic/bp-checks.h: s/\(CHECK\w+\)opt/\1_NULL_OK/
* sysdeps/unix/make-syscalls.sh: Likewise.
* sysdeps/unix/sysv/linux/shmctl.c: Likewise.
* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.
* sysdeps/unix/sysv/linux/ia64/sigaction.c: Likewise.
* sysdeps/unix/sysv/linux/ia64/sigprocmask.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c: Likewise.
2000-08-17 Greg McGary <greg@mcgary.org>
* sysdeps/i386/fpu/s_frexp.S: Check bounds.
Wrap extern symbols in BP_SYM ().
* sysdeps/i386/fpu/s_frexpf.S: Likewise.
* sysdeps/i386/fpu/s_frexpl.S: Likewise.
* sysdeps/i386/fpu/s_remquo.S: Likewise.
* sysdeps/i386/fpu/s_remquof.S: Likewise.
* sysdeps/i386/fpu/s_remquol.S: Likewise.
* sysdeps/i386/fpu/s_sincos.S: Likewise.
* sysdeps/i386/fpu/s_sincosf.S: Likewise.
* sysdeps/i386/fpu/s_sincosl.S: Likewise.
* sysdeps/unix/sysv/linux/i386/clone.S: Likewise.
* sysdeps/unix/sysv/linux/i386/mmap64.S: Likewise.
2000-08-17 07:38:02 +00:00
|
|
|
-e 's/<\([PW][1-9]\)>/CHECK_1_NULL_OK (\1a)/g' \
|
2000-07-17 22:28:59 +00:00
|
|
|
-e 's/<\(s[1-9]\)>/CHECK_STRING (\1a)/g' \
|
Update.
2000-08-17 Greg McGary <greg@mcgary.org>
* Makeconfig (link-extra-libs-bounded): Strip `-bp' suffix
from test program name when constructing suffix for $(LDLIBS-*).
(bounded-thread-library): New variable.
* crypt/Makefile
[build-shared, build-static] (libcrypt-dep): Remove variable.
($(addprefix $(objpfx),$(tests))): Consolidate individual dependencies.
[build-bounded] ($(tests:%=$(objpfx)%-bp)): Add dependencies.
* linuxthreads/Makefile (libpthread, librt): Remove variables.
(librt-tests): Add variable. (tests): Use it.
[build-shared, build-static]
($(addprefix $(objpfx),$(tests)), $(addprefix $(objpfx),$(librt-tests))):
Consolidate individual dependencies.
[build-bounded]
($(tests:%=$(objpfx)%-bp), $(librt-tests:%=$(objpfx)%-bp)):
Add dependencies.
* math/Makefile (LDLIBS-*): Remove variables (they are redundant).
[build-bounded] ($(tests:%=$(objpfx)%-bp)): Add dependencies.
* misc/Makefile
[build-bounded] ($(objpfx)tst-tsearch-bp): Add dependencies.
* rt/Makefile
[build-shared, build-static]
($(addprefix $(objpfx),$(tests))): Consolidate individual dependencies.
[build-bounded] ($(tests:%=$(objpfx)%-bp)): Add dependencies.
2000-08-17 Greg McGary <greg@mcgary.org>
* sysdeps/generic/bp-checks.h: s/\(CHECK\w+\)opt/\1_NULL_OK/
* sysdeps/unix/make-syscalls.sh: Likewise.
* sysdeps/unix/sysv/linux/shmctl.c: Likewise.
* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.
* sysdeps/unix/sysv/linux/ia64/sigaction.c: Likewise.
* sysdeps/unix/sysv/linux/ia64/sigprocmask.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c: Likewise.
2000-08-17 Greg McGary <greg@mcgary.org>
* sysdeps/i386/fpu/s_frexp.S: Check bounds.
Wrap extern symbols in BP_SYM ().
* sysdeps/i386/fpu/s_frexpf.S: Likewise.
* sysdeps/i386/fpu/s_frexpl.S: Likewise.
* sysdeps/i386/fpu/s_remquo.S: Likewise.
* sysdeps/i386/fpu/s_remquof.S: Likewise.
* sysdeps/i386/fpu/s_remquol.S: Likewise.
* sysdeps/i386/fpu/s_sincos.S: Likewise.
* sysdeps/i386/fpu/s_sincosf.S: Likewise.
* sysdeps/i386/fpu/s_sincosl.S: Likewise.
* sysdeps/unix/sysv/linux/i386/clone.S: Likewise.
* sysdeps/unix/sysv/linux/i386/mmap64.S: Likewise.
2000-08-17 07:38:02 +00:00
|
|
|
-e 's/<\(S[1-9]\)>/CHECK_STRING_NULL_OK (\1a)/g' \
|
2000-07-17 22:28:59 +00:00
|
|
|
-e 's/<\([ivn][1-9]\)>/\1a/g'`)`echo $rtn $args |
|
|
|
|
sed -e 's/<b0>.*<\(n[1-9]\)>.*/, \1a)/' \
|
|
|
|
-e 's/<.0>.*//'`; \\'; \\"
|
|
|
|
|
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-05 Greg McGary <greg@mcgary.org>
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-06 00:48:39 +00:00
|
|
|
echo " echo '} \\'; \\"
|
|
|
|
|
|
|
|
# generate thunk aliases
|
2000-07-11 19:30:53 +00:00
|
|
|
for name in $nv_weak; do
|
|
|
|
echo " echo 'weak_alias (BP_SYM ($strong), BP_SYM ($name)) \\'; \\"
|
2000-06-13 07:33:12 +00:00
|
|
|
done
|
2000-07-11 19:30:53 +00:00
|
|
|
|
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-05 Greg McGary <greg@mcgary.org>
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-06 00:48:39 +00:00
|
|
|
# wrap up
|
|
|
|
echo "\
|
|
|
|
echo ''; \\
|
|
|
|
echo '#include <bp-thunks.h>'; \\
|
|
|
|
) | \$(COMPILE.c) -x c -o \$@ -"
|
|
|
|
### Use this for debugging intermediate output:
|
2000-07-17 22:28:59 +00:00
|
|
|
### ) >\$(@:.ob=.c)
|
|
|
|
### \$(subst -c,-E,\$(COMPILE.c)) -o \$(@:.ob=.ib) \$(@:.ob=.c)
|
|
|
|
### \$(COMPILE.c) -x cpp-output -o \$@ \$(@:.ob=.ib)"
|
2000-06-13 07:33:12 +00:00
|
|
|
echo endif
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
1996-01-18 10:00:52 +00:00
|
|
|
done
|