aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/i386
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/i386')
-rw-r--r--sysdeps/i386/__longjmp.S3
-rw-r--r--sysdeps/i386/bsd-_setjmp.S4
-rw-r--r--sysdeps/i386/bsd-setjmp.S3
-rw-r--r--sysdeps/i386/i486/strcat.S1
-rw-r--r--sysdeps/i386/i486/strlen.S3
-rw-r--r--sysdeps/i386/i586/memset.S1
-rw-r--r--sysdeps/i386/i586/strchr.S1
-rw-r--r--sysdeps/i386/i586/strlen.S1
-rw-r--r--sysdeps/i386/memchr.S3
-rw-r--r--sysdeps/i386/memcmp.S1
-rw-r--r--sysdeps/i386/setjmp.S1
-rw-r--r--sysdeps/i386/stpcpy.S3
-rw-r--r--sysdeps/i386/stpncpy.S3
-rw-r--r--sysdeps/i386/strchr.S3
-rw-r--r--sysdeps/i386/strcspn.S3
-rw-r--r--sysdeps/i386/strpbrk.S3
-rw-r--r--sysdeps/i386/strrchr.S1
-rw-r--r--sysdeps/i386/strspn.S3
-rw-r--r--sysdeps/i386/strtok.S1
-rw-r--r--sysdeps/i386/sysdep.h8
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 \