+2000-04-05 Ulrich Drepper <drepper@redhat.com>
+
+ * sysdeps/unix/sysv/linux/alpha/init-first.h: Not needed anymore.
+ * sysdeps/unix/sysv/linux/arm/init-first.h: Likewise.
+ * sysdeps/unix/sysv/linux/mips/init-first.h: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/init-first.h: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/sparc32/init-first.h: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/sparc64/init-first.h: Likewise.
+
+ * sysdeps/unix/sysv/linux/Dist: Remove getresuid and getresgid.
+ * Makefile (distribute): Add abi-versions.awk and
+ firstversions.awk.
+ Patches by Torsten Duwe <duwe@caldera.de>.
+
2000-04-05 Andreas Schwab <schwab@suse.de>
* nss/Makefile ($(objpfx)makedb): Move $(libdl) after db-open.o.
rellns-sh config.sub config.guess \
mkinstalldirs move-if-change install-sh \
test-installation.pl gen-FAQ.pl versions.awk\
- gen-sorted.awk)
+ gen-sorted.awk abi-versions.awk \
+ firstversions.awk)
distribute := $(strip $(distribute))
generated := $(generated) stubs.h
sys/vt.h
xstatconv.c
getdents64.c
-getresuid.c
-getresgid.c
umount.S
umount2.S
+++ /dev/null
-/* The job of this fragment it to find argc and friends for INIT.
- This is done in one of two ways: either in the stack context
- of program start, or having dlopen pass them in. */
-
-#define SYSDEP_CALL_INIT(NAME, INIT) asm("\
- .weak _dl_starting_up
- .globl " #NAME "
- .ent " #NAME "
-" #NAME ":
- ldgp $29, 0($27)
- .prologue 1
- .set at
- /* Are we a dynamic libc being loaded into a static program? */
- lda $0, _dl_starting_up
- beq $0, 1f
- ldl $0, 0($0)
- cmpeq $31, $0, $0
-1: stl $0, __libc_multiple_libcs
- /* If so, argc et al are in a0-a2 already. Otherwise, load them. */
- bne $0, 2f
- ldl $16, 0($30)
- lda $17, 8($30)
- s8addq $16, $17, $18
- addq $18, 8, $18
-2: br $31, " ASM_ALPHA_NG_SYMBOL_PREFIX #INIT "..ng
- .set noat
- .end " #NAME);
+++ /dev/null
-/* Prepare arguments for library initialization function.
- Copyright (C) 1997 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
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-/* The job of this fragment it to find argc and friends for INIT.
- This is done in one of two ways: either in the stack context
- of program start, or having dlopen pass them in.
-
- */
-
-#define SYSDEP_CALL_INIT(NAME, INIT) \
-void NAME (void* arg, ...) \
-{ \
- int argc; \
- char** argv; \
- char** envp; \
- /* The next variable is only here to work around a bug in gcc <= 2.7.2.2. \
- If the address would be taken inside the expression the optimizer \
- would try to be too smart and throws it away. Grrr. */ \
- int *dummy_addr = &_dl_starting_up; \
- \
- __libc_multiple_libcs = dummy_addr && !_dl_starting_up; \
- \
- if (!__libc_multiple_libcs) \
- { \
- /* The ... in the arg list above forces the gnu ARM compiler to \
- push r0, r1, r2, r3 onto the stack. This way we can get the address */ \
- argc = *(int*) (&arg+4); \
- argv = (char **) &arg + 5; \
- envp = &argv[argc+1]; \
- } \
- else /* the three were passed as arguments */ \
- { \
- argc = (int)arg; \
- argv = (char**)*(&arg + 1); \
- envp = (char**)*(&arg + 2); \
- } \
- \
- INIT (argc, argv, envp); \
-}
+++ /dev/null
-/* Prepare arguments for library initialization function.
- Copyright (C) 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
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-/* The job of this fragment it to find argc and friends for INIT.
- This is done in one of two ways: either in the stack context
- of program start, or having dlopen pass them in. */
-
-#define SYSDEP_CALL_INIT(NAME, INIT) \
- asm(".weak _dl_starting_up\n\t" \
- ".globl " #NAME "\n\t" \
- ".ent " #NAME "\n" \
- #NAME ":\n\t" \
- ".set noreorder\n\t" \
- ".cpload $25\n\t" \
- ".set reorder\n\t" \
- /* Are we a dynamic libc being loaded into a static program? */ \
- "la $8, _dl_starting_up\n\t" \
- "beqz $8, 1f\n\t" \
- "lw $8, 0($8)\n\t" \
- "seq $8, $8, 0\n" \
- "1:\t" \
- "sw $8, __libc_multiple_libcs\n\t" \
- /* If so, argc et al are in a0-a2 already. Otherwise, load them. */ \
- "bnez $8, 2f\n\t" \
- "lw $4, 16($29)\n\t" \
- "addiu $5, $29, 20\n\t" \
- "sll $6, $4, 2\n\t" \
- "addiu $6, $6, 4\n\t" \
- "addu $6, $5, $6\n" \
- "2:\t" \
- "la $25, " #INIT "\n\t" \
- "jr $25\n\t" \
- ".end " #NAME "\n\t" \
- "3:\t" \
- ".size " #NAME ", 3b-" #NAME);
+++ /dev/null
-/* Copyright (C) 1997 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
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-/* The job of this fragment it to find argc and friends for INIT.
- They are passed to this routine by either the program loader
- code in start.c, or by by dlopen.*/
-
-#define SYSDEP_CALL_INIT(NAME, INIT) \
-void NAME (int argc, char **argv, char **envp) \
-{ \
- INIT (argc, argv, envp); \
-}
+++ /dev/null
-/* Prepare arguments for library initialization function.
- Copyright (C) 1997 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
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-/* The job of this fragment it to find argc and friends for INIT.
- This is done in one of two ways: either in the stack context
- of program start, or having dlopen pass them in. */
-
-#include <sysdep.h>
-
-#define __S1(x) #x
-#define __S(x) __S1(x)
-
-#ifdef PIC
-
-#define SYSDEP_CALL_INIT(NAME, INIT) asm("\
- .weak _dl_starting_up
- .global " #NAME "
- .type " #NAME ",@function
-" #NAME ":
- save %sp, -64, %sp
-1: call 11f
- sethi %hi(_GLOBAL_OFFSET_TABLE_-(1b-.)), %l7
-11: or %l7, %lo(_GLOBAL_OFFSET_TABLE_-(1b-.)), %l7
- add %l7, %o7, %l7
- /* Are we a dynamic libc being loaded into a static program? */
- sethi %hi(_dl_starting_up), %l2
- or %l2, %lo(_dl_starting_up), %l2
- ld [%l7+%l2], %l2
- cmp %l2, 0
- beq 3f
- sethi %hi(__libc_multiple_libcs), %l3
- ld [%l2], %l2
- subcc %g0, %l2, %g0
- subx %g0, -1, %l2
-3: or %l3, %lo(__libc_multiple_libcs), %l3
- ld [%l7+%l3], %l3
- cmp %l2, 0
- st %l2, [%l3]
- /* If so, argc et al are in %o0-%o2 already. Otherwise, load them. */
- bnz " #INIT "
- restore
- ld [%sp+22*4], %o0
- add %sp, 23*4, %o1
- sll %o0, 2, %o2
- add %o2, %o1, %o2
- ba " #INIT "
- add %o2, 4, %o2
- .size "#NAME ", .-" #NAME);
-
-#else
-
-#define SYSDEP_CALL_INIT(NAME, INIT) asm("\
- .weak _dl_starting_up
- .global " #NAME "
- .type " #NAME ",@function
-" #NAME ":
- /* Are we a dynamic libc being loaded into a static program? */
- sethi %hi(_dl_starting_up), %g2
- or %g2, %lo(_dl_starting_up), %g2
- cmp %g2, 0
- beq 3f
- sethi %hi(__libc_multiple_libcs), %g3
- ld [%g2], %g2
- subcc %g0, %g2, %g0
- subx %g0, -1, %g2
-3: or %g3, %lo(__libc_multiple_libcs), %g3
- cmp %g2, 0
- st %g2, [%g3]
- /* If so, argc et al are in %o0-%o2 already. Otherwise, load them. */
- bnz " #INIT "
- nop
- ld [%sp+22*4], %o0
- add %sp, 23*4, %o1
- sll %o0, 2, %o2
- add %o2, %o1, %o2
- ba " #INIT "
- add %o2, 4, %o2
- .size "#NAME ", .-" #NAME);
-
-#endif
+++ /dev/null
-/* Prepare arguments for library initialization function.
- Copyright (C) 1997 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
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-/* The job of this fragment it to find argc and friends for INIT.
- This is done in one of two ways: either in the stack context
- of program start, or having dlopen pass them in. */
-
-#include <sysdep.h>
-
-#define __S1(x) #x
-#define __S(x) __S1(x)
-
-#ifdef PIC
-
-#define SYSDEP_CALL_INIT(NAME, INIT) asm("\
- .weak _dl_starting_up
- .global " #NAME "
- .type " #NAME ",@function
-" #NAME ":
- save %sp, -192, %sp
-1: call 11f
- sethi %hi(_GLOBAL_OFFSET_TABLE_-(1b-.)), %l7
-11: or %l7, %lo(_GLOBAL_OFFSET_TABLE_-(1b-.)), %l7
- add %l7, %o7, %l7
- /* Are we a dynamic libc being loaded into a static program? */
- sethi %hi(_dl_starting_up), %l2
- or %l2, %lo(_dl_starting_up), %l2
- ldx [%l7+%l2], %l2
- brz,pn %l2, 3f
- sethi %hi(__libc_multiple_libcs), %l3
- ld [%l2], %l4
- mov %g0, %l2
- movrz %l4, 1, %l2
-3: or %l3, %lo(__libc_multiple_libcs), %l3
- ldx [%l7+%l3], %l3
- st %l2, [%l3]
- /* If so, argc et al are in %o0-%o2 already. Otherwise, load them. */
- brnz,pn %l2, " #INIT "
- restore
- ldx [%sp+" __S(STACK_BIAS) "+22*8], %o0
- add %sp, " __S(STACK_BIAS) "+23*8, %o1
- sllx %o0, 3, %o2
- add %o2, %o1, %o2
- ba " #INIT "
- add %o2, 8, %o2
- .size "#NAME ", .-" #NAME);
-
-#else
-
-#define SYSDEP_CALL_INIT(NAME, INIT) asm("\
- .weak _dl_starting_up
- .global " #NAME "
- .type " #NAME ",@function
-" #NAME ":
- /* Are we a dynamic libc being loaded into a static program? */
- sethi %hi(_dl_starting_up), %g2
- or %g2, %lo(_dl_starting_up), %g2
- brz,pt %g2, 3f
- sethi %hi(__libc_multiple_libcs), %g3
- ld [%g2], %g1
- mov %g0, %g2
- movrz %g1, 1, %g2
-3: st %g2, [%g3 + %lo(__libc_multiple_libcs)]
- /* If so, argc et al are in %o0-%o2 already. Otherwise, load them. */
- brnz,pn %g2, " #INIT "
- nop
- ldx [%sp+" __S(STACK_BIAS) "+22*8], %o0
- add %sp, " __S(STACK_BIAS) "+23*8, %o1
- sllx %o0, 3, %o2
- add %o2, %o1, %o2
- ba " #INIT "
- add %o2, 8, %o2
- .size "#NAME ", .-" #NAME);
-
-#endif