mirror of
https://sourceware.org/git/glibc.git
synced 2025-09-05 14:24:06 +03:00
Update.
2003-10-03 Ulrich Drepper <drepper@redhat.com> * sysdeps/i386/elf/bsd-setjmp.S: Use linkonce section for PIC stub. * sysdeps/i386/elf/setjmp.S: Likewise.
This commit is contained in:
@@ -1,3 +1,8 @@
|
|||||||
|
2003-10-03 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* sysdeps/i386/elf/bsd-setjmp.S: Use linkonce section for PIC stub.
|
||||||
|
* sysdeps/i386/elf/setjmp.S: Likewise.
|
||||||
|
|
||||||
2003-10-02 Roland McGrath <roland@redhat.com>
|
2003-10-02 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
* argp/argp-help.c (__argp_short_program_name): Move inside [! _LIBC].
|
* argp/argp-help.c (__argp_short_program_name): Move inside [! _LIBC].
|
||||||
|
@@ -1,3 +1,8 @@
|
|||||||
|
2003-10-03 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* sysdeps/unix/sysv/linux/i386/pthread_once.S (__pthread_once):
|
||||||
|
Check __sigsetjmp return value. Reported by Daniel Jacobowitz.
|
||||||
|
|
||||||
2003-10-02 Ulrich Drepper <drepper@redhat.com>
|
2003-10-02 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (DOCARGS_1): Use
|
* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (DOCARGS_1): Use
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/* BSD `setjmp' entry point to `sigsetjmp (..., 1)'. i386 version.
|
/* BSD `setjmp' entry point to `sigsetjmp (..., 1)'. i386 version.
|
||||||
Copyright (C) 1995,1996,1997,2000,2001,2002 Free Software Foundation, Inc.
|
Copyright (C) 1995-1997,2000,2001,2002,2003 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@@ -56,7 +56,7 @@ ENTRY (BP_SYM (setjmp))
|
|||||||
we can't save and restore our caller's value. Instead, we do an
|
we can't save and restore our caller's value. Instead, we do an
|
||||||
indirect jump through the GOT, using for the temporary register
|
indirect jump through the GOT, using for the temporary register
|
||||||
%ecx, which is call-clobbered. */
|
%ecx, which is call-clobbered. */
|
||||||
call 1f
|
call __i686.get_pc_thunk.cx
|
||||||
addl $_GLOBAL_OFFSET_TABLE_, %ecx
|
addl $_GLOBAL_OFFSET_TABLE_, %ecx
|
||||||
leal C_SYMBOL_NAME (BP_SYM (__sigjmp_save)@GOTOFF)(%ecx), %ecx
|
leal C_SYMBOL_NAME (BP_SYM (__sigjmp_save)@GOTOFF)(%ecx), %ecx
|
||||||
call *%ecx
|
call *%ecx
|
||||||
@@ -66,8 +66,13 @@ ENTRY (BP_SYM (setjmp))
|
|||||||
popl %ecx
|
popl %ecx
|
||||||
popl %edx
|
popl %edx
|
||||||
ret
|
ret
|
||||||
#ifdef PIC
|
|
||||||
1: movl (%esp), %ecx
|
|
||||||
ret
|
|
||||||
#endif
|
|
||||||
END (BP_SYM (setjmp))
|
END (BP_SYM (setjmp))
|
||||||
|
|
||||||
|
.section .gnu.linkonce.t.__i686.get_pc_thunk.cx,"ax",@progbits
|
||||||
|
.globl __i686.get_pc_thunk.cx
|
||||||
|
.hidden __i686.get_pc_thunk.cx
|
||||||
|
.type __i686.get_pc_thunk.cx,@function
|
||||||
|
__i686.get_pc_thunk.cx:
|
||||||
|
movl (%esp), %ecx
|
||||||
|
ret
|
||||||
|
.size __i686.get_pc_thunk.cx, . - __i686.get_pc_thunk.cx
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/* setjmp for i386, ELF version.
|
/* setjmp for i386, ELF version.
|
||||||
Copyright (C) 1995,1996,1997,2000,2001,2002 Free Software Foundation, Inc.
|
Copyright (C) 1995-1997,2000,2001,2002,2003 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@@ -51,13 +51,20 @@ ENTRY (BP_SYM (__sigsetjmp))
|
|||||||
we can't save and restore our caller's value. Instead, we do an
|
we can't save and restore our caller's value. Instead, we do an
|
||||||
indirect jump through the GOT, using for the temporary register
|
indirect jump through the GOT, using for the temporary register
|
||||||
%ecx, which is call-clobbered. */
|
%ecx, which is call-clobbered. */
|
||||||
call 1f
|
call __i686.get_pc_thunk.cx
|
||||||
addl $_GLOBAL_OFFSET_TABLE_, %ecx
|
addl $_GLOBAL_OFFSET_TABLE_, %ecx
|
||||||
leal C_SYMBOL_NAME (BP_SYM (__sigjmp_save)@GOTOFF)(%ecx), %ecx
|
leal C_SYMBOL_NAME (BP_SYM (__sigjmp_save)@GOTOFF)(%ecx), %ecx
|
||||||
jmp *%ecx
|
jmp *%ecx
|
||||||
1: movl (%esp), %ecx
|
|
||||||
ret
|
|
||||||
#else
|
#else
|
||||||
jmp BP_SYM (__sigjmp_save)
|
jmp BP_SYM (__sigjmp_save)
|
||||||
#endif
|
#endif
|
||||||
END (BP_SYM (__sigsetjmp))
|
END (BP_SYM (__sigsetjmp))
|
||||||
|
|
||||||
|
.section .gnu.linkonce.t.__i686.get_pc_thunk.cx,"ax",@progbits
|
||||||
|
.globl __i686.get_pc_thunk.cx
|
||||||
|
.hidden __i686.get_pc_thunk.cx
|
||||||
|
.type __i686.get_pc_thunk.cx,@function
|
||||||
|
__i686.get_pc_thunk.cx:
|
||||||
|
movl (%esp), %ecx
|
||||||
|
ret
|
||||||
|
.size __i686.get_pc_thunk.cx, . - __i686.get_pc_thunk.cx
|
||||||
|
Reference in New Issue
Block a user