diff options
Diffstat (limited to 'sysdeps/i386')
-rw-r--r-- | sysdeps/i386/__longjmp.S | 3 | ||||
-rw-r--r-- | sysdeps/i386/bsd-_setjmp.S | 4 | ||||
-rw-r--r-- | sysdeps/i386/bsd-setjmp.S | 3 | ||||
-rw-r--r-- | sysdeps/i386/i486/strcat.S | 1 | ||||
-rw-r--r-- | sysdeps/i386/i486/strlen.S | 3 | ||||
-rw-r--r-- | sysdeps/i386/i586/memset.S | 1 | ||||
-rw-r--r-- | sysdeps/i386/i586/strchr.S | 1 | ||||
-rw-r--r-- | sysdeps/i386/i586/strlen.S | 1 | ||||
-rw-r--r-- | sysdeps/i386/memchr.S | 3 | ||||
-rw-r--r-- | sysdeps/i386/memcmp.S | 1 | ||||
-rw-r--r-- | sysdeps/i386/setjmp.S | 1 | ||||
-rw-r--r-- | sysdeps/i386/stpcpy.S | 3 | ||||
-rw-r--r-- | sysdeps/i386/stpncpy.S | 3 | ||||
-rw-r--r-- | sysdeps/i386/strchr.S | 3 | ||||
-rw-r--r-- | sysdeps/i386/strcspn.S | 3 | ||||
-rw-r--r-- | sysdeps/i386/strpbrk.S | 3 | ||||
-rw-r--r-- | sysdeps/i386/strrchr.S | 1 | ||||
-rw-r--r-- | sysdeps/i386/strspn.S | 3 | ||||
-rw-r--r-- | sysdeps/i386/strtok.S | 1 | ||||
-rw-r--r-- | sysdeps/i386/sysdep.h | 8 |
20 files changed, 37 insertions, 13 deletions
diff --git a/sysdeps/i386/__longjmp.S b/sysdeps/i386/__longjmp.S index 77916cdc38..fd0220526a 100644 --- a/sysdeps/i386/__longjmp.S +++ b/sysdeps/i386/__longjmp.S @@ -1,5 +1,5 @@ /* longjmp for i386. -Copyright (C) 1995 Free Software Foundation, Inc. +Copyright (C) 1995, 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 @@ -33,3 +33,4 @@ ENTRY (__longjmp) /* Jump to saved PC. */ movl (JB_PC*4)(%ecx), %ecx jmp *%ecx +PSEUDO_END (__longjmp) diff --git a/sysdeps/i386/bsd-_setjmp.S b/sysdeps/i386/bsd-_setjmp.S index a606550f2e..b08a74fe53 100644 --- a/sysdeps/i386/bsd-_setjmp.S +++ b/sysdeps/i386/bsd-_setjmp.S @@ -1,5 +1,5 @@ /* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'. i386 version. -Copyright (C) 1994, 1995 Free Software Foundation, Inc. +Copyright (C) 1994, 1995, 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 @@ -30,4 +30,4 @@ ENTRY (_setjmp) pushl %ecx /* Push back first argument. */ pushl %eax /* Push back return PC. */ jmp JUMPTARGET (C_SYMBOL_NAME (__sigsetjmp)) - +PSEUDO_END (_setjmp) diff --git a/sysdeps/i386/bsd-setjmp.S b/sysdeps/i386/bsd-setjmp.S index d9a39b9191..5c8dd673b0 100644 --- a/sysdeps/i386/bsd-setjmp.S +++ b/sysdeps/i386/bsd-setjmp.S @@ -1,5 +1,5 @@ /* BSD `setjmp' entry point to `sigsetjmp (..., 1)'. i386 version. -Copyright (C) 1994, 1995 Free Software Foundation, Inc. +Copyright (C) 1994, 1995, 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 @@ -30,3 +30,4 @@ ENTRY (setjmp) pushl %ecx /* Push back first argument. */ pushl %eax /* Push back return PC. */ jmp JUMPTARGET (C_SYMBOL_NAME (__sigsetjmp)) +PSEUDO_END (setjmp) diff --git a/sysdeps/i386/i486/strcat.S b/sysdeps/i386/i486/strcat.S index 081a797933..e82b1c40b2 100644 --- a/sysdeps/i386/i486/strcat.S +++ b/sysdeps/i386/i486/strcat.S @@ -258,3 +258,4 @@ L8: movl 8(%esp), %eax /* start address of destination is result */ popl %edi /* restore saved register */ ret +PSEUDO_END (strcat) diff --git a/sysdeps/i386/i486/strlen.S b/sysdeps/i386/i486/strlen.S index 276563b11a..1a7ab7a90e 100644 --- a/sysdeps/i386/i486/strlen.S +++ b/sysdeps/i386/i486/strlen.S @@ -1,6 +1,6 @@ /* strlen(str) -- determine the length of the string STR. Optimized for Intel 80x86, x>=4. -Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. +Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>. This file is part of the GNU C Library. @@ -130,3 +130,4 @@ L3: testb %cl, %cl /* is first byte NUL? */ L2: subl 4(%esp), %eax /* compute difference to string start */ ret +PSEUDO_END (strlen) diff --git a/sysdeps/i386/i586/memset.S b/sysdeps/i386/i586/memset.S index 3a68fa16d1..0dabad2848 100644 --- a/sysdeps/i386/i586/memset.S +++ b/sysdeps/i386/i586/memset.S @@ -99,3 +99,4 @@ L2: shrl $2, %ecx /* convert byte count to longword count */ popl %edi ret +PSEUDO_END (memset) diff --git a/sysdeps/i386/i586/strchr.S b/sysdeps/i386/i586/strchr.S index 100cbbc706..bc435bfe0a 100644 --- a/sysdeps/i386/i586/strchr.S +++ b/sysdeps/i386/i586/strchr.S @@ -325,6 +325,7 @@ L3: xorl %eax, %eax /* set return value = NULL */ popl %edi ret +PSEUDO_END (strchr) #undef index weak_alias (strchr, index) diff --git a/sysdeps/i386/i586/strlen.S b/sysdeps/i386/i586/strlen.S index 1e17131389..12ea354b22 100644 --- a/sysdeps/i386/i586/strlen.S +++ b/sysdeps/i386/i586/strlen.S @@ -180,3 +180,4 @@ L2: subl 4(%esp), %eax /* now compute the length as difference character */ ret +PSEUDO_END (strlen) diff --git a/sysdeps/i386/memchr.S b/sysdeps/i386/memchr.S index 9931f97241..7d2779b3f2 100644 --- a/sysdeps/i386/memchr.S +++ b/sysdeps/i386/memchr.S @@ -1,7 +1,7 @@ /* memchr (str, ch, n) -- Return pointer to first occurrence of CH in STR less than N. For Intel 80x86, x>=3. -Copyright (C) 1994, 1995 Free Software Foundation, Inc. +Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu> Optimised a little by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au> This file is part of the GNU C Library. @@ -313,3 +313,4 @@ L9: popl %edi /* pop saved registers */ popl %esi ret +PSEUDO_END (memchr) diff --git a/sysdeps/i386/memcmp.S b/sysdeps/i386/memcmp.S index 3917a329d6..4bf9b232e1 100644 --- a/sysdeps/i386/memcmp.S +++ b/sysdeps/i386/memcmp.S @@ -63,6 +63,7 @@ L1: popl %esi /* Restore registers. */ movl %edx, %edi ret +PSEUDO_END (memcmp) #undef bcmp weak_alias (memcmp, bcmp) diff --git a/sysdeps/i386/setjmp.S b/sysdeps/i386/setjmp.S index 498a925b00..e877ae387e 100644 --- a/sysdeps/i386/setjmp.S +++ b/sysdeps/i386/setjmp.S @@ -53,3 +53,4 @@ here: popl %ecx #else jmp __sigjmp_save #endif +PSEUDO_END (__sigsetjmp) diff --git a/sysdeps/i386/stpcpy.S b/sysdeps/i386/stpcpy.S index f38a9089bc..46f64b59f7 100644 --- a/sysdeps/i386/stpcpy.S +++ b/sysdeps/i386/stpcpy.S @@ -1,7 +1,7 @@ /* stpcpy -- copy SRC to DEST returning the address of the terminating '\0' in DEST. For Intel 80x86, x>=3. -Copyright (C) 1994, 1995 Free Software Foundation, Inc. +Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. Contributed by Ulrich Drepper (drepper@gnu.ai.mit.edu). This file is part of the GNU C Library. @@ -83,5 +83,6 @@ L4: incl %eax L3: incl %eax L2: ret +PSEUDO_END (__stpcpy) weak_alias (__stpcpy, stpcpy) diff --git a/sysdeps/i386/stpncpy.S b/sysdeps/i386/stpncpy.S index 59192e66c9..7590e57b0b 100644 --- a/sysdeps/i386/stpncpy.S +++ b/sysdeps/i386/stpncpy.S @@ -1,7 +1,7 @@ /* stpncpy -- copy no more then N bytes from SRC to DEST, returning the address of the terminating '\0' in DEST. For Intel 80x86, x>=3. -Copyright (C) 1994, 1995 Free Software Foundation, Inc. +Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu> Some bug fixes by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au> - original wrote n+1 chars in some cases. @@ -139,5 +139,6 @@ L3: decl %ecx /* all bytes written? */ L9: popl %esi /* restore saved register content */ ret +PSEUDO_END (__stpncpy) weak_alias (__stpncpy, stpncpy) diff --git a/sysdeps/i386/strchr.S b/sysdeps/i386/strchr.S index de947cd252..50c3d7bced 100644 --- a/sysdeps/i386/strchr.S +++ b/sysdeps/i386/strchr.S @@ -1,6 +1,6 @@ /* strchr (str, ch) -- Return pointer to first occurrence of CH in STR. For Intel 80x86, x>=3. -Copyright (C) 1994, 1995 Free Software Foundation, Inc. +Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu> Some optimisations by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au> This file is part of the GNU C Library. @@ -274,5 +274,6 @@ L7: testb %cl, %cl /* is first byte C? */ L6: popl %edi /* restore saved register content */ ret +PSEUDO_END (strchr) weak_alias (strchr, index) diff --git a/sysdeps/i386/strcspn.S b/sysdeps/i386/strcspn.S index b0e789b490..1e802251f6 100644 --- a/sysdeps/i386/strcspn.S +++ b/sysdeps/i386/strcspn.S @@ -1,7 +1,7 @@ /* strcspn (str, ss) -- Return the length of the initial segement of STR which contains no characters from SS. For Intel 80x86, x>=3. -Copyright (C) 1994, 1995 Free Software Foundation, Inc. +Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu> Bug fixes by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au> This file is part of the GNU C Library. @@ -174,3 +174,4 @@ L4: subl %edx, %eax /* we have to return the number of valid addl $256, %esp /* remove stopset */ ret +PSEUDO_END (strcspn) diff --git a/sysdeps/i386/strpbrk.S b/sysdeps/i386/strpbrk.S index 245bf1a935..41769b0c69 100644 --- a/sysdeps/i386/strpbrk.S +++ b/sysdeps/i386/strpbrk.S @@ -1,7 +1,7 @@ /* strcspn (str, ss) -- Return the length of the initial segement of STR which contains no characters from SS. For Intel 80x86, x>=3. -Copyright (C) 1994, 1995 Free Software Foundation, Inc. +Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu> Bug fixes by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au> This file is part of the GNU C Library. @@ -175,3 +175,4 @@ L4: addl $256, %esp /* remove stopset */ xorl %eax, %eax /* return NULL */ L7: ret +PSEUDO_END (strpbrk) diff --git a/sysdeps/i386/strrchr.S b/sysdeps/i386/strrchr.S index 58058e1195..8cad7e5b5d 100644 --- a/sysdeps/i386/strrchr.S +++ b/sysdeps/i386/strrchr.S @@ -321,5 +321,6 @@ L2: popl %esi /* restore saved register content */ popl %edi ret +PSEUDO_END (strrchr) weak_alias (strrchr, rindex) diff --git a/sysdeps/i386/strspn.S b/sysdeps/i386/strspn.S index 1a02026285..fbba811c55 100644 --- a/sysdeps/i386/strspn.S +++ b/sysdeps/i386/strspn.S @@ -1,7 +1,7 @@ /* strcspn (str, ss) -- Return the length of the initial segement of STR which contains only characters from SS. For Intel 80x86, x>=3. -Copyright (C) 1994, 1995 Free Software Foundation, Inc. +Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu> Bug fixes by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au> This file is part of the GNU C Library. @@ -174,3 +174,4 @@ L4: subl %edx, %eax /* we have to return the number of valid addl $256, %esp /* remove stopset */ ret +PSEUDO_END (strspn) diff --git a/sysdeps/i386/strtok.S b/sysdeps/i386/strtok.S index c38ebf90a2..a510e18955 100644 --- a/sysdeps/i386/strtok.S +++ b/sysdeps/i386/strtok.S @@ -282,3 +282,4 @@ LreturnNULL: # endif #endif ret +PSEUDO_END (FUNCTION) diff --git a/sysdeps/i386/sysdep.h b/sysdeps/i386/sysdep.h index 9c312b0d0c..9d21342423 100644 --- a/sysdeps/i386/sysdep.h +++ b/sysdeps/i386/sysdep.h @@ -29,6 +29,7 @@ Cambridge, MA 02139, USA. */ #define ALIGNARG(log2) 1<<log2 /* For ELF we need the `.type' directive to make shared libs work right. */ #define ASM_TYPE_DIRECTIVE(name,typearg) .type name,typearg; +#define ASM_SIZE_DIRECTIVE(name) .size name,.-name /* In ELF C symbols are asm symbols. */ #undef NO_UNDERSCORES @@ -37,7 +38,8 @@ Cambridge, MA 02139, USA. */ #else #define ALIGNARG(log2) log2 -#define ASM_TYPE_DIRECTIVE(name,type) /* Nothing is specified. */ +#define ASM_TYPE_DIRECTIVE(name,type) /* Nothing is specified. */ +#define ASM_SIZE_DIRECTIVE(name) /* Nothing is specified. */ #endif @@ -76,6 +78,10 @@ lose: SYSCALL_PIC_SETUP \ DO_CALL (syscall_name, args); \ jb lose +#undef PSEUDO_END +#define PSEUDO_END(name) \ + ASM_SIZE_DIRECTIVE(name) + #ifdef PIC #define JUMPTARGET(name) name##@PLT #define SYSCALL_PIC_SETUP \ |