2002-12-31  Ulrich Drepper  <drepper@redhat.com>

	* include/setjmp.h: Add libc_hidden_proto for _setjmp.
	* sysdeps/alpha/setjmp.S: Add __GI__setjmp alias.
	* sysdeps/arm/bsd-_setjmp.S: Likewise.
	* sysdeps/generic/bsd-_setjmp.c: Likewise.
	* sysdeps/hppa/bsd-_setjmp.S: Likewise.
	* sysdeps/i386/bsd-_setjmp.S: Likewise.
	* sysdeps/m68k/bsd-_setjmp.c: Likewise.
	* sysdeps/mips/bsd-_setjmp.S: Likewise.
	* sysdeps/mips/mips64/bsd-_setjmp.S: Likewise.
	* sysdeps/powerpc/powerpc32/bsd-_setjmp.S: Likewise.
	* sysdeps/powerpc/powerpc64/setjmp.S: Likewise.
	* sysdeps/s390/s390-32/bsd-_setjmp.S: Likewise.
	* sysdeps/s390/s390-32/elf/setjmp.S: Likewise.
	* sysdeps/s390/s390-64/bsd-_setjmp.S: Likewise.
	* sysdeps/s390/s390-64/elf/setjmp.S: Likewise.
	* sysdeps/sh/bsd-_setjmp.S: Likewise.
	* sysdeps/sparc/sparc32/setjmp.S: Likewise.
	* sysdeps/unix/sysv/linux/ia64/setjmp.S: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S: Likewise.
	* sysdeps/vax/bsd-_setjmp.S: Likewise.
	* sysdeps/x86_64/bsd-_setjmp.S: Likewise.
This commit is contained in:
Ulrich Drepper 2002-12-31 09:36:52 +00:00
parent 416d2de60b
commit 9b4289aaf7
23 changed files with 70 additions and 24 deletions

View File

@ -1,3 +1,27 @@
2002-12-31 Ulrich Drepper <drepper@redhat.com>
* include/setjmp.h: Add libc_hidden_proto for _setjmp.
* sysdeps/alpha/setjmp.S: Add __GI__setjmp alias.
* sysdeps/arm/bsd-_setjmp.S: Likewise.
* sysdeps/generic/bsd-_setjmp.c: Likewise.
* sysdeps/hppa/bsd-_setjmp.S: Likewise.
* sysdeps/i386/bsd-_setjmp.S: Likewise.
* sysdeps/m68k/bsd-_setjmp.c: Likewise.
* sysdeps/mips/bsd-_setjmp.S: Likewise.
* sysdeps/mips/mips64/bsd-_setjmp.S: Likewise.
* sysdeps/powerpc/powerpc32/bsd-_setjmp.S: Likewise.
* sysdeps/powerpc/powerpc64/setjmp.S: Likewise.
* sysdeps/s390/s390-32/bsd-_setjmp.S: Likewise.
* sysdeps/s390/s390-32/elf/setjmp.S: Likewise.
* sysdeps/s390/s390-64/bsd-_setjmp.S: Likewise.
* sysdeps/s390/s390-64/elf/setjmp.S: Likewise.
* sysdeps/sh/bsd-_setjmp.S: Likewise.
* sysdeps/sparc/sparc32/setjmp.S: Likewise.
* sysdeps/unix/sysv/linux/ia64/setjmp.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S: Likewise.
* sysdeps/vax/bsd-_setjmp.S: Likewise.
* sysdeps/x86_64/bsd-_setjmp.S: Likewise.
2002-12-30 Ulrich Drepper <drepper@redhat.com>
* malloc/thread-m.h (thread_atfork): Define using __register_atfork.

View File

@ -20,4 +20,6 @@ extern void __libc_siglongjmp (sigjmp_buf env, int val)
extern void __libc_longjmp (sigjmp_buf env, int val)
__attribute__ ((noreturn));
libc_hidden_proto (_setjmp)
#endif

View File

@ -65,10 +65,10 @@ asm ("\n/*@_init_PROLOG_BEGINS*/");
static void
call_initialize_minimal (void)
{
extern void __pthread_initialize_minimal (void)
extern void __pthread_initialize_minimal_internal (void)
__attribute ((visibility ("hidden")));
__pthread_initialize_minimal ();
__pthread_initialize_minimal_internal ();
}
SECTION (".init");

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1992, 1994, 1996, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1992, 1994, 1996, 1997, 2002 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
@ -77,6 +77,7 @@ ENTRY(_setjmp)
mov 0, a1
br $sigsetjmp_local
END(_setjmp)
strong_alias (_setjmp, __GI__setjmp)
ENTRY(setjmp)
ldgp gp, 0(pv)

View File

@ -1,5 +1,5 @@
/* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'. ARM version.
Copyright (C) 1997, 1998 Free Software Foundation, Inc.
Copyright (C) 1997, 1998, 2002 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
@ -27,3 +27,4 @@ ENTRY (_setjmp)
mov r1, #0
b PLTJMP(C_SYMBOL_NAME(__sigsetjmp))
END (_setjmp)
strong_alias (_setjmp, __GI__setjmp)

View File

@ -1,5 +1,5 @@
/* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'. Stub version.
Copyright (C) 1994, 1997, 1999, 2000 Free Software Foundation, Inc.
Copyright (C) 1994, 1997, 1999, 2000, 2002 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
@ -32,3 +32,4 @@ _setjmp (jmp_buf env)
{
return __sigsetjmp (env, 0);
}
libc_hidden_def (_setjmp)

View File

@ -1,5 +1,5 @@
/* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'. HPPA version.
Copyright (C) 2001 Free Software Foundation, Inc.
Copyright (C) 2001, 2002 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
@ -17,6 +17,8 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
#include <sysdep.h>
/* This just does a tail-call to `__sigsetjmp (ARG, 1)'.
We cannot do it in C because it must be a tail-call, so frame-unwinding
in setjmp doesn't clobber the state restored by longjmp. */
@ -34,3 +36,4 @@ _setjmp:
ldi 0, %r25
.procend
strong_alias (_setjmp, __GI__setjmp)

View File

@ -1,5 +1,5 @@
/* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'. i386 version.
Copyright (C) 1994,1995,1996,1997,2000,2001 Free Software Foundation, Inc.
Copyright (C) 1994-1997,2000,2001,2002 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
@ -53,3 +53,4 @@ ENTRY (BP_SYM (_setjmp))
movl %eax, JB_SIZE(%edx) /* No signal mask set. */
ret
END (BP_SYM (_setjmp))
strong_alias (_setjmp, __GI__setjmp)

View File

@ -1,5 +1,5 @@
/* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'. m68k version.
Copyright (C) 1994, 1997, 2001 Free Software Foundation, Inc.
Copyright (C) 1994, 1997, 2001, 2002 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
@ -19,3 +19,4 @@
#define BSD__SETJMP
#include <sysdeps/m68k/setjmp.c>
libc_hidden_def (_setjmp)

View File

@ -1,5 +1,5 @@
/* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'. MIPS version.
Copyright (C) 1996, 1997, 2000 Free Software Foundation, Inc.
Copyright (C) 1996, 1997, 2000, 2002 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
@ -40,3 +40,4 @@ ENTRY (_setjmp)
j C_SYMBOL_NAME (__sigsetjmp)
#endif
.end _setjmp
strong_alias (_setjmp, __GI__setjmp)

View File

@ -1,5 +1,5 @@
/* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'. MIPS64 version.
Copyright (C) 1996, 1997, 2000 Free Software Foundation, Inc.
Copyright (C) 1996, 1997, 2000, 2002 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
@ -34,3 +34,4 @@ ENTRY (_setjmp)
nop
jr t9
dli a1, 0 /* Pass a second argument of zero. */
strong_alias (_setjmp, __GI__setjmp)

View File

@ -1,5 +1,5 @@
/* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'. PowerPC version.
Copyright (C) 1994, 1997, 1999, 2000 Free Software Foundation, Inc.
Copyright (C) 1994, 1997, 1999, 2000, 2002 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,3 +28,4 @@ ENTRY (BP_SYM (_setjmp))
li r4,0 /* Set second argument to 0. */
b JUMPTARGET(BP_SYM (__sigsetjmp))
END (BP_SYM (_setjmp))
strong_alias (_setjmp, __GI__setjmp)

View File

@ -77,6 +77,7 @@ ENTRY (BP_SYM (_setjmp))
li r4,0 /* Set second argument to 0. */
b ___sigsetjmp
END (BP_SYM (_setjmp))
strong_alias (_setjmp, __GI__setjmp)
ENTRY (BP_SYM (__setjmp))
li r4,1 /* Set second argument to 1. */

View File

@ -1,5 +1,5 @@
/* BSD `setjmp' entry point to `sigsetjmp (..., 1)'. s390 version.
Copyright (C) 2000, 2001 Free Software Foundation, Inc.
Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
This file is part of the GNU C Library.
@ -44,3 +44,4 @@ ENTRY(_setjmp)
.L1: .long __sigsetjmp
#endif
END (_setjmp)
strong_alias (_setjmp, __GI__setjmp)

View File

@ -1,5 +1,5 @@
/* setjmp for s390, ELF version.
Copyright (C) 2000 Free Software Foundation, Inc.
Copyright (C) 2000, 2002 Free Software Foundation, Inc.
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
This file is part of the GNU C Library.
@ -34,6 +34,7 @@ END (setjmp)
/* Binary compatibility entry point. */
ENTRY(_setjmp)
.weak C_SYMBOL_NAME (_setjmp)
strong_alias (_setjmp, __GI__setjmp)
ENTRY(__setjmp)
lhi %r3,0 /* second argument of zero */

View File

@ -1,5 +1,5 @@
/* BSD `setjmp' entry point to `sigsetjmp (..., 1)'. 64 bit S/390 version.
Copyright (C) 2001 Free Software Foundation, Inc.
Copyright (C) 2001, 2002 Free Software Foundation, Inc.
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
This file is part of the GNU C Library.
@ -32,4 +32,4 @@ ENTRY(_setjmp)
jg __sigsetjmp /* Branch to __sigsetjmp. */
#endif
END (_setjmp)
strong_alias (_setjmp, __GI__setjmp)

View File

@ -1,5 +1,5 @@
/* setjmp for 64 bit S/390, ELF version.
Copyright (C) 2001 Free Software Foundation, Inc.
Copyright (C) 2001, 2002 Free Software Foundation, Inc.
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
This file is part of the GNU C Library.
@ -34,6 +34,7 @@ END (setjmp)
/* Binary compatibility entry point. */
ENTRY(_setjmp)
.weak C_SYMBOL_NAME (_setjmp)
strong_alias (_setjmp, __GI__setjmp)
ENTRY(__setjmp)
slgr %r3,%r3 /* Second argument of zero. */
@ -50,4 +51,3 @@ ENTRY(__sigsetjmp)
jg __sigjmp_save
#endif
END (__sigsetjmp)

View File

@ -1,5 +1,5 @@
/* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'. SH version.
Copyright (C) 1999, 2000 Free Software Foundation, Inc.
Copyright (C) 1999, 2000, 2002 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
@ -49,3 +49,4 @@ ENTRY (_setjmp)
.long C_SYMBOL_NAME(__sigsetjmp)
#endif
END (_setjmp)
strong_alias (_setjmp, __GI__setjmp)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991, 93, 94, 96, 97, 98 Free Software Foundation, Inc.
/* Copyright (C) 1991, 93, 94, 96, 97, 98, 2002 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
@ -27,6 +27,7 @@ ENTRY(_setjmp)
b 1f
set 0, %o1
END(_setjmp)
strong_alias (_setjmp, __GI__setjmp)
ENTRY(setjmp)
set 1, %o1

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
/* Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
Contributed by David Mosberger-Tang <davidm@hpl.hp.com>.
The GNU C Library is free software; you can redistribute it and/or
@ -80,6 +80,7 @@ LEAF(_setjmp)
mov in1=0
br.cond.sptk.many __sigsetjmp
END(_setjmp)
strong_alias (_setjmp, __GI__setjmp)
/* __sigsetjmp(__jmp_buf buf, int savemask) */

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1997 Free Software Foundation, Inc.
/* Copyright (C) 1997, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@tamu.edu).
@ -34,6 +34,7 @@ ENTRY(_setjmp)
ba __sigsetjmp_local
set 0, %o1
END(_setjmp)
strong_alias (_setjmp, __GI__setjmp)
/* int setjmp(jmp_buf) */

View File

@ -1,5 +1,5 @@
/* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'. Vax version.
Copyright (C) 1994, 1997 Free Software Foundation, Inc.
Copyright (C) 1994, 1997, 2002 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
@ -23,10 +23,11 @@
#include <sysdep.h>
ENTRY (setjmp)
ENTRY (_setjmp)
popl r0 /* Pop return PC. */
popl r1 /* Pop jmp_buf argument. */
pushl $0 /* Push second argument of zero. */
pushl r1 /* Push back first argument. */
pushl r0 /* Push back return PC. */
jmp C_SYMBOL_NAME (__sigsetjmp)
strong_alias (_setjmp, __GI__setjmp)

View File

@ -1,5 +1,5 @@
/* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'. x86-64 version.
Copyright (C) 1994,1995,1996,1997,2000,2001 Free Software Foundation, Inc.
Copyright (C) 1994-1997,2000,2001,2002 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
@ -37,3 +37,4 @@ ENTRY (BP_SYM (_setjmp))
jmp BP_SYM (__sigsetjmp)
#endif
END (BP_SYM (_setjmp))
strong_alias (_setjmp, __GI__setjmp)