Remove remaining bounded-pointers support from i386 .S files.

This commit is contained in:
Joseph Myers 2013-02-21 22:21:52 +00:00
parent 9bf95cbc35
commit 2366713d87
64 changed files with 672 additions and 500 deletions

346
ChangeLog
View File

@ -1,3 +1,349 @@
2013-02-21 Joseph Myers <joseph@codesourcery.com>
[BZ #13550]
* sysdeps/i386/bp-asm.h: Remove file.
* sysdeps/i386/add_n.S: Do not include "bp-sym.h" and "bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(S1): Likewise.
(S2): Likewise.
(SIZE): Likewise.
(__mpn_add_n): Do not use BP_SYM
* sysdeps/i386/addmul_1.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(S1): Likewise.
(SIZE): Likewise.
(__mpn_addmul_1): Do not use BP_SYM
* sysdeps/i386/bsd-_setjmp.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(SIGMSK): Likewise.
(_setjmp): Likewise. Do not use BP_SYM.
* sysdeps/i386/bsd-setjmp.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(SIGMSK): Likewise.
(setjmp): Likewise. Do not use BP_SYM.
* sysdeps/i386/fpu/s_frexp.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(__frexp): Do not use BP_SYM.
(frexp): Likewise.
* sysdeps/i386/fpu/s_frexpf.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(__frexpf): Do not use BP_SYM.
(frexpf): Likewise.
* sysdeps/i386/fpu/s_frexpl.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(__frexpl): Do not use BP_SYM.
(frexpl): Likewise.
* sysdeps/i386/fpu/s_remquo.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(__remquo): Do not use BP_SYM.
(remquo): Likewise.
* sysdeps/i386/fpu/s_remquof.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(__remquof): Do not use BP_SYM.
(remquof): Likewise.
* sysdeps/i386/fpu/s_remquol.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(__remquol): Do not use BP_SYM.
(remquol): Likewise.
* sysdeps/i386/i486/strcat.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(DEST): Likewise.
(SRC): Likewise.
(strcat): Remove GKM FIXME comment. Do not use BP_SYM.
* sysdeps/i386/i486/strlen.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(strlen): Do not use BP_SYM.
* sysdeps/i386/i586/add_n.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(S1): Likewise.
(S2): Likewise.
(SIZE): Likewise.
(__mpn_add_n): Do not use BP_SYM.
* sysdeps/i386/i586/addmul_1.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(S1): Likewise.
(SIZE): Likewise.
(__mpn_addmul_1): Do not use BP_SYM.
* sysdeps/i386/i586/bzero.S (__bzero): Do not use BP_SYM in
weak_alias.
(bzero): Likewise.
* sysdeps/i386/i586/lshift.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(S): Likewise.
(SIZE): Likewise.
(__mpn_lshift): Do not use BP_SYM.
* sysdeps/i386/i586/memcpy.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(DEST): Likewise.
(SRC): Likewise.
(LEN): Likewise.
(memcpy): Likewise. Do not use BP_SYM.
* sysdeps/i386/i586/mempcpy.S (__mempcpy): Do not use BP_SYM in
libc_hidden_def and weak_alias.
(mempcpy): Do not use BP_SYM in weak_alias.
* sysdeps/i386/i586/memset.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(DEST): Likewise.
(LEN): Likewise.
[!BZERO_P] (CHR): Likewise.
(memset): Likewise. Do not use BP_SYM.
* sysdeps/i386/i586/mul_1.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(S1): Likewise.
(SIZE): Likewise.
(__mpn_mul_1): Do not use BP_SYM.
* sysdeps/i386/i586/rshift.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(S): Likewise.
(SIZE): Likewise.
(__mpn_rshift): Do not use BP_SYM.
* sysdeps/i386/i586/strchr.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(STR): Likewise.
(CHR): Likewise.
(strchr): Likewise. Do not use BP_SYM.
(index): Do not use BP_SYM in weak_alias.
* sysdeps/i386/i586/strcpy.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(DEST): Likewise.
(SRC): Likewise.
(STRCPY): Likewise. Remove GKM FIXME comment. Do not use BP_SYM.
* sysdeps/i386/i586/strlen.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(strlen): Do not use BP_SYM.
* sysdeps/i386/i586/sub_n.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(S1): Likewise.
(S2): Likewise.
(SIZE): Likewise.
(__mpn_sub_n): Do not use BP_SYM.
* sysdeps/i386/i586/submul_1.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(S1): Likewise.
(SIZE): Likewise.
(__mpn_submul_1): Do not use BP_SYM.
* sysdeps/i386/i686/add_n.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(S1): Likewise.
(S2): Likewise.
(SIZE): Likewise.
(__mpn_add_n): Do not use BP_SYM.
* sysdeps/i386/i686/bzero.S (__bzero): Do not use BP_SYM in
weak_alias.
(bzero): Likewise.
* sysdeps/i386/i686/memcmp.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(BLK2): Likewise.
(LEN): Likewise.
(memcmp): Do not use BP_SYM.
(bcmp): Do not use BP_SYM in weak_alias.
* sysdeps/i386/i686/memcpy.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(DEST): Likewise.
(SRC): Likewise.
(LEN): Likewise.
(memcpy): Likewise. Do not use BP_SYM.
* sysdeps/i386/i686/memmove.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(DEST): Likewise.
(SRC): Likewise.
(LEN): Likewise.
(memmove): Likewise. Do not use BP_SYM.
* sysdeps/i386/i686/mempcpy.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(DEST): Likewise.
(SRC): Likewise.
(LEN): Likewise.
(__mempcpy): Likewise. Do not use BP_SYM.
(mempcpy): Do not use BP_SYM in weak_alias.
* sysdeps/i386/i686/memset.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(DEST): Likewise.
(LEN): Likewise.
[!BZERO_P] (CHR): Likewise.
(memset): Likewise. Do not use BP_SYM.
* sysdeps/i386/i686/strcmp.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(STR2): Likewise.
(strcmp): Do not use BP_SYM.
* sysdeps/i386/i686/strtok.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(STR): Likewise.
(DELIM): Likewise.
[USE_AS_STRTOK_R] (SAVE): Likewise.
(FUNCTION): Likewise. Do not use BP_SYM.
* sysdeps/i386/i686/strtok_r.S (__strtok_r): Do not use BP_SYM in
aliases.
(strtok_r): Likewise.
(__GI___strtok_r): Likewise.
* sysdeps/i386/lshift.S: Do not include "bp-sym.h" and "bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(S): Likewise.
(SIZE): Likewise.
(__mpn_lshift): Do not use BP_SYM.
* sysdeps/i386/memchr.S: Do not include "bp-sym.h" and "bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(STR): Likewise.
(CHR): Likewise.
(__memchr): Do not use BP_SYM.
(memchr): Do not use BP_SYM in weak_alias.
* sysdeps/i386/memcmp.S: Do not include "bp-sym.h" and "bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(BLK2): Likewise.
(LEN): Likewise.
(memcmp): Do not use BP_SYM.
(bcmp): Do not use BP_SYM in weak_alias.
* sysdeps/i386/mul_1.S: Do not include "bp-sym.h" and "bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(S1): Likewise.
(SIZE): Likewise.
(__mpn_mul_1): Do not use BP_SYM.
* sysdeps/i386/rawmemchr.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(STR): Likewise.
(CHR): Likewise.
(__rawmemchr): Do not use BP_SYM.
(rawmemchr): Do not use BP_SYM in weak_alias.
* sysdeps/i386/rshift.S: Do not include "bp-sym.h" and "bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(S): Likewise.
(SIZE): Likewise.
(__mpn_rshift): Do not use BP_SYM.
* sysdeps/i386/setjmp.S: Do not include "bp-sym.h" and "bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(SIGMSK): Likewise.
(__sigsetjmp): Likewise. Do not use BP_SYM.
* sysdeps/i386/start.S: Do not include "bp-sym.h".
(_start): Do not use BP_SYM.
* sysdeps/i386/stpcpy.S: Do not include "bp-sym.h" and "bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(DEST): Likewise.
(SRC): Likewise.
(__stpcpy): Likewise. Do not use BP_SYM.
(stpcpy): Do not use BP_SYM in weak_alias.
* sysdeps/i386/stpncpy.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(DEST): Likewise.
(SRC): Likewise.
(LEN): Likewise.
(__stpncpy): Likewise. Do not use BP_SYM.
(stpncpy): Do not use BP_SYM in weak_alias.
* sysdeps/i386/strchr.S: Do not include "bp-sym.h" and "bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(STR): Likewise.
(CHR): Likewise.
(strchr): Likewise. Do not use BP_SYM.
* sysdeps/i386/strchrnul.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(STR): Likewise.
(CHR): Likewise.
(__strchrnul): Likewise. Do not use BP_SYM.
(strchrnul): Do not use BP_SYM in weak_alias.
* sysdeps/i386/strcspn.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(STOP): Likewise.
(strcspn): Do not use BP_SYM.
* sysdeps/i386/strpbrk.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(STR): Likewise.
(STOP): Likewise.
(strpbrk): Likewise. Do not use BP_SYM.
* sysdeps/i386/strrchr.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(STR): Likewise.
(CHR): Likewise.
(strrchr): Likewise. Do not use BP_SYM.
* sysdeps/i386/strspn.S: Do not include "bp-sym.h" and "bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(SKIP): Likewise.
(strspn): Do not use BP_SYM.
* sysdeps/i386/strtok.S: Do not include "bp-sym.h" and "bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(STR): Likewise.
(DELIM): Likewise.
(SAVE): Likewise.
(FUNCTION): Likewise. Do not use BP_SYM.
* sysdeps/i386/strtok_r.S (__strtok_r): Do not use BP_SYM in
aliases.
(strtok_r): Likewise.
(__GI___strtok_r): Likewise.
* sysdeps/i386/sub_n.S: Do not include "bp-sym.h" and "bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(S1): Likewise.
(S2): Likewise.
(SIZE): Likewise.
(__mpn_sub_n): Do not use BP_SYM.
* sysdeps/i386/submul_1.S: Do not include "bp-sym.h" and
"bp-asm.h".
(PARMS): Do not use macros from bp-asm.h.
(S1): Likewise.
(SIZE): Likewise.
(__mpn_submul_1): Do not use BP_SYM.
* sysdeps/unix/i386/sysdep.S: Do not include <bp-asm.h> and
<bp-sym.h>.
* sysdeps/unix/sysv/linux/i386/clone.S: Do not include <bp-sym.h>
and <bp-asm.h>.
(PARMS): Do not use macros from bp-asm.h.
(FLAGS): Likewise.
(PTID): Likewise.
(TLS): Likewise.
(CTID): Likewise.
(__clone): Do not use BP_SYM.
(clone): Do not use BP_SYM in weak_alias.
* sysdeps/unix/sysv/linux/i386/mmap64.S: Do not include <bp-sym.h>
and <bp-asm.h>.
(PARMS): Do not use macros from bp-asm.h.
(LEN): Likewise.
(__mmap64): Do not use BP_SYM.
(mmap64): Do not use BP_SYM in weak_alias.
* sysdeps/unix/sysv/linux/i386/posix_fadvise64.S: Do not include
<bp-sym.h> and <bp-asm.h>.
(PARMS): Do not use macros from bp-asm.h.
(__posix_fadvise64_l64): Do not use BP_SYM.
* sysdeps/unix/sysv/linux/i386/semtimedop.S
(PARMS): Do not use macros from bp-asm.h.
(NSOPS): Likewise.
(semtimedop): Do not use BP_SYM.
* sysdeps/unix/sysv/linux/i386/sysdep.h: Do not include <bp-sym.h>
and <bp-asm.h>.
2013-02-21 Allan McRae <allan@archlinux.org> 2013-02-21 Allan McRae <allan@archlinux.org>
* manual/message.texi (Charset conversion in gettext): * manual/message.texi (Charset conversion in gettext):

View File

@ -19,17 +19,15 @@
#include "sysdep.h" #include "sysdep.h"
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+8 /* space for 2 saved regs */ #define PARMS 4+8 /* space for 2 saved regs */
#define RES PARMS #define RES PARMS
#define S1 RES+PTR_SIZE #define S1 RES+4
#define S2 S1+PTR_SIZE #define S2 S1+4
#define SIZE S2+PTR_SIZE #define SIZE S2+4
.text .text
ENTRY (BP_SYM (__mpn_add_n)) ENTRY (__mpn_add_n)
pushl %edi pushl %edi
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
@ -110,4 +108,4 @@ L(oop): movl (%esi),%eax
cfi_restore (edi) cfi_restore (edi)
ret ret
END (BP_SYM (__mpn_add_n)) END (__mpn_add_n)

View File

@ -19,13 +19,11 @@
#include "sysdep.h" #include "sysdep.h"
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+16 /* space for 4 saved regs */ #define PARMS 4+16 /* space for 4 saved regs */
#define RES PARMS #define RES PARMS
#define S1 RES+PTR_SIZE #define S1 RES+4
#define SIZE S1+PTR_SIZE #define SIZE S1+4
#define S2LIMB SIZE+4 #define S2LIMB SIZE+4
#define res_ptr edi #define res_ptr edi
@ -34,7 +32,7 @@
#define s2_limb ebx #define s2_limb ebx
.text .text
ENTRY (BP_SYM (__mpn_addmul_1)) ENTRY (__mpn_addmul_1)
pushl %res_ptr pushl %res_ptr
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
@ -85,4 +83,4 @@ L(oop):
cfi_restore (res_ptr) cfi_restore (res_ptr)
ret ret
END (BP_SYM (__mpn_addmul_1)) END (__mpn_addmul_1)

View File

@ -1,60 +0,0 @@
/* Bounded-pointer definitions for x86 assembler.
Copyright (C) 2000-2013 Free Software Foundation, Inc.
Contributed by Greg McGary <greg@mcgary.org>
This file is part of the GNU C Library. Its master source is NOT part of
the C library, however. The master source lives in the GNU MP Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#ifndef _bp_asm_h_
# define _bp_asm_h_ 1
# if __ASSEMBLER__
# if __BOUNDED_POINTERS__
/* Bounded pointers occupy three words. */
# define PTR_SIZE 12
/* Bounded pointer return values are passed back through a hidden
argument that points to caller-allocate space. The hidden arg
occupies one word on the stack. */
# define RTN_SIZE 4
/* Although the caller pushes the hidden arg, the callee is
responsible for popping it. */
# define RET_PTR ret $RTN_SIZE
/* Stack space overhead of procedure-call linkage: return address and
frame pointer. */
# define LINKAGE 8
/* Stack offset of return address after calling ENTER. */
# define PCOFF 4
# else /* !__BOUNDED_POINTERS__ */
/* Unbounded pointers occupy one word. */
# define PTR_SIZE 4
/* Unbounded pointer return values are passed back in the register %eax. */
# define RTN_SIZE 0
/* Use simple return instruction for unbounded pointer values. */
# define RET_PTR ret
/* Stack space overhead of procedure-call linkage: return address only. */
# define LINKAGE 4
/* Stack offset of return address after calling ENTER. */
# define PCOFF 0
# endif /* !__BOUNDED_POINTERS__ */
# endif /* __ASSEMBLER__ */
#endif /* _bp_asm_h_ */

View File

@ -22,15 +22,13 @@
#include <sysdep.h> #include <sysdep.h>
#include <jmpbuf-offsets.h> #include <jmpbuf-offsets.h>
#include "bp-sym.h"
#include "bp-asm.h"
#include <stap-probe.h> #include <stap-probe.h>
#define PARMS LINKAGE /* no space for saved regs */ #define PARMS 4 /* no space for saved regs */
#define JMPBUF PARMS #define JMPBUF PARMS
#define SIGMSK JMPBUF+PTR_SIZE #define SIGMSK JMPBUF+4
ENTRY (BP_SYM (_setjmp)) ENTRY (_setjmp)
xorl %eax, %eax xorl %eax, %eax
movl JMPBUF(%esp), %edx movl JMPBUF(%esp), %edx
@ -44,7 +42,7 @@ ENTRY (BP_SYM (_setjmp))
PTR_MANGLE (%ecx) PTR_MANGLE (%ecx)
#endif #endif
movl %ecx, (JB_SP*4)(%edx) movl %ecx, (JB_SP*4)(%edx)
movl PCOFF(%esp), %ecx /* Save PC we are returning to now. */ movl 0(%esp), %ecx /* Save PC we are returning to now. */
LIBC_PROBE (setjmp, 3, 4@%edx, -4@$0, 4@%ecx) LIBC_PROBE (setjmp, 3, 4@%edx, -4@$0, 4@%ecx)
#ifdef PTR_MANGLE #ifdef PTR_MANGLE
PTR_MANGLE (%ecx) PTR_MANGLE (%ecx)
@ -54,5 +52,5 @@ ENTRY (BP_SYM (_setjmp))
movl %eax, JB_SIZE(%edx) /* No signal mask set. */ movl %eax, JB_SIZE(%edx) /* No signal mask set. */
ret ret
END (BP_SYM (_setjmp)) END (_setjmp)
libc_hidden_def (_setjmp) libc_hidden_def (_setjmp)

View File

@ -22,15 +22,13 @@
#include <sysdep.h> #include <sysdep.h>
#include <jmpbuf-offsets.h> #include <jmpbuf-offsets.h>
#include "bp-sym.h"
#include "bp-asm.h"
#include <stap-probe.h> #include <stap-probe.h>
#define PARMS LINKAGE /* no space for saved regs */ #define PARMS 4 /* no space for saved regs */
#define JMPBUF PARMS #define JMPBUF PARMS
#define SIGMSK JMPBUF+PTR_SIZE #define SIGMSK JMPBUF+4
ENTRY (BP_SYM (setjmp)) ENTRY (setjmp)
/* Note that we have to use a non-exported symbol in the next /* 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 jump since otherwise gas will emit it as a jump through the
PLT which is what we cannot use here. */ PLT which is what we cannot use here. */
@ -46,7 +44,7 @@ ENTRY (BP_SYM (setjmp))
PTR_MANGLE (%ecx) PTR_MANGLE (%ecx)
#endif #endif
movl %ecx, (JB_SP*4)(%eax) movl %ecx, (JB_SP*4)(%eax)
movl PCOFF(%esp), %ecx /* Save PC we are returning to now. */ movl 0(%esp), %ecx /* Save PC we are returning to now. */
LIBC_PROBE (setjmp, 3, 4@%eax, -4@$1, 4@%ecx) LIBC_PROBE (setjmp, 3, 4@%eax, -4@$1, 4@%ecx)
#ifdef PTR_MANGLE #ifdef PTR_MANGLE
PTR_MANGLE (%ecx) PTR_MANGLE (%ecx)
@ -59,10 +57,10 @@ ENTRY (BP_SYM (setjmp))
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
pushl 8(%esp) pushl 8(%esp)
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
call BP_SYM (__sigjmp_save) call __sigjmp_save
popl %ecx popl %ecx
cfi_adjust_cfa_offset (-4) cfi_adjust_cfa_offset (-4)
popl %edx popl %edx
cfi_adjust_cfa_offset (-4) cfi_adjust_cfa_offset (-4)
ret ret
END (BP_SYM (setjmp)) END (setjmp)

View File

@ -18,8 +18,6 @@
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#include <machine/asm.h> #include <machine/asm.h>
#include "bp-sym.h"
#include "bp-asm.h"
.section .rodata .section .rodata
@ -34,13 +32,13 @@ two54: .byte 0, 0, 0, 0, 0, 0, 0x50, 0x43
#define MO(op) op #define MO(op) op
#endif #endif
#define PARMS LINKAGE /* no space for saved regs */ #define PARMS 4 /* no space for saved regs */
#define VAL0 PARMS #define VAL0 PARMS
#define VAL1 VAL0+4 #define VAL1 VAL0+4
#define EXPP VAL1+4 #define EXPP VAL1+4
.text .text
ENTRY (BP_SYM (__frexp)) ENTRY (__frexp)
movl VAL0(%esp), %ecx movl VAL0(%esp), %ecx
movl VAL1(%esp), %eax movl VAL1(%esp), %eax
@ -81,5 +79,5 @@ ENTRY (BP_SYM (__frexp))
movl %ecx, (%eax) movl %ecx, (%eax)
ret ret
END (BP_SYM (__frexp)) END (__frexp)
weak_alias (BP_SYM (__frexp), BP_SYM (frexp)) weak_alias (__frexp, frexp)

View File

@ -18,8 +18,6 @@
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#include <machine/asm.h> #include <machine/asm.h>
#include "bp-sym.h"
#include "bp-asm.h"
.section .rodata .section .rodata
@ -34,12 +32,12 @@ two25: .byte 0, 0, 0, 0x4c
#define MO(op) op #define MO(op) op
#endif #endif
#define PARMS LINKAGE /* no space for saved regs */ #define PARMS 4 /* no space for saved regs */
#define VAL PARMS #define VAL PARMS
#define EXPP VAL+4 #define EXPP VAL+4
.text .text
ENTRY (BP_SYM (__frexpf)) ENTRY (__frexpf)
movl VAL(%esp), %eax movl VAL(%esp), %eax
xorl %ecx, %ecx xorl %ecx, %ecx
@ -78,5 +76,5 @@ ENTRY (BP_SYM (__frexpf))
movl %ecx, (%eax) movl %ecx, (%eax)
ret ret
END (BP_SYM (__frexpf)) END (__frexpf)
weak_alias (BP_SYM (__frexpf), BP_SYM (frexpf)) weak_alias (__frexpf, frexpf)

View File

@ -18,8 +18,6 @@
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#include <machine/asm.h> #include <machine/asm.h>
#include "bp-sym.h"
#include "bp-asm.h"
.section .rodata .section .rodata
@ -34,14 +32,14 @@ two64: .byte 0, 0, 0, 0, 0, 0, 0xf0, 0x43
#define MO(op) op #define MO(op) op
#endif #endif
#define PARMS LINKAGE /* no space for saved regs */ #define PARMS 4 /* no space for saved regs */
#define VAL0 PARMS #define VAL0 PARMS
#define VAL1 VAL0+4 #define VAL1 VAL0+4
#define VAL2 VAL1+4 #define VAL2 VAL1+4
#define EXPP VAL2+4 #define EXPP VAL2+4
.text .text
ENTRY (BP_SYM (__frexpl)) ENTRY (__frexpl)
movl VAL0(%esp), %ecx movl VAL0(%esp), %ecx
movl VAL2(%esp), %eax movl VAL2(%esp), %eax
@ -83,5 +81,5 @@ ENTRY (BP_SYM (__frexpl))
movl %ecx, (%eax) movl %ecx, (%eax)
ret ret
END (BP_SYM (__frexpl)) END (__frexpl)
weak_alias (BP_SYM (__frexpl), BP_SYM (frexpl)) weak_alias (__frexpl, frexpl)

View File

@ -5,16 +5,14 @@
*/ */
#include <machine/asm.h> #include <machine/asm.h>
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE /* no space for saved regs */ #define PARMS 4 /* no space for saved regs */
#define DVDND PARMS #define DVDND PARMS
#define DVSOR DVDND+8 #define DVSOR DVDND+8
#define QUOP DVSOR+8 #define QUOP DVSOR+8
.text .text
ENTRY (BP_SYM (__remquo)) ENTRY (__remquo)
fldl DVSOR(%esp) fldl DVSOR(%esp)
fldl DVDND(%esp) fldl DVDND(%esp)
@ -43,5 +41,5 @@ ENTRY (BP_SYM (__remquo))
1: movl %eax, (%ecx) 1: movl %eax, (%ecx)
ret ret
END (BP_SYM (__remquo)) END (__remquo)
weak_alias (BP_SYM (__remquo), BP_SYM (remquo)) weak_alias (__remquo, remquo)

View File

@ -5,16 +5,14 @@
*/ */
#include <machine/asm.h> #include <machine/asm.h>
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE /* no space for saved regs */ #define PARMS 4 /* no space for saved regs */
#define DVDND PARMS #define DVDND PARMS
#define DVSOR DVDND+4 #define DVSOR DVDND+4
#define QUOP DVSOR+4 #define QUOP DVSOR+4
.text .text
ENTRY (BP_SYM (__remquof)) ENTRY (__remquof)
flds DVSOR(%esp) flds DVSOR(%esp)
flds DVDND(%esp) flds DVDND(%esp)
@ -43,5 +41,5 @@ ENTRY (BP_SYM (__remquof))
1: movl %eax, (%ecx) 1: movl %eax, (%ecx)
ret ret
END (BP_SYM (__remquof)) END (__remquof)
weak_alias (BP_SYM (__remquof), BP_SYM (remquof)) weak_alias (__remquof, remquof)

View File

@ -5,16 +5,14 @@
*/ */
#include <machine/asm.h> #include <machine/asm.h>
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE /* no space for saved regs */ #define PARMS 4 /* no space for saved regs */
#define DVDND PARMS #define DVDND PARMS
#define DVSOR DVDND+12 #define DVSOR DVDND+12
#define QUOP DVSOR+12 #define QUOP DVSOR+12
.text .text
ENTRY (BP_SYM (__remquol)) ENTRY (__remquol)
fldt DVSOR(%esp) fldt DVSOR(%esp)
fldt DVDND(%esp) fldt DVDND(%esp)
@ -43,5 +41,5 @@ ENTRY (BP_SYM (__remquol))
1: movl %eax, (%ecx) 1: movl %eax, (%ecx)
ret ret
END (BP_SYM (__remquol)) END (__remquol)
weak_alias (BP_SYM (__remquol), BP_SYM (remquol)) weak_alias (__remquol, remquol)

View File

@ -21,16 +21,14 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+4 /* space for 1 saved reg */ #define PARMS 4+4 /* space for 1 saved reg */
#define RTN PARMS #define RTN PARMS
#define DEST RTN+RTN_SIZE #define DEST RTN
#define SRC DEST+PTR_SIZE #define SRC DEST+4
.text .text
ENTRY (BP_SYM (strcat)) ENTRY (strcat)
pushl %edi /* Save callee-safe register. */ pushl %edi /* Save callee-safe register. */
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
@ -257,12 +255,11 @@ L(9): movb %al, (%ecx,%edx) /* store first byte of last word */
movb %ah, 3(%ecx,%edx) /* store fourth byte of last word */ movb %ah, 3(%ecx,%edx) /* store fourth byte of last word */
L(8): /* GKM FIXME: check high bounds */ L(8): movl DEST(%esp), %eax /* start address of destination is result */
movl DEST(%esp), %eax /* start address of destination is result */
popl %edi /* restore saved register */ popl %edi /* restore saved register */
cfi_adjust_cfa_offset (-4) cfi_adjust_cfa_offset (-4)
cfi_restore (edi) cfi_restore (edi)
RET_PTR ret
END (BP_SYM (strcat)) END (strcat)
libc_hidden_builtin_def (strcat) libc_hidden_builtin_def (strcat)

View File

@ -20,14 +20,12 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE /* no space for saved regs */ #define PARMS 4 /* no space for saved regs */
#define STR PARMS #define STR PARMS
.text .text
ENTRY (BP_SYM (strlen)) ENTRY (strlen)
movl STR(%esp), %ecx movl STR(%esp), %ecx
movl %ecx, %eax /* duplicate it */ movl %ecx, %eax /* duplicate it */
@ -130,5 +128,5 @@ L(3): testb %cl, %cl /* is first byte NUL? */
L(2): subl STR(%esp), %eax /* compute difference to string start */ L(2): subl STR(%esp), %eax /* compute difference to string start */
ret ret
END (BP_SYM (strlen)) END (strlen)
libc_hidden_builtin_def (strlen) libc_hidden_builtin_def (strlen)

View File

@ -19,17 +19,15 @@
#include "sysdep.h" #include "sysdep.h"
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+16 /* space for 4 saved regs */ #define PARMS 4+16 /* space for 4 saved regs */
#define RES PARMS #define RES PARMS
#define S1 RES+PTR_SIZE #define S1 RES+4
#define S2 S1+PTR_SIZE #define S2 S1+4
#define SIZE S2+PTR_SIZE #define SIZE S2+4
.text .text
ENTRY (BP_SYM (__mpn_add_n)) ENTRY (__mpn_add_n)
pushl %edi pushl %edi
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
@ -142,4 +140,4 @@ L(end2):
cfi_restore (edi) cfi_restore (edi)
ret ret
END (BP_SYM (__mpn_add_n)) END (__mpn_add_n)

View File

@ -19,13 +19,11 @@
#include "sysdep.h" #include "sysdep.h"
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+16 /* space for 4 saved regs */ #define PARMS 4+16 /* space for 4 saved regs */
#define RES PARMS #define RES PARMS
#define S1 RES+PTR_SIZE #define S1 RES+4
#define SIZE S1+PTR_SIZE #define SIZE S1+4
#define S2LIMB SIZE+4 #define S2LIMB SIZE+4
#define res_ptr edi #define res_ptr edi
@ -34,7 +32,7 @@
#define s2_limb ebx #define s2_limb ebx
.text .text
ENTRY (BP_SYM (__mpn_addmul_1)) ENTRY (__mpn_addmul_1)
pushl %res_ptr pushl %res_ptr
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
@ -93,4 +91,4 @@ L(oop): adcl $0, %ebp
ret ret
#undef size #undef size
END (BP_SYM (__mpn_addmul_1)) END (__mpn_addmul_1)

View File

@ -1,3 +1,3 @@
#define memset __bzero #define memset __bzero
#include <sysdeps/i386/i586/memset.S> #include <sysdeps/i386/i586/memset.S>
weak_alias (BP_SYM (__bzero), BP_SYM (bzero)) weak_alias (__bzero, bzero)

View File

@ -18,17 +18,15 @@
#include "sysdep.h" #include "sysdep.h"
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+16 /* space for 4 saved regs */ #define PARMS 4+16 /* space for 4 saved regs */
#define RES PARMS #define RES PARMS
#define S RES+PTR_SIZE #define S RES+4
#define SIZE S+PTR_SIZE #define SIZE S+4
#define CNT SIZE+4 #define CNT SIZE+4
.text .text
ENTRY (BP_SYM (__mpn_lshift)) ENTRY (__mpn_lshift)
pushl %edi pushl %edi
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
@ -254,4 +252,4 @@ L(L1): movl %edx,(%edi) /* store last limb */
cfi_restore (edi) cfi_restore (edi)
ret ret
END (BP_SYM (__mpn_lshift)) END (__mpn_lshift)

View File

@ -19,19 +19,17 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
/* BEWARE: `#ifdef memcpy' means that memcpy is redefined as `mempcpy', /* BEWARE: `#ifdef memcpy' means that memcpy is redefined as `mempcpy',
and the return value is the byte after the last one copied in and the return value is the byte after the last one copied in
the destination. */ the destination. */
#define MEMPCPY_P (defined memcpy) #define MEMPCPY_P (defined memcpy)
#define PARMS LINKAGE+8 /* space for 2 saved regs */ #define PARMS 4+8 /* space for 2 saved regs */
#define RTN PARMS #define RTN PARMS
#define DEST RTN+RTN_SIZE #define DEST RTN
#define SRC DEST+PTR_SIZE #define SRC DEST+4
#define LEN SRC+PTR_SIZE #define LEN SRC+4
.text .text
#if defined PIC && !defined NOT_IN_libc #if defined PIC && !defined NOT_IN_libc
@ -41,7 +39,7 @@ ENTRY (__memcpy_chk)
jb HIDDEN_JUMPTARGET (__chk_fail) jb HIDDEN_JUMPTARGET (__chk_fail)
END (__memcpy_chk) END (__memcpy_chk)
#endif #endif
ENTRY (BP_SYM (memcpy)) ENTRY (memcpy)
pushl %edi pushl %edi
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
@ -124,8 +122,8 @@ L(1): rep; movsb
cfi_adjust_cfa_offset (-4) cfi_adjust_cfa_offset (-4)
cfi_restore (edi) cfi_restore (edi)
RET_PTR ret
END (BP_SYM (memcpy)) END (memcpy)
#if !MEMPCPY_P #if !MEMPCPY_P
libc_hidden_builtin_def (memcpy) libc_hidden_builtin_def (memcpy)
#endif #endif

View File

@ -2,6 +2,6 @@
#define __memcpy_chk __mempcpy_chk #define __memcpy_chk __mempcpy_chk
#include <sysdeps/i386/i586/memcpy.S> #include <sysdeps/i386/i586/memcpy.S>
libc_hidden_def (BP_SYM (__mempcpy)) libc_hidden_def (__mempcpy)
weak_alias (BP_SYM (__mempcpy), BP_SYM (mempcpy)) weak_alias (__mempcpy, mempcpy)
libc_hidden_builtin_def (mempcpy) libc_hidden_builtin_def (mempcpy)

View File

@ -20,19 +20,17 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
/* BEWARE: `#ifdef memset' means that memset is redefined as `bzero' */ /* BEWARE: `#ifdef memset' means that memset is redefined as `bzero' */
#define BZERO_P (defined memset) #define BZERO_P (defined memset)
#define PARMS LINKAGE+4 /* space for 1 saved reg */ #define PARMS 4+4 /* space for 1 saved reg */
#define RTN PARMS #define RTN PARMS
#define DEST RTN+RTN_SIZE #define DEST RTN
#if BZERO_P #if BZERO_P
# define LEN DEST+PTR_SIZE # define LEN DEST+4
#else #else
# define CHR DEST+PTR_SIZE # define CHR DEST+4
# define LEN CHR+4 # define LEN CHR+4
#endif #endif
@ -44,7 +42,7 @@ ENTRY (__memset_chk)
jb HIDDEN_JUMPTARGET (__chk_fail) jb HIDDEN_JUMPTARGET (__chk_fail)
END (__memset_chk) END (__memset_chk)
#endif #endif
ENTRY (BP_SYM (memset)) ENTRY (memset)
pushl %edi pushl %edi
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
@ -117,7 +115,7 @@ L(2): shrl $2, %ecx /* convert byte count to longword count */
#if BZERO_P #if BZERO_P
ret ret
#else #else
RET_PTR ret
#endif #endif
END (BP_SYM (memset)) END (memset)
libc_hidden_builtin_def (memset) libc_hidden_builtin_def (memset)

View File

@ -19,13 +19,11 @@
#include "sysdep.h" #include "sysdep.h"
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+16 /* space for 4 saved regs */ #define PARMS 4+16 /* space for 4 saved regs */
#define RES PARMS #define RES PARMS
#define S1 RES+PTR_SIZE #define S1 RES+4
#define SIZE S1+PTR_SIZE #define SIZE S1+4
#define S2LIMB SIZE+4 #define S2LIMB SIZE+4
#define res_ptr edi #define res_ptr edi
@ -34,7 +32,7 @@
#define s2_limb ebx #define s2_limb ebx
.text .text
ENTRY (BP_SYM (__mpn_mul_1)) ENTRY (__mpn_mul_1)
pushl %res_ptr pushl %res_ptr
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
@ -89,4 +87,4 @@ L(oop): adcl $0, %ebp
ret ret
#undef size #undef size
END (BP_SYM (__mpn_mul_1)) END (__mpn_mul_1)

View File

@ -18,17 +18,15 @@
#include "sysdep.h" #include "sysdep.h"
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+16 /* space for 4 saved regs */ #define PARMS 4+16 /* space for 4 saved regs */
#define RES PARMS #define RES PARMS
#define S RES+PTR_SIZE #define S RES+4
#define SIZE S+PTR_SIZE #define SIZE S+4
#define CNT SIZE+4 #define CNT SIZE+4
.text .text
ENTRY (BP_SYM (__mpn_rshift)) ENTRY (__mpn_rshift)
pushl %edi pushl %edi
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
@ -254,4 +252,4 @@ L(L1): movl %edx,(%edi) /* store last limb */
cfi_restore (edi) cfi_restore (edi)
ret ret
END (BP_SYM (__mpn_rshift)) END (__mpn_rshift)

View File

@ -20,8 +20,6 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
/* This version is especially optimized for the i586 (and following?) /* This version is especially optimized for the i586 (and following?)
processors. This is mainly done by using the two pipelines. The processors. This is mainly done by using the two pipelines. The
@ -36,13 +34,13 @@
/* The magic value which is used throughout in the whole code. */ /* The magic value which is used throughout in the whole code. */
#define magic 0xfefefeff #define magic 0xfefefeff
#define PARMS LINKAGE+16 /* space for 4 saved regs */ #define PARMS 4+16 /* space for 4 saved regs */
#define RTN PARMS #define RTN PARMS
#define STR RTN+RTN_SIZE #define STR RTN
#define CHR STR+PTR_SIZE #define CHR STR+4
.text .text
ENTRY (BP_SYM (strchr)) ENTRY (strchr)
pushl %edi /* Save callee-safe registers. */ pushl %edi /* Save callee-safe registers. */
cfi_adjust_cfa_offset (-4) cfi_adjust_cfa_offset (-4)
@ -301,7 +299,7 @@ L(out): popl %ebp /* restore saved registers */
cfi_adjust_cfa_offset (-4) cfi_adjust_cfa_offset (-4)
cfi_restore (edi) cfi_restore (edi)
RET_PTR ret
cfi_adjust_cfa_offset (16) cfi_adjust_cfa_offset (16)
cfi_rel_offset (edi, 12) cfi_rel_offset (edi, 12)
@ -343,8 +341,8 @@ L(4): subl $4, %eax /* adjust pointer */
L(3): xorl %eax, %eax L(3): xorl %eax, %eax
jmp L(out) jmp L(out)
END (BP_SYM (strchr)) END (strchr)
#undef index #undef index
weak_alias (BP_SYM (strchr), BP_SYM (index)) weak_alias (strchr, index)
libc_hidden_builtin_def (strchr) libc_hidden_builtin_def (strchr)

View File

@ -19,13 +19,11 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+12 /* space for 3 saved regs */ #define PARMS 4+12 /* space for 3 saved regs */
#define RTN PARMS #define RTN PARMS
#define DEST RTN+RTN_SIZE #define DEST RTN
#define SRC DEST+PTR_SIZE #define SRC DEST+4
#ifndef USE_AS_STPCPY #ifndef USE_AS_STPCPY
# define STRCPY strcpy # define STRCPY strcpy
@ -34,7 +32,7 @@
#define magic 0xfefefeff #define magic 0xfefefeff
.text .text
ENTRY (BP_SYM (STRCPY)) ENTRY (STRCPY)
pushl %edi pushl %edi
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
@ -149,7 +147,6 @@ L(4): movb %dl, (%edi)
L(end): movb %ah, (%edi) L(end): movb %ah, (%edi)
L(end2): L(end2):
/* GKM FIXME: check high bounds */
#ifdef USE_AS_STPCPY #ifdef USE_AS_STPCPY
movl %edi, %eax movl %edi, %eax
#else #else
@ -165,8 +162,8 @@ L(end2):
cfi_adjust_cfa_offset (-4) cfi_adjust_cfa_offset (-4)
cfi_restore (edi) cfi_restore (edi)
RET_PTR ret
END (BP_SYM (STRCPY)) END (STRCPY)
#ifndef USE_AS_STPCPY #ifndef USE_AS_STPCPY
libc_hidden_builtin_def (strcpy) libc_hidden_builtin_def (strcpy)
#endif #endif

View File

@ -20,8 +20,6 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
/* This version is especially optimized for the i586 (and following?) /* This version is especially optimized for the i586 (and following?)
processors. This is mainly done by using the two pipelines. The processors. This is mainly done by using the two pipelines. The
@ -36,11 +34,11 @@
/* The magic value which is used throughout in the whole code. */ /* The magic value which is used throughout in the whole code. */
#define magic 0xfefefeff #define magic 0xfefefeff
#define PARMS LINKAGE /* no space for saved regs */ #define PARMS 4 /* no space for saved regs */
#define STR PARMS #define STR PARMS
.text .text
ENTRY (BP_SYM (strlen)) ENTRY (strlen)
movl STR(%esp), %eax movl STR(%esp), %eax
movl $3, %edx /* load mask (= 3) */ movl $3, %edx /* load mask (= 3) */
@ -180,5 +178,5 @@ L(2): subl STR(%esp), %eax /* now compute the length as difference
between start and terminating NUL between start and terminating NUL
character */ character */
ret ret
END (BP_SYM (strlen)) END (strlen)
libc_hidden_builtin_def (strlen) libc_hidden_builtin_def (strlen)

View File

@ -19,17 +19,15 @@
#include "sysdep.h" #include "sysdep.h"
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+16 /* space for 4 saved regs */ #define PARMS 4+16 /* space for 4 saved regs */
#define RES PARMS #define RES PARMS
#define S1 RES+PTR_SIZE #define S1 RES+4
#define S2 S1+PTR_SIZE #define S2 S1+4
#define SIZE S2+PTR_SIZE #define SIZE S2+4
.text .text
ENTRY (BP_SYM (__mpn_sub_n)) ENTRY (__mpn_sub_n)
pushl %edi pushl %edi
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
@ -142,4 +140,4 @@ L(end2):
cfi_restore (edi) cfi_restore (edi)
ret ret
END (BP_SYM (__mpn_sub_n)) END (__mpn_sub_n)

View File

@ -19,13 +19,11 @@
#include "sysdep.h" #include "sysdep.h"
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+16 /* space for 4 saved regs */ #define PARMS 4+16 /* space for 4 saved regs */
#define RES PARMS #define RES PARMS
#define S1 RES+PTR_SIZE #define S1 RES+4
#define SIZE S1+PTR_SIZE #define SIZE S1+4
#define S2LIMB SIZE+4 #define S2LIMB SIZE+4
#define res_ptr edi #define res_ptr edi
@ -34,7 +32,7 @@
#define s2_limb ebx #define s2_limb ebx
.text .text
ENTRY (BP_SYM (__mpn_submul_1)) ENTRY (__mpn_submul_1)
pushl %res_ptr pushl %res_ptr
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
@ -93,4 +91,4 @@ L(oop): adcl $0, %ebp
ret ret
#undef size #undef size
END (BP_SYM (__mpn_submul_1)) END (__mpn_submul_1)

View File

@ -19,21 +19,19 @@
#include "sysdep.h" #include "sysdep.h"
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+8 /* space for 2 saved regs */ #define PARMS 4+8 /* space for 2 saved regs */
#define RES PARMS #define RES PARMS
#define S1 RES+PTR_SIZE #define S1 RES+4
#define S2 S1+PTR_SIZE #define S2 S1+4
#define SIZE S2+PTR_SIZE #define SIZE S2+4
.text .text
#ifdef PIC #ifdef PIC
L(1): addl (%esp), %eax L(1): addl (%esp), %eax
ret ret
#endif #endif
ENTRY (BP_SYM (__mpn_add_n)) ENTRY (__mpn_add_n)
pushl %edi pushl %edi
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
@ -109,4 +107,4 @@ L(oop): movl (%esi),%eax
cfi_restore (edi) cfi_restore (edi)
ret ret
END (BP_SYM (__mpn_add_n)) END (__mpn_add_n)

View File

@ -1,3 +1,3 @@
#define memset __bzero #define memset __bzero
#include <sysdeps/i386/i686/memset.S> #include <sysdeps/i386/i686/memset.S>
weak_alias (BP_SYM (__bzero), BP_SYM (bzero)) weak_alias (__bzero, bzero)

View File

@ -18,13 +18,11 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+4 /* Preserve EBX. */ #define PARMS 4+4 /* Preserve EBX. */
#define BLK1 PARMS #define BLK1 PARMS
#define BLK2 BLK1+PTR_SIZE #define BLK2 BLK1+4
#define LEN BLK2+PTR_SIZE #define LEN BLK2+4
#define ENTRANCE pushl %ebx; cfi_adjust_cfa_offset (4); \ #define ENTRANCE pushl %ebx; cfi_adjust_cfa_offset (4); \
cfi_rel_offset (ebx, 0) cfi_rel_offset (ebx, 0)
#define RETURN popl %ebx; cfi_adjust_cfa_offset (-4); \ #define RETURN popl %ebx; cfi_adjust_cfa_offset (-4); \
@ -44,7 +42,7 @@
.text .text
ALIGN (4) ALIGN (4)
ENTRY (BP_SYM (memcmp)) ENTRY (memcmp)
ENTRANCE ENTRANCE
movl BLK1(%esp), %eax movl BLK1(%esp), %eax
@ -366,7 +364,7 @@ L(set):
cfi_adjust_cfa_offset (-4) cfi_adjust_cfa_offset (-4)
cfi_restore (esi) cfi_restore (esi)
RETURN RETURN
END (BP_SYM (memcmp)) END (memcmp)
.section .rodata .section .rodata
ALIGN (2) ALIGN (2)
@ -406,5 +404,5 @@ L(table_32bytes) :
#undef bcmp #undef bcmp
weak_alias (BP_SYM (memcmp), BP_SYM (bcmp)) weak_alias (memcmp, bcmp)
libc_hidden_builtin_def (BP_SYM (memcmp)) libc_hidden_builtin_def (memcmp)

View File

@ -20,14 +20,12 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE /* no space for saved regs */ #define PARMS 4 /* no space for saved regs */
#define RTN PARMS #define RTN PARMS
#define DEST RTN+RTN_SIZE #define DEST RTN
#define SRC DEST+PTR_SIZE #define SRC DEST+4
#define LEN SRC+PTR_SIZE #define LEN SRC+4
.text .text
#if defined PIC && !defined NOT_IN_libc #if defined PIC && !defined NOT_IN_libc
@ -37,7 +35,7 @@ ENTRY_CHK (__memcpy_chk)
jb HIDDEN_JUMPTARGET (__chk_fail) jb HIDDEN_JUMPTARGET (__chk_fail)
END_CHK (__memcpy_chk) END_CHK (__memcpy_chk)
#endif #endif
ENTRY (BP_SYM (memcpy)) ENTRY (memcpy)
movl %edi, %eax movl %edi, %eax
movl DEST(%esp), %edi movl DEST(%esp), %edi
@ -81,7 +79,7 @@ ENTRY (BP_SYM (memcpy))
movl %edx, %esi movl %edx, %esi
movl DEST(%esp), %eax movl DEST(%esp), %eax
RET_PTR ret
/* When we come here the pointers do not have the same /* When we come here the pointers do not have the same
alignment or the length is too short. No need to optimize for alignment or the length is too short. No need to optimize for
@ -96,5 +94,5 @@ ENTRY (BP_SYM (memcpy))
2: rep 2: rep
movsl movsl
jmp .Lend jmp .Lend
END (BP_SYM (memcpy)) END (memcpy)
libc_hidden_builtin_def (memcpy) libc_hidden_builtin_def (memcpy)

View File

@ -20,22 +20,20 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+4 /* one spilled register */ #define PARMS 4+4 /* one spilled register */
#define RTN PARMS #define RTN PARMS
.text .text
#ifdef USE_AS_BCOPY #ifdef USE_AS_BCOPY
# define SRC RTN+RTN_SIZE # define SRC RTN
# define DEST SRC+PTR_SIZE # define DEST SRC+4
# define LEN DEST+PTR_SIZE # define LEN DEST+4
#else #else
# define DEST RTN+RTN_SIZE # define DEST RTN
# define SRC DEST+PTR_SIZE # define SRC DEST+4
# define LEN SRC+PTR_SIZE # define LEN SRC+4
# if defined PIC && !defined NOT_IN_libc # if defined PIC && !defined NOT_IN_libc
ENTRY_CHK (__memmove_chk) ENTRY_CHK (__memmove_chk)
@ -46,7 +44,7 @@ END_CHK (__memmove_chk)
# endif # endif
#endif #endif
ENTRY (BP_SYM (memmove)) ENTRY (memmove)
pushl %edi pushl %edi
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
@ -82,7 +80,7 @@ ENTRY (BP_SYM (memmove))
cfi_adjust_cfa_offset (-4) cfi_adjust_cfa_offset (-4)
cfi_restore (edi) cfi_restore (edi)
RET_PTR ret
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
cfi_rel_offset (edi, 0) cfi_rel_offset (edi, 0)
@ -115,8 +113,8 @@ ENTRY (BP_SYM (memmove))
cfi_adjust_cfa_offset (-4) cfi_adjust_cfa_offset (-4)
cfi_restore (edi) cfi_restore (edi)
RET_PTR ret
END (BP_SYM (memmove)) END (memmove)
#ifndef USE_AS_BCOPY #ifndef USE_AS_BCOPY
libc_hidden_builtin_def (memmove) libc_hidden_builtin_def (memmove)
#endif #endif

View File

@ -20,14 +20,12 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE /* no space for saved regs */ #define PARMS 4 /* no space for saved regs */
#define RTN PARMS #define RTN PARMS
#define DEST RTN+RTN_SIZE #define DEST RTN
#define SRC DEST+PTR_SIZE #define SRC DEST+4
#define LEN SRC+PTR_SIZE #define LEN SRC+4
.text .text
#if defined PIC && !defined NOT_IN_libc #if defined PIC && !defined NOT_IN_libc
@ -37,7 +35,7 @@ ENTRY_CHK (__mempcpy_chk)
jb HIDDEN_JUMPTARGET (__chk_fail) jb HIDDEN_JUMPTARGET (__chk_fail)
END_CHK (__mempcpy_chk) END_CHK (__mempcpy_chk)
#endif #endif
ENTRY (BP_SYM (__mempcpy)) ENTRY (__mempcpy)
movl LEN(%esp), %ecx movl LEN(%esp), %ecx
movl %edi, %eax movl %edi, %eax
@ -60,8 +58,8 @@ ENTRY (BP_SYM (__mempcpy))
movl %edx, %esi movl %edx, %esi
cfi_restore (esi) cfi_restore (esi)
RET_PTR ret
END (BP_SYM (__mempcpy)) END (__mempcpy)
libc_hidden_def (BP_SYM (__mempcpy)) libc_hidden_def (__mempcpy)
weak_alias (BP_SYM (__mempcpy), BP_SYM (mempcpy)) weak_alias (__mempcpy, mempcpy)
libc_hidden_builtin_def (mempcpy) libc_hidden_builtin_def (mempcpy)

View File

@ -20,20 +20,18 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
/* BEWARE: `#ifdef memset' means that memset is redefined as `bzero' */ /* BEWARE: `#ifdef memset' means that memset is redefined as `bzero' */
#define BZERO_P (defined memset) #define BZERO_P (defined memset)
#define PARMS LINKAGE+4 /* space for 1 saved reg */ #define PARMS 4+4 /* space for 1 saved reg */
#if BZERO_P #if BZERO_P
# define DEST PARMS # define DEST PARMS
# define LEN DEST+PTR_SIZE # define LEN DEST+4
#else #else
# define RTN PARMS # define RTN PARMS
# define DEST RTN+RTN_SIZE # define DEST RTN
# define CHR DEST+PTR_SIZE # define CHR DEST+4
# define LEN CHR+4 # define LEN CHR+4
#endif #endif
@ -45,7 +43,7 @@ ENTRY_CHK (__memset_chk)
jb HIDDEN_JUMPTARGET (__chk_fail) jb HIDDEN_JUMPTARGET (__chk_fail)
END_CHK (__memset_chk) END_CHK (__memset_chk)
#endif #endif
ENTRY (BP_SYM (memset)) ENTRY (memset)
cld cld
pushl %edi pushl %edi
@ -96,9 +94,9 @@ ENTRY (BP_SYM (memset))
#if BZERO_P #if BZERO_P
ret ret
#else #else
RET_PTR ret
#endif #endif
END (BP_SYM (memset)) END (memset)
libc_hidden_builtin_def (memset) libc_hidden_builtin_def (memset)
#if defined PIC && !defined NOT_IN_libc && !BZERO_P #if defined PIC && !defined NOT_IN_libc && !BZERO_P

View File

@ -19,15 +19,13 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE /* no space for saved regs */ #define PARMS 4 /* no space for saved regs */
#define STR1 PARMS #define STR1 PARMS
#define STR2 STR1+PTR_SIZE #define STR2 STR1+4
.text .text
ENTRY (BP_SYM (strcmp)) ENTRY (strcmp)
movl STR1(%esp), %ecx movl STR1(%esp), %ecx
movl STR2(%esp), %edx movl STR2(%esp), %edx
@ -50,5 +48,5 @@ L(neq): movl $1, %eax
cmovbl %ecx, %eax cmovbl %ecx, %eax
ret ret
END (BP_SYM (strcmp)) END (strcmp)
libc_hidden_builtin_def (strcmp) libc_hidden_builtin_def (strcmp)

View File

@ -20,8 +20,6 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
/* This file can be used for three variants of the strtok function: /* This file can be used for three variants of the strtok function:
@ -58,15 +56,15 @@ save_ptr:
#endif #endif
#if !defined USE_AS_STRTOK_R && defined PIC #if !defined USE_AS_STRTOK_R && defined PIC
# define PARMS LINKAGE+256+4 /* space for table and saved PIC register */ # define PARMS 4+256+4 /* space for table and saved PIC register */
#else #else
# define PARMS LINKAGE+256 /* space for table */ # define PARMS 4+256 /* space for table */
#endif #endif
#define RTN PARMS #define RTN PARMS
#define STR RTN+RTN_SIZE #define STR RTN
#define DELIM STR+PTR_SIZE #define DELIM STR+4
#ifdef USE_AS_STRTOK_R #ifdef USE_AS_STRTOK_R
# define SAVE DELIM+PTR_SIZE # define SAVE DELIM+4
#endif #endif
.text .text
@ -76,7 +74,7 @@ save_ptr:
ret ret
#endif #endif
ENTRY (BP_SYM (FUNCTION)) ENTRY (FUNCTION)
#if !defined USE_AS_STRTOK_R && defined PIC #if !defined USE_AS_STRTOK_R && defined PIC
pushl %ebx /* Save PIC register. */ pushl %ebx /* Save PIC register. */
@ -233,7 +231,7 @@ L(epilogue):
cfi_adjust_cfa_offset (-4) cfi_adjust_cfa_offset (-4)
cfi_restore (ebx) cfi_restore (ebx)
#endif #endif
RET_PTR ret
L(returnNULL): L(returnNULL):
xorl %eax, %eax xorl %eax, %eax
@ -243,4 +241,4 @@ L(returnNULL):
movl %edx, SAVE_PTR movl %edx, SAVE_PTR
jmp L(epilogue) jmp L(epilogue)
END (BP_SYM (FUNCTION)) END (FUNCTION)

View File

@ -1,5 +1,5 @@
#define FUNCTION __strtok_r #define FUNCTION __strtok_r
#define USE_AS_STRTOK_R 1 #define USE_AS_STRTOK_R 1
#include <sysdeps/i386/i686/strtok.S> #include <sysdeps/i386/i686/strtok.S>
weak_alias (BP_SYM (__strtok_r), BP_SYM (strtok_r)) weak_alias (__strtok_r, strtok_r)
strong_alias (BP_SYM (__strtok_r), BP_SYM (__GI___strtok_r)) strong_alias (__strtok_r, __GI___strtok_r)

View File

@ -18,17 +18,15 @@
#include "sysdep.h" #include "sysdep.h"
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+12 /* space for 3 saved regs */ #define PARMS 4+12 /* space for 3 saved regs */
#define RES PARMS #define RES PARMS
#define S RES+PTR_SIZE #define S RES+4
#define SIZE S+PTR_SIZE #define SIZE S+4
#define CNT SIZE+4 #define CNT SIZE+4
.text .text
ENTRY (BP_SYM (__mpn_lshift)) ENTRY (__mpn_lshift)
pushl %edi pushl %edi
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
@ -102,4 +100,4 @@ L(end): shll %cl,%ebx /* compute least significant limb */
cfi_restore (edi) cfi_restore (edi)
ret ret
END (BP_SYM (__mpn_lshift)) END (__mpn_lshift)

View File

@ -28,17 +28,15 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+8 /* space for 2 saved regs */ #define PARMS 4+8 /* space for 2 saved regs */
#define RTN PARMS #define RTN PARMS
#define STR RTN+RTN_SIZE #define STR RTN
#define CHR STR+PTR_SIZE #define CHR STR+4
#define LEN CHR+4 #define LEN CHR+4
.text .text
ENTRY (BP_SYM (__memchr)) ENTRY (__memchr)
/* Save callee-safe registers used in this function. */ /* Save callee-safe registers used in this function. */
pushl %esi pushl %esi
@ -317,8 +315,8 @@ L(9): popl %edi /* pop saved registers */
cfi_adjust_cfa_offset (-4) cfi_adjust_cfa_offset (-4)
cfi_restore (esi) cfi_restore (esi)
RET_PTR ret
END (BP_SYM (__memchr)) END (__memchr)
weak_alias (BP_SYM (__memchr), BP_SYM (memchr)) weak_alias (__memchr, memchr)
libc_hidden_builtin_def (memchr) libc_hidden_builtin_def (memchr)

View File

@ -18,16 +18,14 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+4 /* space for 1 saved reg */ #define PARMS 4+4 /* space for 1 saved reg */
#define BLK1 PARMS #define BLK1 PARMS
#define BLK2 BLK1+PTR_SIZE #define BLK2 BLK1+4
#define LEN BLK2+PTR_SIZE #define LEN BLK2+4
.text .text
ENTRY (BP_SYM (memcmp)) ENTRY (memcmp)
pushl %esi /* Save callee-safe registers. */ pushl %esi /* Save callee-safe registers. */
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
@ -68,8 +66,8 @@ L(1): popl %esi /* Restore registers. */
cfi_restore (edi) cfi_restore (edi)
ret ret
END (BP_SYM (memcmp)) END (memcmp)
#undef bcmp #undef bcmp
weak_alias (BP_SYM (memcmp), BP_SYM (bcmp)) weak_alias (memcmp, bcmp)
libc_hidden_builtin_def (BP_SYM (memcmp)) libc_hidden_builtin_def (memcmp)

View File

@ -19,13 +19,11 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+16 /* space for 4 saved regs */ #define PARMS 4+16 /* space for 4 saved regs */
#define RES PARMS #define RES PARMS
#define S1 RES+PTR_SIZE #define S1 RES+4
#define SIZE S1+PTR_SIZE #define SIZE S1+4
#define S2LIMB SIZE+4 #define S2LIMB SIZE+4
#define res_ptr edi #define res_ptr edi
@ -34,7 +32,7 @@
#define s2_limb ebx #define s2_limb ebx
.text .text
ENTRY (BP_SYM (__mpn_mul_1)) ENTRY (__mpn_mul_1)
pushl %res_ptr pushl %res_ptr
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
@ -85,4 +83,4 @@ L(oop):
ret ret
#undef size #undef size
END (BP_SYM (__mpn_mul_1)) END (__mpn_mul_1)

View File

@ -28,16 +28,14 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+4 /* space for 1 saved reg */ #define PARMS 4+4 /* space for 1 saved reg */
#define RTN PARMS #define RTN PARMS
#define STR RTN+RTN_SIZE #define STR RTN
#define CHR STR+PTR_SIZE #define CHR STR+4
.text .text
ENTRY (BP_SYM (__rawmemchr)) ENTRY (__rawmemchr)
/* Save callee-safe register used in this function. */ /* Save callee-safe register used in this function. */
pushl %edi pushl %edi
@ -217,8 +215,8 @@ L(9):
cfi_adjust_cfa_offset (-4) cfi_adjust_cfa_offset (-4)
cfi_restore (edi) cfi_restore (edi)
RET_PTR ret
END (BP_SYM (__rawmemchr)) END (__rawmemchr)
libc_hidden_def (BP_SYM (__rawmemchr)) libc_hidden_def (__rawmemchr)
weak_alias (BP_SYM (__rawmemchr), BP_SYM (rawmemchr)) weak_alias (__rawmemchr, rawmemchr)

View File

@ -18,17 +18,15 @@
#include "sysdep.h" #include "sysdep.h"
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+12 /* space for 3 saved regs */ #define PARMS 4+12 /* space for 3 saved regs */
#define RES PARMS #define RES PARMS
#define S RES+PTR_SIZE #define S RES+4
#define SIZE S+PTR_SIZE #define SIZE S+4
#define CNT SIZE+4 #define CNT SIZE+4
.text .text
ENTRY (BP_SYM (__mpn_rshift)) ENTRY (__mpn_rshift)
pushl %edi pushl %edi
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
@ -104,4 +102,4 @@ L(end): shrl %cl,%ebx /* compute most significant limb */
cfi_restore (edi) cfi_restore (edi)
ret ret
END (BP_SYM (__mpn_rshift)) END (__mpn_rshift)

View File

@ -19,15 +19,13 @@
#include <sysdep.h> #include <sysdep.h>
#include <jmpbuf-offsets.h> #include <jmpbuf-offsets.h>
#include <asm-syntax.h> #include <asm-syntax.h>
#include "bp-sym.h"
#include "bp-asm.h"
#include <stap-probe.h> #include <stap-probe.h>
#define PARMS LINKAGE /* no space for saved regs */ #define PARMS 4 /* no space for saved regs */
#define JMPBUF PARMS #define JMPBUF PARMS
#define SIGMSK JMPBUF+PTR_SIZE #define SIGMSK JMPBUF+4
ENTRY (BP_SYM (__sigsetjmp)) ENTRY (__sigsetjmp)
movl JMPBUF(%esp), %eax movl JMPBUF(%esp), %eax
@ -40,7 +38,7 @@ ENTRY (BP_SYM (__sigsetjmp))
PTR_MANGLE (%ecx) PTR_MANGLE (%ecx)
#endif #endif
movl %ecx, (JB_SP*4)(%eax) movl %ecx, (JB_SP*4)(%eax)
movl PCOFF(%esp), %ecx /* Save PC we are returning to now. */ movl 0(%esp), %ecx /* Save PC we are returning to now. */
LIBC_PROBE (setjmp, 3, 4@%eax, -4@SIGMSK(%esp), 4@%ecx) LIBC_PROBE (setjmp, 3, 4@%eax, -4@SIGMSK(%esp), 4@%ecx)
#ifdef PTR_MANGLE #ifdef PTR_MANGLE
PTR_MANGLE (%ecx) PTR_MANGLE (%ecx)
@ -56,4 +54,4 @@ ENTRY (BP_SYM (__sigsetjmp))
/* Make a tail call to __sigjmp_save; it takes the same args. */ /* Make a tail call to __sigjmp_save; it takes the same args. */
jmp __sigjmp_save jmp __sigjmp_save
#endif #endif
END (BP_SYM (__sigsetjmp)) END (__sigsetjmp)

View File

@ -52,8 +52,6 @@
NULL NULL
*/ */
#include "bp-sym.h"
.text .text
.globl _start .globl _start
.type _start,@function .type _start,@function
@ -97,11 +95,11 @@ _start:
pushl %ecx /* Push second argument: argv. */ pushl %ecx /* Push second argument: argv. */
pushl %esi /* Push first argument: argc. */ pushl %esi /* Push first argument: argc. */
pushl BP_SYM (main)@GOT(%ebx) pushl main@GOT(%ebx)
/* Call the user's main function, and exit with its value. /* Call the user's main function, and exit with its value.
But let the libc call main. */ But let the libc call main. */
call BP_SYM (__libc_start_main)@PLT call __libc_start_main@PLT
#else #else
/* Push address of our own entry points to .fini and .init. */ /* Push address of our own entry points to .fini and .init. */
pushl $__libc_csu_fini pushl $__libc_csu_fini
@ -110,11 +108,11 @@ _start:
pushl %ecx /* Push second argument: argv. */ pushl %ecx /* Push second argument: argv. */
pushl %esi /* Push first argument: argc. */ pushl %esi /* Push first argument: argc. */
pushl $BP_SYM (main) pushl $main
/* Call the user's main function, and exit with its value. /* Call the user's main function, and exit with its value.
But let the libc call main. */ But let the libc call main. */
call BP_SYM (__libc_start_main) call __libc_start_main
#endif #endif
hlt /* Crash if somehow `exit' does return. */ hlt /* Crash if somehow `exit' does return. */

View File

@ -23,16 +23,14 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE /* no space for saved regs */ #define PARMS 4 /* no space for saved regs */
#define RTN PARMS #define RTN PARMS
#define DEST RTN+RTN_SIZE #define DEST RTN
#define SRC DEST+PTR_SIZE #define SRC DEST+4
.text .text
ENTRY (BP_SYM (__stpcpy)) ENTRY (__stpcpy)
movl DEST(%esp), %eax movl DEST(%esp), %eax
movl SRC(%esp), %ecx movl SRC(%esp), %ecx
@ -82,9 +80,9 @@ L(4): incl %eax
L(3): incl %eax L(3): incl %eax
L(2): L(2):
RET_PTR ret
END (BP_SYM (__stpcpy)) END (__stpcpy)
weak_alias (BP_SYM (__stpcpy), BP_SYM (stpcpy)) weak_alias (__stpcpy, stpcpy)
libc_hidden_def (__stpcpy) libc_hidden_def (__stpcpy)
libc_hidden_builtin_def (stpcpy) libc_hidden_builtin_def (stpcpy)

View File

@ -25,17 +25,15 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+4 /* space for 1 saved reg */ #define PARMS 4+4 /* space for 1 saved reg */
#define RTN PARMS #define RTN PARMS
#define DEST RTN+RTN_SIZE #define DEST RTN
#define SRC DEST+PTR_SIZE #define SRC DEST+4
#define LEN SRC+PTR_SIZE #define LEN SRC+4
.text .text
ENTRY (BP_SYM (__stpncpy)) ENTRY (__stpncpy)
pushl %esi pushl %esi
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
@ -142,8 +140,8 @@ L(9): popl %esi /* restore saved register content */
cfi_adjust_cfa_offset (-4) cfi_adjust_cfa_offset (-4)
cfi_restore (esi) cfi_restore (esi)
RET_PTR ret
END (BP_SYM (__stpncpy)) END (__stpncpy)
libc_hidden_def (BP_SYM (__stpncpy)) libc_hidden_def (__stpncpy)
weak_alias (BP_SYM (__stpncpy), BP_SYM (stpncpy)) weak_alias (__stpncpy, stpncpy)

View File

@ -21,16 +21,14 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+4 /* space for 1 saved reg */ #define PARMS 4+4 /* space for 1 saved reg */
#define RTN PARMS #define RTN PARMS
#define STR RTN+RTN_SIZE #define STR RTN
#define CHR STR+PTR_SIZE #define CHR STR+4
.text .text
ENTRY (BP_SYM (strchr)) ENTRY (strchr)
pushl %edi /* Save callee-safe registers used here. */ pushl %edi /* Save callee-safe registers used here. */
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
@ -245,7 +243,7 @@ L(2): /* Return NULL. */
cfi_adjust_cfa_offset (-4) cfi_adjust_cfa_offset (-4)
cfi_restore (edi) cfi_restore (edi)
RET_PTR ret
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
cfi_rel_offset (edi, 0) cfi_rel_offset (edi, 0)
@ -285,8 +283,8 @@ L(6):
cfi_adjust_cfa_offset (-4) cfi_adjust_cfa_offset (-4)
cfi_restore (edi) cfi_restore (edi)
RET_PTR ret
END (BP_SYM (strchr)) END (strchr)
weak_alias (BP_SYM (strchr), BP_SYM (index)) weak_alias (strchr, index)
libc_hidden_builtin_def (strchr) libc_hidden_builtin_def (strchr)

View File

@ -22,16 +22,14 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+4 /* space for 1 saved reg */ #define PARMS 4+4 /* space for 1 saved reg */
#define RTN PARMS #define RTN PARMS
#define STR RTN+RTN_SIZE #define STR RTN
#define CHR STR+PTR_SIZE #define CHR STR+4
.text .text
ENTRY (BP_SYM (__strchrnul)) ENTRY (__strchrnul)
pushl %edi /* Save callee-safe registers used here. */ pushl %edi /* Save callee-safe registers used here. */
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
@ -274,7 +272,7 @@ L(6): popl %edi /* restore saved register content */
cfi_adjust_cfa_offset (-4) cfi_adjust_cfa_offset (-4)
cfi_restore (edi) cfi_restore (edi)
RET_PTR ret
END (BP_SYM (__strchrnul)) END (__strchrnul)
weak_alias (BP_SYM (__strchrnul), BP_SYM (strchrnul)) weak_alias (__strchrnul, strchrnul)

View File

@ -22,15 +22,13 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE /* no space for saved regs */ #define PARMS 4 /* no space for saved regs */
#define STR PARMS #define STR PARMS
#define STOP STR+PTR_SIZE #define STOP STR+4
.text .text
ENTRY (BP_SYM (strcspn)) ENTRY (strcspn)
movl STR(%esp), %edx movl STR(%esp), %edx
movl STOP(%esp), %eax movl STOP(%esp), %eax
@ -238,5 +236,5 @@ L(4): addl $256, %esp /* remove stopset */
characters, so compute distance to first characters, so compute distance to first
non-valid character */ non-valid character */
ret ret
END (BP_SYM (strcspn)) END (strcspn)
libc_hidden_builtin_def (strcspn) libc_hidden_builtin_def (strcspn)

View File

@ -22,16 +22,14 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE /* no space for saved regs */ #define PARMS 4 /* no space for saved regs */
#define RTN PARMS #define RTN PARMS
#define STR RTN+RTN_SIZE #define STR RTN
#define STOP STR+PTR_SIZE #define STOP STR+4
.text .text
ENTRY (BP_SYM (strpbrk)) ENTRY (strpbrk)
movl STR(%esp), %edx movl STR(%esp), %edx
movl STOP(%esp), %eax movl STOP(%esp), %eax
@ -240,6 +238,6 @@ L(4): addl $256, %esp /* remove stopset */
jnz L(7) /* no => return pointer */ jnz L(7) /* no => return pointer */
xorl %eax, %eax xorl %eax, %eax
L(7): RET_PTR L(7): ret
END (BP_SYM (strpbrk)) END (strpbrk)
libc_hidden_builtin_def (strpbrk) libc_hidden_builtin_def (strpbrk)

View File

@ -21,16 +21,14 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+8 /* space for 2 saved regs */ #define PARMS 4+8 /* space for 2 saved regs */
#define RTN PARMS #define RTN PARMS
#define STR RTN+RTN_SIZE #define STR RTN
#define CHR STR+PTR_SIZE #define CHR STR+4
.text .text
ENTRY (BP_SYM (strrchr)) ENTRY (strrchr)
pushl %edi /* Save callee-safe registers used here. */ pushl %edi /* Save callee-safe registers used here. */
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
@ -329,8 +327,8 @@ L(2): popl %esi /* restore saved register content */
cfi_adjust_cfa_offset (-4) cfi_adjust_cfa_offset (-4)
cfi_restore (edi) cfi_restore (edi)
RET_PTR ret
END (BP_SYM (strrchr)) END (strrchr)
weak_alias (BP_SYM (strrchr), BP_SYM (rindex)) weak_alias (strrchr, rindex)
libc_hidden_builtin_def (strrchr) libc_hidden_builtin_def (strrchr)

View File

@ -22,15 +22,13 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE /* no space for saved regs */ #define PARMS 4 /* no space for saved regs */
#define STR PARMS #define STR PARMS
#define SKIP STR+PTR_SIZE #define SKIP STR+4
.text .text
ENTRY (BP_SYM (strspn)) ENTRY (strspn)
movl STR(%esp), %edx movl STR(%esp), %edx
movl SKIP(%esp), %eax movl SKIP(%esp), %eax
@ -238,5 +236,5 @@ L(4): addl $256, %esp /* remove stopset */
characters, so compute distance to first characters, so compute distance to first
non-valid character */ non-valid character */
ret ret
END (BP_SYM (strspn)) END (strspn)
libc_hidden_builtin_def (strspn) libc_hidden_builtin_def (strspn)

View File

@ -20,8 +20,6 @@
#include <sysdep.h> #include <sysdep.h>
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
/* This file can be used for three variants of the strtok function: /* This file can be used for three variants of the strtok function:
@ -57,14 +55,14 @@ save_ptr:
# define FUNCTION strtok # define FUNCTION strtok
#endif #endif
#define PARMS LINKAGE /* no space for saved regs */ #define PARMS 4 /* no space for saved regs */
#define RTN PARMS #define RTN PARMS
#define STR RTN+RTN_SIZE #define STR RTN
#define DELIM STR+PTR_SIZE #define DELIM STR+4
#define SAVE DELIM+PTR_SIZE #define SAVE DELIM+4
.text .text
ENTRY (BP_SYM (FUNCTION)) ENTRY (FUNCTION)
movl STR(%esp), %edx movl STR(%esp), %edx
movl DELIM(%esp), %eax movl DELIM(%esp), %eax
@ -347,7 +345,7 @@ L(epilogue):
cfi_adjust_cfa_offset (-4) cfi_adjust_cfa_offset (-4)
cfi_restore (ebx) cfi_restore (ebx)
#endif #endif
RET_PTR ret
L(returnNULL): L(returnNULL):
xorl %eax, %eax xorl %eax, %eax
@ -357,4 +355,4 @@ L(returnNULL):
movl %edx, SAVE_PTR movl %edx, SAVE_PTR
jmp L(epilogue) jmp L(epilogue)
END (BP_SYM (FUNCTION)) END (FUNCTION)

View File

@ -1,5 +1,5 @@
#define FUNCTION __strtok_r #define FUNCTION __strtok_r
#define USE_AS_STRTOK_R 1 #define USE_AS_STRTOK_R 1
#include <sysdeps/i386/strtok.S> #include <sysdeps/i386/strtok.S>
weak_alias (BP_SYM (__strtok_r), BP_SYM (strtok_r)) weak_alias (__strtok_r, strtok_r)
strong_alias (BP_SYM (__strtok_r), BP_SYM (__GI___strtok_r)) strong_alias (__strtok_r, __GI___strtok_r)

View File

@ -19,17 +19,15 @@
#include "sysdep.h" #include "sysdep.h"
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+8 /* space for 2 saved regs */ #define PARMS 4+8 /* space for 2 saved regs */
#define RES PARMS #define RES PARMS
#define S1 RES+PTR_SIZE #define S1 RES+4
#define S2 S1+PTR_SIZE #define S2 S1+4
#define SIZE S2+PTR_SIZE #define SIZE S2+4
.text .text
ENTRY (BP_SYM (__mpn_sub_n)) ENTRY (__mpn_sub_n)
pushl %edi pushl %edi
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
@ -110,4 +108,4 @@ L(oop): movl (%esi),%eax
cfi_restore (edi) cfi_restore (edi)
ret ret
END (BP_SYM (__mpn_sub_n)) END (__mpn_sub_n)

View File

@ -19,13 +19,11 @@
#include "sysdep.h" #include "sysdep.h"
#include "asm-syntax.h" #include "asm-syntax.h"
#include "bp-sym.h"
#include "bp-asm.h"
#define PARMS LINKAGE+16 /* space for 4 saved regs */ #define PARMS 4+16 /* space for 4 saved regs */
#define RES PARMS #define RES PARMS
#define S1 RES+PTR_SIZE #define S1 RES+4
#define SIZE S1+PTR_SIZE #define SIZE S1+4
#define S2LIMB SIZE+4 #define S2LIMB SIZE+4
#define res_ptr edi #define res_ptr edi
@ -34,7 +32,7 @@
#define s2_limb ebx #define s2_limb ebx
.text .text
ENTRY (BP_SYM (__mpn_submul_1)) ENTRY (__mpn_submul_1)
pushl %edi pushl %edi
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
@ -85,4 +83,4 @@ L(oop):
cfi_restore (edi) cfi_restore (edi)
ret ret
END (BP_SYM (__mpn_submul_1)) END (__mpn_submul_1)

View File

@ -18,8 +18,6 @@
#include <sysdep.h> #include <sysdep.h>
#define _ERRNO_H #define _ERRNO_H
#include <bits/errno.h> #include <bits/errno.h>
#include <bp-asm.h>
#include <bp-sym.h>
#ifdef IS_IN_rtld #ifdef IS_IN_rtld
# include <dl-sysdep.h> /* Defines RTLD_PRIVATE_ERRNO. */ # include <dl-sysdep.h> /* Defines RTLD_PRIVATE_ERRNO. */

View File

@ -23,20 +23,18 @@
#define _ERRNO_H 1 #define _ERRNO_H 1
#include <bits/errno.h> #include <bits/errno.h>
#include <asm-syntax.h> #include <asm-syntax.h>
#include <bp-sym.h>
#include <bp-asm.h>
/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg, /* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg,
pid_t *ptid, struct user_desc *tls, pid_t *ctid); */ pid_t *ptid, struct user_desc *tls, pid_t *ctid); */
#define PARMS LINKAGE /* no space for saved regs */ #define PARMS 4 /* no space for saved regs */
#define FUNC PARMS #define FUNC PARMS
#define STACK FUNC+4 #define STACK FUNC+4
#define FLAGS STACK+PTR_SIZE #define FLAGS STACK+4
#define ARG FLAGS+4 #define ARG FLAGS+4
#define PTID ARG+PTR_SIZE #define PTID ARG+4
#define TLS PTID+PTR_SIZE #define TLS PTID+4
#define CTID TLS+PTR_SIZE #define CTID TLS+4
#define __NR_clone 120 #define __NR_clone 120
#define SYS_clone 120 #define SYS_clone 120
@ -45,7 +43,7 @@
#define CLONE_THREAD 0x00010000 #define CLONE_THREAD 0x00010000
.text .text
ENTRY (BP_SYM (__clone)) ENTRY (__clone)
/* Sanity check arguments. */ /* Sanity check arguments. */
movl $-EINVAL,%eax movl $-EINVAL,%eax
movl FUNC(%esp),%ecx /* no NULL function pointers */ movl FUNC(%esp),%ecx /* no NULL function pointers */
@ -156,6 +154,6 @@ L(nomoregetpid):
cfi_endproc; cfi_endproc;
cfi_startproc cfi_startproc
PSEUDO_END (BP_SYM (__clone)) PSEUDO_END (__clone)
weak_alias (BP_SYM (__clone), BP_SYM (clone)) weak_alias (__clone, clone)

View File

@ -16,8 +16,6 @@
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#include <sysdep.h> #include <sysdep.h>
#include <bp-sym.h>
#include <bp-asm.h>
#include <kernel-features.h> #include <kernel-features.h>
@ -25,9 +23,9 @@
#define ENOSYS 38 #define ENOSYS 38
#define SVRSP 16 /* saved register space */ #define SVRSP 16 /* saved register space */
#define PARMS LINKAGE+SVRSP /* space for 4 saved regs */ #define PARMS 4+SVRSP /* space for 4 saved regs */
#define ADDR PARMS #define ADDR PARMS
#define LEN ADDR+PTR_SIZE #define LEN ADDR+4
#define PROT LEN+4 #define PROT LEN+4
#define FLAGS PROT+4 #define FLAGS PROT+4
#define FD FLAGS+4 #define FD FLAGS+4
@ -35,7 +33,7 @@
#define OFFHI OFFLO+4 #define OFFHI OFFLO+4
.text .text
ENTRY (BP_SYM (__mmap64)) ENTRY (__mmap64)
/* Save registers. */ /* Save registers. */
pushl %ebp pushl %ebp
@ -115,6 +113,6 @@ L(einval):
movl $-EINVAL, %eax movl $-EINVAL, %eax
jmp SYSCALL_ERROR_LABEL jmp SYSCALL_ERROR_LABEL
PSEUDO_END (BP_SYM (__mmap64)) PSEUDO_END (__mmap64)
weak_alias (BP_SYM (__mmap64), BP_SYM (mmap64)) weak_alias (__mmap64, mmap64)

View File

@ -16,15 +16,13 @@
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#include <sysdep.h> #include <sysdep.h>
#include <bp-sym.h>
#include <bp-asm.h>
#define EINVAL 22 #define EINVAL 22
#define ENOSYS 38 #define ENOSYS 38
#define EOVERFLOW 75 #define EOVERFLOW 75
#define SVRSP 16 /* saved register space */ #define SVRSP 16 /* saved register space */
#define PARMS LINKAGE+SVRSP /* space for 4 saved regs */ #define PARMS 4+SVRSP /* space for 4 saved regs */
#define FD PARMS #define FD PARMS
#define OFFLO FD+4 #define OFFLO FD+4
#define OFFHI OFFLO+4 #define OFFHI OFFLO+4
@ -33,7 +31,7 @@
#define FLAGS LENHI+4 #define FLAGS LENHI+4
.text .text
ENTRY (BP_SYM (__posix_fadvise64_l64)) ENTRY (__posix_fadvise64_l64)
/* Save registers. */ /* Save registers. */
pushl %ebp pushl %ebp
@ -81,7 +79,7 @@ ENTRY (BP_SYM (__posix_fadvise64_l64))
/* Successful; return the syscall's value. */ /* Successful; return the syscall's value. */
ret ret
END (BP_SYM (__posix_fadvise64_l64)) END (__posix_fadvise64_l64)
.section .text.compat, "ax" .section .text.compat, "ax"
ENTRY (__posix_fadvise64_l32) ENTRY (__posix_fadvise64_l32)

View File

@ -21,14 +21,14 @@
#define SYSOP_semtimedop 4 #define SYSOP_semtimedop 4
#define SVRSP 12 /* saved register space */ #define SVRSP 12 /* saved register space */
#define PARMS LINKAGE+SVRSP /* space for 3 saved regs */ #define PARMS 4+SVRSP /* space for 3 saved regs */
#define SEMID PARMS #define SEMID PARMS
#define SOPS SEMID+4 #define SOPS SEMID+4
#define NSOPS SOPS+PTR_SIZE #define NSOPS SOPS+4
#define TIMEOUT NSOPS+4 #define TIMEOUT NSOPS+4
.text .text
ENTRY (BP_SYM (semtimedop)) ENTRY (semtimedop)
pushl %ebp pushl %ebp
cfi_adjust_cfa_offset (4) cfi_adjust_cfa_offset (4)
@ -70,4 +70,4 @@ ENTRY (BP_SYM (semtimedop))
#ifdef PIC #ifdef PIC
.align 4 .align 4
#endif #endif
PSEUDO_END (BP_SYM (semtimedop)) PSEUDO_END (semtimedop)

View File

@ -21,8 +21,6 @@
/* There is some commonality. */ /* There is some commonality. */
#include <sysdeps/unix/i386/sysdep.h> #include <sysdeps/unix/i386/sysdep.h>
#include <bp-sym.h>
#include <bp-asm.h>
/* Defines RTLD_PRIVATE_ERRNO and USE_DL_SYSINFO. */ /* Defines RTLD_PRIVATE_ERRNO and USE_DL_SYSINFO. */
#include <dl-sysdep.h> #include <dl-sysdep.h>
#include <tls.h> #include <tls.h>