diff options
55 files changed, 1171 insertions, 69 deletions
@@ -1,3 +1,80 @@ +2000-01-12 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_32BITUIDS): + Added for Linux 2.3.39+. + + * sysdeps/unix/sysv/linux/getresgid.c: Support 32bit UIDs and + 32bit GIDs. + * sysdeps/unix/sysv/linux/getresuid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/chown.c: Likewise. + * sysdeps/unix/sysv/linux/i386/getgroups.c: Likewise. + * sysdeps/unix/sysv/linux/i386/setegid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/seteuid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/setfsgid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/setfsuid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/setgid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/setgroups.c: Likewise. + * sysdeps/unix/sysv/linux/i386/setregid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/setuid.c: Likewise. + * sysdeps/unix/sysv/linux/setegid.c: Likewise. + + * sysdeps/unix/sysv/linux/arm/chown.c: New file. + * sysdeps/unix/sysv/linux/arm/fchown.c: New file. + * sysdeps/unix/sysv/linux/arm/geteuid.c: New file. + * sysdeps/unix/sysv/linux/arm/getegid.c: New file. + * sysdeps/unix/sysv/linux/arm/getuid.c: New file. + * sysdeps/unix/sysv/linux/arm/getgid.c: New file. + * sysdeps/unix/sysv/linux/arm/lchown.c: New file. + * sysdeps/unix/sysv/linux/i386/fchown.c: New file. + * sysdeps/unix/sysv/linux/i386/getegid.c: New file. + * sysdeps/unix/sysv/linux/i386/geteuid.c: New file. + * sysdeps/unix/sysv/linux/i386/getgid.c: New file. + * sysdeps/unix/sysv/linux/i386/getuid.c: New file. + * sysdeps/unix/sysv/linux/i386/lchown.c: New file. + * sysdeps/unix/sysv/linux/m68k/chown.c: New file. + * sysdeps/unix/sysv/linux/m68k/fchown.c: New file. + * sysdeps/unix/sysv/linux/m68k/getegid.c: New file. + * sysdeps/unix/sysv/linux/m68k/geteuid.c: New file. + * sysdeps/unix/sysv/linux/m68k/getgid.c: New file. + * sysdeps/unix/sysv/linux/m68k/getuid.c: New file. + * sysdeps/unix/sysv/linux/m68k/lchown.c: New file. + * sysdeps/unix/sysv/linux/sparc/sparc32/chown.c: New file. + * sysdeps/unix/sysv/linux/sparc/sparc32/fchown.c: New file. + * sysdeps/unix/sysv/linux/sparc/sparc32/getegid.c: New file. + * sysdeps/unix/sysv/linux/sparc/sparc32/geteuid.c: New file. + * sysdeps/unix/sysv/linux/sparc/sparc32/getgid.c: New file. + * sysdeps/unix/sysv/linux/sparc/sparc32/getuid.c: New file. + * sysdeps/unix/sysv/linux/sparc/sparc32/lchown.c: New file. + Based on a patch by Chris Wing <wingc@engin.umich.edu>. + +2000-01-14 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/sysv/linux/sparc/sys/procfs.h: New file. + +2000-01-13 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/generic/backtrace.c: Include signal.h which + sigcontextinfo.h headers are used to expect. + * sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h + (register_dump): Fix a typo in the printout. + Avoid using reg_window, so that asm/ptrace.h is not necessary. + * sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h + (ADVANCE_STACK_FRAME): Likewise. + + * stdlib/longlong.h: Avoid using __sparc_v9__ ifdefs. + * sysdeps/sparc/sparc32/bits/wordsize.h: Likewise. + * sysdeps/sparc/sparc64/bits/wordsize.h: Likewise. + + * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Include bits/wordsize.h + to make it clear this file depends on __WORDSIZE. + * sysdeps/unix/sysv/linux/ftruncate64.c (__have_no_truncate64): + Renamed from have_no_truncate64. + * sysdeps/unix/sysv/linux/truncate64.c (__have_no_truncate64): + Likewise. + 2000-01-16 Ulrich Drepper <drepper@cygnus.com> * Makeconfig (rpath-dirs): Remove db2. diff --git a/stdlib/longlong.h b/stdlib/longlong.h index 6d349e2b3a..58a301c610 100644 --- a/stdlib/longlong.h +++ b/stdlib/longlong.h @@ -993,8 +993,8 @@ UDItype __umulsidi3 (USItype, USItype); #define UMUL_TIME 5 #endif -#if defined (__sparc__) && !defined (__sparc_v9__) && !defined(__arch64__) \ - && !defined(__sparc_v9) && W_TYPE_SIZE == 32 +#if defined (__sparc__) && !defined(__arch64__) \ + && !defined(__sparcv9) && W_TYPE_SIZE == 32 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("addcc %r4,%5,%1 addx %r2,%3,%0" \ @@ -1182,7 +1182,7 @@ UDItype __umulsidi3 (USItype, USItype); #endif /* __sparc_v8__ */ #endif /* __sparc__ */ -#if (defined (__sparc_v9__) || (defined (__sparc__) && defined (__arch64__)) \ +#if (defined (__sparc__) && defined (__arch64__)) \ || defined (__sparcv9)) && W_TYPE_SIZE == 64 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("addcc %r4,%5,%1 @@ -1246,7 +1246,7 @@ UDItype __umulsidi3 (USItype, USItype); } while (0) #define UMUL_TIME 96 #define UDIV_TIME 230 -#endif /* __sparc_v9__ */ +#endif /* sparc64 */ #if defined (__vax__) && W_TYPE_SIZE == 32 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ diff --git a/sysdeps/generic/backtrace.c b/sysdeps/generic/backtrace.c index 3eae3f44f7..b9242b587b 100644 --- a/sysdeps/generic/backtrace.c +++ b/sysdeps/generic/backtrace.c @@ -19,6 +19,7 @@ Boston, MA 02111-1307, USA. */ #include <execinfo.h> +#include <signal.h> #include <frame.h> #include <sigcontextinfo.h> diff --git a/sysdeps/sparc/sparc32/bits/wordsize.h b/sysdeps/sparc/sparc32/bits/wordsize.h index 2ad12e1e7f..98c588450f 100644 --- a/sysdeps/sparc/sparc32/bits/wordsize.h +++ b/sysdeps/sparc/sparc32/bits/wordsize.h @@ -1,6 +1,6 @@ /* Determine the wordsize from the preprocessor defines. */ -#if defined __sparc_v9__ || defined __arch64__ || defined __sparcv9 +#if defined __arch64__ || defined __sparcv9 # define __WORDSIZE 64 #else # define __WORDSIZE 32 diff --git a/sysdeps/sparc/sparc64/bits/wordsize.h b/sysdeps/sparc/sparc64/bits/wordsize.h index 2ad12e1e7f..98c588450f 100644 --- a/sysdeps/sparc/sparc64/bits/wordsize.h +++ b/sysdeps/sparc/sparc64/bits/wordsize.h @@ -1,6 +1,6 @@ /* Determine the wordsize from the preprocessor defines. */ -#if defined __sparc_v9__ || defined __arch64__ || defined __sparcv9 +#if defined __arch64__ || defined __sparcv9 # define __WORDSIZE 64 #else # define __WORDSIZE 32 diff --git a/sysdeps/unix/sysv/linux/arm/chown.c b/sysdeps/unix/sysv/linux/arm/chown.c new file mode 100644 index 0000000000..1961622564 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arm/chown.c @@ -0,0 +1 @@ +#include <sysdeps/unix/sysv/linux/m68k/chown.c> diff --git a/sysdeps/unix/sysv/linux/arm/fchown.c b/sysdeps/unix/sysv/linux/arm/fchown.c new file mode 100644 index 0000000000..3a69ecc9e7 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arm/fchown.c @@ -0,0 +1 @@ +#include <sysdeps/unix/sysv/linux/i386/fchown.c> diff --git a/sysdeps/unix/sysv/linux/arm/getegid.c b/sysdeps/unix/sysv/linux/arm/getegid.c new file mode 100644 index 0000000000..37b4b4a530 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arm/getegid.c @@ -0,0 +1 @@ +#include <sysdeps/unix/sysv/linux/i386/getegid.c> diff --git a/sysdeps/unix/sysv/linux/arm/geteuid.c b/sysdeps/unix/sysv/linux/arm/geteuid.c new file mode 100644 index 0000000000..ebcb555b5e --- /dev/null +++ b/sysdeps/unix/sysv/linux/arm/geteuid.c @@ -0,0 +1 @@ +#include <sysdeps/unix/sysv/linux/i386/geteuid.c> diff --git a/sysdeps/unix/sysv/linux/arm/getgid.c b/sysdeps/unix/sysv/linux/arm/getgid.c new file mode 100644 index 0000000000..0a4d6061f0 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arm/getgid.c @@ -0,0 +1 @@ +#include <sysdeps/unix/sysv/linux/i386/getgid.c> diff --git a/sysdeps/unix/sysv/linux/arm/getuid.c b/sysdeps/unix/sysv/linux/arm/getuid.c new file mode 100644 index 0000000000..d682c79a49 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arm/getuid.c @@ -0,0 +1 @@ +#include <sysdeps/unix/sysv/linux/i386/getuid.c> diff --git a/sysdeps/unix/sysv/linux/arm/lchown.c b/sysdeps/unix/sysv/linux/arm/lchown.c new file mode 100644 index 0000000000..c89de99ba2 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arm/lchown.c @@ -0,0 +1 @@ +#include <sysdeps/unix/sysv/linux/i386/lchown.c> diff --git a/sysdeps/unix/sysv/linux/ftruncate64.c b/sysdeps/unix/sysv/linux/ftruncate64.c index 49133e8dd0..a38d5bd560 100644 --- a/sysdeps/unix/sysv/linux/ftruncate64.c +++ b/sysdeps/unix/sysv/linux/ftruncate64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -28,7 +28,7 @@ #ifdef __NR_ftruncate64 #ifndef __ASSUME_TRUNCATE64_SYSCALL /* The variable is shared between all wrappers around *truncate64 calls. */ -extern int have_no_truncate64; +extern int __have_no_truncate64; #endif extern int __syscall_ftruncate64 (int fd, int high_length, int low_length); @@ -41,7 +41,7 @@ ftruncate64 (fd, length) off64_t length; { #ifndef __ASSUME_TRUNCATE64_SYSCALL - if (! have_no_truncate64) + if (! __have_no_truncate64) #endif { unsigned int low = length & 0xffffffff; @@ -58,7 +58,7 @@ ftruncate64 (fd, length) #ifndef __ASSUME_TRUNCATE64_SYSCALL __set_errno (saved_errno); - have_no_truncate64 = 1; + __have_no_truncate64 = 1; #endif } diff --git a/sysdeps/unix/sysv/linux/getresgid.c b/sysdeps/unix/sysv/linux/getresgid.c index 475592ead4..ce7d7aa649 100644 --- a/sysdeps/unix/sysv/linux/getresgid.c +++ b/sysdeps/unix/sysv/linux/getresgid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1998 Free Software Foundation, Inc. +/* Copyright (C) 1998, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,16 +24,47 @@ #include <sysdep.h> #include <sys/syscall.h> +#include "kernel-features.h" + #ifdef __NR_getresgid extern int __syscall_getresgid (__kernel_gid_t *rgid, __kernel_gid_t *egid, __kernel_gid_t *sgid); +# ifdef __NR_getresgid32 |
