This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Ulrich Drepper <drepper@redhat.com> writes: |> Andreas Schwab <schwab@suse.de> writes: |> |> > Many setjmp implementations define __setjmp as some kind of binary |> > compatibility entry point, but this is never exported. Should this be |> > removed? |> |> Probably. It's not usable and therefore not needed. OK, here is a patch. OK to commit? Andreas. 2000-11-21 Andreas Schwab <schwab@suse.de> * sysdeps/alpha/setjmp.S: Remove __setjmp entry point. * sysdeps/arm/setjmp.S: Likewise. * sysdeps/arm/fpu/setjmp.S: Likewise. * sysdeps/i386/setjmp.S: Likewise. * sysdeps/i386/elf/setjmp.S: Likewise. * sysdeps/s390/setjmp.S: Likewise. * sysdeps/s390/elf/setjmp.S: Likewise. * sysdeps/sh/sh3/setjmp.S: Likewise. * sysdeps/sh/sh4/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/unix/sysv/linux/m68k/setjmp.c: Removed.
Index: sysdeps/alpha/setjmp.S =================================================================== RCS file: /cvs/glibc/libc/sysdeps/alpha/setjmp.S,v retrieving revision 1.14 diff -u -a -r1.14 sysdeps/alpha/setjmp.S --- sysdeps/alpha/setjmp.S 1997/12/01 17:09:25 1.14 +++ sysdeps/alpha/setjmp.S 2000/11/21 15:04:01 @@ -72,11 +72,11 @@ /* Put these traditional entry points in the same file so that we can elide much of the nonsense in trying to jmp to the real function. */ -ENTRY(__setjmp) +ENTRY(_setjmp) ldgp gp, 0(pv) mov 0, a1 br $sigsetjmp_local -END(__setjmp) +END(_setjmp) ENTRY(setjmp) ldgp gp, 0(pv) @@ -84,5 +84,5 @@ br $sigsetjmp_local END(setjmp) -weak_alias(__setjmp, _setjmp) +weak_extern(_setjmp) weak_extern(setjmp) Index: sysdeps/arm/setjmp.S =================================================================== RCS file: /cvs/glibc/libc/sysdeps/arm/setjmp.S,v retrieving revision 1.4 diff -u -a -r1.4 sysdeps/arm/setjmp.S --- sysdeps/arm/setjmp.S 1998/03/18 14:29:20 1.4 +++ sysdeps/arm/setjmp.S 2000/11/21 15:04:01 @@ -22,13 +22,10 @@ #define _ASM #include <bits/setjmp.h> - /* Binary compatibility entry point. */ -ENTRY (__setjmp) - mov r1, #0 ENTRY (__sigsetjmp) /* Save registers */ stmia r0, {v1-v6, sl, fp, sp, lr} /* Make a tail call to __sigjmp_save; it takes the same args. */ B PLTJMP(C_SYMBOL_NAME(__sigjmp_save)) -END (__setjmp) +END (__sigsetjmp) Index: sysdeps/arm/fpu/setjmp.S =================================================================== RCS file: /cvs/glibc/libc/sysdeps/arm/fpu/setjmp.S,v retrieving revision 1.2 diff -u -a -r1.2 sysdeps/arm/fpu/setjmp.S --- sysdeps/arm/fpu/setjmp.S 1998/08/15 02:39:03 1.2 +++ sysdeps/arm/fpu/setjmp.S 2000/11/21 15:04:01 @@ -22,9 +22,6 @@ #define _ASM #include <bits/setjmp.h> - /* Binary compatibility entry point. */ -ENTRY (__setjmp) - mov r1, #0 ENTRY (__sigsetjmp) /* Save registers */ sfmea f4, 4, [r0]! @@ -35,4 +32,4 @@ /* Make a tail call to __sigjmp_save; it takes the same args. */ B PLTJMP(C_SYMBOL_NAME(__sigjmp_save)) -END (__setjmp) +END (__sigsetjmp) Index: sysdeps/i386/setjmp.S =================================================================== RCS file: /cvs/glibc/libc/sysdeps/i386/setjmp.S,v retrieving revision 1.12 diff -u -a -r1.12 sysdeps/i386/setjmp.S --- sysdeps/i386/setjmp.S 2000/08/03 21:39:16 1.12 +++ sysdeps/i386/setjmp.S 2000/11/21 15:04:01 @@ -25,11 +25,6 @@ #include "bp-sym.h" #include "bp-asm.h" - /* Binary compatibility entry point. */ -ENTRY (BP_SYM (__setjmp)) - PUSH_SIGNAL_MASK (0) - /* FALL THROUGH */ - #define PARMS LINKAGE /* no space for saved regs */ #define JMPBUF PARMS #define SIGMSK JMPBUF+PTR_SIZE Index: sysdeps/i386/elf/setjmp.S =================================================================== RCS file: /cvs/glibc/libc/sysdeps/i386/elf/setjmp.S,v retrieving revision 1.6 diff -u -a -r1.6 sysdeps/i386/elf/setjmp.S --- sysdeps/i386/elf/setjmp.S 2000/08/03 21:39:16 1.6 +++ sysdeps/i386/elf/setjmp.S 2000/11/21 15:04:01 @@ -35,10 +35,8 @@ jmp .Linternal_sigsetjmp END (BP_SYM (setjmp)) - /* Binary compatibility entry point. */ ENTRY (BP_SYM (_setjmp)) .weak C_SYMBOL_NAME (BP_SYM (_setjmp)) -ENTRY (BP_SYM (__setjmp)) PUSH_SIGNAL_MASK (0) /* FALL THROUGH */ Index: sysdeps/s390/setjmp.S =================================================================== RCS file: /cvs/glibc/libc/sysdeps/s390/setjmp.S,v retrieving revision 1.1 diff -u -a -r1.1 sysdeps/s390/setjmp.S --- sysdeps/s390/setjmp.S 2000/08/02 14:26:00 1.1 +++ sysdeps/s390/setjmp.S 2000/11/21 15:04:01 @@ -28,12 +28,6 @@ /* Save the current program position in ENV and return 0. */ /* R2 = pointer to jmp_buf, R3 = savemask */ -/* Binary compatibility entry point. */ - -ENTRY(__setjmp) - sr %r3,%r3 /* set savemask to zero */ -END (__setjmp) - ENTRY(__sigsetjmp) stm %r6,%r15,0(%r2) /* store registers in jmp_buf */ #ifdef PIC Index: sysdeps/s390/elf/setjmp.S =================================================================== RCS file: /cvs/glibc/libc/sysdeps/s390/elf/setjmp.S,v retrieving revision 1.1 diff -u -a -r1.1 sysdeps/s390/elf/setjmp.S --- sysdeps/s390/elf/setjmp.S 2000/08/02 14:17:30 1.1 +++ sysdeps/s390/elf/setjmp.S 2000/11/21 15:04:01 @@ -31,10 +31,8 @@ j __sigsetjmp /* branch relativ to __sigsetjmp */ END (setjmp) - /* Binary compatibility entry point. */ ENTRY(_setjmp) .weak C_SYMBOL_NAME (_setjmp) -ENTRY(__setjmp) lhi %r3,0 /* second argument of zero */ ENTRY(__sigsetjmp) Index: sysdeps/sh/sh3/setjmp.S =================================================================== RCS file: /cvs/glibc/libc/sysdeps/sh/sh3/setjmp.S,v retrieving revision 1.2 diff -u -a -r1.2 sysdeps/sh/sh3/setjmp.S --- sysdeps/sh/sh3/setjmp.S 2000/11/08 06:56:24 1.2 +++ sysdeps/sh/sh3/setjmp.S 2000/11/21 15:04:01 @@ -22,9 +22,6 @@ #define _ASM #include <bits/setjmp.h> - /* Binary compatibility entry point. */ -ENTRY (__setjmp) - mov #0, r5 ENTRY (__sigsetjmp) /* Save registers */ add #(JB_SIZE - 4 * 5), r4 Index: sysdeps/sh/sh4/setjmp.S =================================================================== RCS file: /cvs/glibc/libc/sysdeps/sh/sh4/setjmp.S,v retrieving revision 1.1 diff -u -a -r1.1 sysdeps/sh/sh4/setjmp.S --- sysdeps/sh/sh4/setjmp.S 2000/06/12 20:17:59 1.1 +++ sysdeps/sh/sh4/setjmp.S 2000/11/21 15:04:01 @@ -22,9 +22,6 @@ #define _ASM #include <bits/setjmp.h> - /* Binary compatibility entry point. */ -ENTRY (__setjmp) - mov #0, r5 ENTRY (__sigsetjmp) /* Save registers */ add #JB_SIZE, r4 @@ -69,4 +66,4 @@ .L1: .long C_SYMBOL_NAME(__sigjmp_save) #endif -END (__setjmp) +END (__sigsetjmp) Index: sysdeps/sparc/sparc32/setjmp.S =================================================================== RCS file: /cvs/glibc/libc/sysdeps/sparc/sparc32/setjmp.S,v retrieving revision 1.4 diff -u -a -r1.4 sysdeps/sparc/sparc32/setjmp.S --- sysdeps/sparc/sparc32/setjmp.S 1998/01/30 12:31:09 1.4 +++ sysdeps/sparc/sparc32/setjmp.S 2000/11/21 15:04:01 @@ -23,10 +23,10 @@ #define _SETJMP_H #include <bits/setjmp.h> -ENTRY(__setjmp) +ENTRY(_setjmp) b 1f set 0, %o1 -END(__setjmp) +END(_setjmp) ENTRY(setjmp) set 1, %o1 @@ -47,5 +47,5 @@ mov %g1, %o7 END(__sigsetjmp) -weak_alias(__setjmp, _setjmp) +weak_extern(_setjmp) weak_extern(setjmp) Index: sysdeps/unix/sysv/linux/ia64/setjmp.S =================================================================== RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/ia64/setjmp.S,v retrieving revision 1.2 diff -u -a -r1.2 sysdeps/unix/sysv/linux/ia64/setjmp.S --- sysdeps/unix/sysv/linux/ia64/setjmp.S 2000/09/29 16:38:13 1.2 +++ sysdeps/unix/sysv/linux/ia64/setjmp.S 2000/11/21 15:04:01 @@ -81,13 +81,13 @@ br.cond.sptk.many __sigsetjmp .endp setjmp - .global __setjmp - .proc __setjmp -__setjmp: + .global _setjmp + .proc _setjmp +_setjmp: alloc r8=ar.pfs,2,0,0,0 mov in1=0 br.cond.sptk.many __sigsetjmp - .endp __setjmp + .endp _setjmp /* __sigsetjmp(__jmp_buf buf, int savemask) */ .align 32 @@ -183,5 +183,5 @@ ret .endp __sigsetjmp -weak_alias(__setjmp, _setjmp) +weak_extern(_setjmp) weak_extern(setjmp) Index: sysdeps/unix/sysv/linux/m68k/setjmp.c =================================================================== RCS file: setjmp.c diff -N sysdeps/unix/sysv/linux/m68k/setjmp.c --- /sourceware/cvs-tmp/cvsgWdEG5 Tue Nov 21 07:04:03 2000 +++ /dev/null Tue May 5 13:32:27 1998 @@ -1,81 +0,0 @@ -/* Copyright (C) 1991, 1992, 1994, 1996 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. */ - -#include <setjmp.h> - -/* Save the current program position in ENV and return 0. */ -int -__sigsetjmp (jmp_buf env, int savemask) -{ - /* Save data registers D1 through D7. */ - asm volatile ("movem%.l %/d1-%/d7, %0" - : : "m" (env[0].__jmpbuf[0].__dregs[0])); - - /* Save return address in place of register A0. */ - env[0].__jmpbuf[0].__aregs[0] = ((void **) &env)[-1]; - - /* Save address registers A1 through A5. */ - asm volatile ("movem%.l %/a1-%/a5, %0" - : : "m" (env[0].__jmpbuf[0].__aregs[1])); - - /* Save caller's FP, not our own. */ - env[0].__jmpbuf[0].__fp = ((void **) &env)[-2]; - - /* Save caller's SP, not our own. */ - env[0].__jmpbuf[0].__sp = (void *) &env; - -#if defined (__HAVE_68881__) || defined (__HAVE_FPU__) - /* Save floating-point (68881) registers FP0 through FP7. */ - asm volatile ("fmovem%.x %/fp0-%/fp7, %0" - : : "m" (env[0].__jmpbuf[0].__fpregs[0])); -#endif - - /* Save the signal mask if requested. */ - return __sigjmp_save (env, savemask); -} - -/* Binary compatibility entry point. */ -int -__setjmp (jmp_buf env) -{ - /* Save data registers D1 through D7. */ - asm volatile ("movem%.l %/d1-%/d7, %0" - : : "m" (env[0].__jmpbuf[0].__dregs[0])); - - /* Save return address in place of register A0. */ - env[0].__jmpbuf[0].__aregs[0] = ((void **) &env)[-1]; - - /* Save address registers A1 through A5. */ - asm volatile ("movem%.l %/a1-%/a5, %0" - : : "m" (env[0].__jmpbuf[0].__aregs[1])); - - /* Save caller's FP, not our own. */ - env[0].__jmpbuf[0].__fp = ((void **) &env)[-2]; - - /* Save caller's SP, not our own. */ - env[0].__jmpbuf[0].__sp = (void *) &env; - -#if defined (__HAVE_68881__) || defined (__HAVE_FPU__) - /* Save floating-point (68881) registers FP0 through FP7. */ - asm volatile ("fmovem%.x %/fp0-%/fp7, %0" - : : "m" (env[0].__jmpbuf[0].__fpregs[0])); -#endif - - /* The signal mask has already been dealt with. */ - return 0; -} Index: sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S =================================================================== RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S,v retrieving revision 1.2 diff -u -a -r1.2 sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S --- sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S 1997/10/12 03:43:46 1.2 +++ sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S 2000/11/21 15:04:02 @@ -29,10 +29,10 @@ /* int _setjmp(jmp_buf) */ -ENTRY(__setjmp) +ENTRY(_setjmp) ba __sigsetjmp_local set 0, %o1 -END(__setjmp) +END(_setjmp) /* int setjmp(jmp_buf) */ @@ -60,5 +60,5 @@ END(__sigsetjmp) -weak_alias(__setjmp, _setjmp) +weak_extern(_setjmp) weak_extern(setjmp)
-- Andreas Schwab "And now for something SuSE Labs completely different." Andreas.Schwab@suse.de SuSE GmbH, Schanzäckerstr. 10, D-90443 Nürnberg
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |