This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

FreeBSD port (24): missing PSEUDO_ENDs


Hi,

In some .S files, a function started with PSEUDO is not terminated with
PSEUDO_END. This leads to link errors when the PSEUDO expansion contains
a jump to an error handler label which is assumed to be defined in the
PSEUDO_END expansion (like in the sysdeps/unix/sysv/linux/i386/sysdep.h
versions of these macros).

The fix is simply to add PSEUDO_END.


2002-07-06  Bruno Haible  <bruno@clisp.org>

	* sysdeps/unix/i386/brk.S: Add PSEUDO_END invocation.
	* sysdeps/unix/i386/fork.S: Likewise.
	* sysdeps/unix/i386/pipe.S: Likewise.
	* sysdeps/unix/i386/wait.S: Likewise.

diff -r -c3 glibc-20020627.bak/sysdeps/unix/i386/brk.S glibc-20020627/sysdeps/unix/i386/brk.S
--- glibc-20020627.bak/sysdeps/unix/i386/brk.S	Tue Jul 10 23:01:25 2001
+++ glibc-20020627/sysdeps/unix/i386/brk.S	Fri Jul  5 01:17:11 2002
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1993, 1995, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1993, 1995, 1997, 2002 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
@@ -46,5 +46,6 @@
 #endif
 	xorl %eax, %eax
 	ret
+PSEUDO_END (__brk)
 
 weak_alias (__brk, brk)
diff -r -c3 glibc-20020627.bak/sysdeps/unix/i386/fork.S glibc-20020627/sysdeps/unix/i386/fork.S
--- glibc-20020627.bak/sysdeps/unix/i386/fork.S	Tue Jul 10 23:01:25 2001
+++ glibc-20020627/sysdeps/unix/i386/fork.S	Fri Jul  5 01:34:22 2002
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1994, 1995, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1992, 1994-1995, 1997, 2002 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
@@ -26,5 +26,6 @@
 	decl r1
 	andl r1, r0
 	ret
+PSEUDO_END (__fork)
 
 weak_alias (__fork, fork)
diff -r -c3 glibc-20020627.bak/sysdeps/unix/i386/pipe.S glibc-20020627/sysdeps/unix/i386/pipe.S
--- glibc-20020627.bak/sysdeps/unix/i386/pipe.S	Tue Jul 10 23:01:25 2001
+++ glibc-20020627/sysdeps/unix/i386/pipe.S	Fri Jul  5 01:17:11 2002
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1993, 1995, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1993, 1995, 1997, 2002 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
@@ -24,5 +24,6 @@
 	movl r1, 4(scratch)
 	xorl %eax, %eax
 	ret
+PSEUDO_END (__pipe)
 
 weak_alias (__pipe, pipe)
diff -r -c3 glibc-20020627.bak/sysdeps/unix/i386/wait.S glibc-20020627/sysdeps/unix/i386/wait.S
--- glibc-20020627.bak/sysdeps/unix/i386/wait.S	Tue Jul 10 23:01:25 2001
+++ glibc-20020627/sysdeps/unix/i386/wait.S	Fri Jul  5 01:17:11 2002
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1993, 1995, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1993, 1995, 1997, 2002 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
@@ -24,5 +24,6 @@
 	je null
 	movl r1, (scratch)	/* Yes; store the status there.  */
 null:	ret
+PSEUDO_END (__wait)
 
 weak_alias (__wait, wait)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]