diff options
author | Ulrich Drepper <drepper@redhat.com> | 2000-06-01 07:14:15 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2000-06-01 07:14:15 +0000 |
commit | 61d655c1cba7d9755ddf11458f2c94fe58ff50e1 (patch) | |
tree | 383decaf8825d55e938940124a3d6268b798f5ec /sysdeps/i386/elf/setjmp.S | |
parent | 9f97f790eac5d79b15617e068bcc40e04d9f989a (diff) | |
download | glibc-61d655c1cba7d9755ddf11458f2c94fe58ff50e1.zip glibc-61d655c1cba7d9755ddf11458f2c94fe58ff50e1.tar.gz glibc-61d655c1cba7d9755ddf11458f2c94fe58ff50e1.tar.bz2 |
Update.
2000-06-01 Ulrich Drepper <drepper@redhat.com>
* sysdeps/i386/elf/setjmp.S: Work around change is recent
binutils. gas now emits a jump through the PLT instead of a
relative jump if the jump target is an exported symbol.
Diffstat (limited to 'sysdeps/i386/elf/setjmp.S')
-rw-r--r-- | sysdeps/i386/elf/setjmp.S | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sysdeps/i386/elf/setjmp.S b/sysdeps/i386/elf/setjmp.S index bc4890c..40710be 100644 --- a/sysdeps/i386/elf/setjmp.S +++ b/sysdeps/i386/elf/setjmp.S @@ -1,5 +1,5 @@ /* setjmp for i386, ELF version. - Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997, 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 @@ -31,7 +31,10 @@ ENTRY (setjmp) pushl $1 /* Push second argument of zero. */ pushl %ecx /* Push back first argument. */ pushl %eax /* Push back return PC. */ - jmp __sigsetjmp + /* Note that we have to use a non-exported symbol in the next + jump since otherwise gas will emit it as a jump through the + PLT which is what we cannot use here. */ + jmp .Linternal_sigsetjmp END (setjmp) /* Binary compatibility entry point. */ @@ -45,6 +48,7 @@ ENTRY (__setjmp) pushl %eax /* Push back return address. */ ENTRY (__sigsetjmp) +.Linternal_sigsetjmp = __sigsetjmp movl 4(%esp), %eax /* User's jmp_buf in %eax. */ /* Save registers. */ movl %ebx, (JB_BX*4)(%eax) |