binary-comparison workaround for Darwin
Geoffrey Keating
gkeating@apple.com
Sat Apr 2 09:47:00 GMT 2005
This works around the bug that causes comparison of libgcc/*.o to fail
in a bootstrap on Darwin, as described in
<http://gcc.gnu.org/ml/gcc-patches/2005-04/msg00145.html>.
(I won't commit the patch in that message until at least Tuesday,
maybe even later if I get a report that it would break a platform.)
Bootstrapped & tested on powerpc-darwin8.
--
- Geoffrey Keating <geoffk@apple.com>
===File ~/patches/gcc-4077127workaround.patch===============
2005-04-02 Geoffrey Keating <geoffk@apple.com>
* config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Add -pipe.
* config/t-darwin (TARGET_LIBGCC2_CFLAGS): Likewise.
Index: config/t-darwin
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/t-darwin,v
retrieving revision 1.8
diff -u -p -u -p -r1.8 t-darwin
--- config/t-darwin 16 Sep 2004 06:49:58 -0000 1.8
+++ config/t-darwin 2 Apr 2005 09:40:30 -0000
@@ -22,4 +22,8 @@ LIB2ADDEH = $(srcdir)/unwind-dw2.c $(src
$(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h unwind-dw2-fde.c
-TARGET_LIBGCC2_CFLAGS = -fPIC
+# -pipe because there's an assembler bug, 4077127, which causes
+# it to not properly process the first # directive, causing temporary
+# file names to appear in stabs, causing the bootstrap to fail. Using -pipe
+# works around this by not having any temporary file names.
+TARGET_LIBGCC2_CFLAGS = -fPIC -pipe
Index: config/rs6000/t-darwin
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/t-darwin,v
retrieving revision 1.17
diff -u -p -u -p -r1.17 t-darwin
--- config/rs6000/t-darwin 9 Dec 2004 18:25:13 -0000 1.17
+++ config/rs6000/t-darwin 2 Apr 2005 09:40:30 -0000
@@ -9,7 +9,12 @@ LIB2FUNCS_STATIC_EXTRA = \
# The .asm files above are designed to run on all processors,
# even though they use AltiVec instructions. -Wa is used because
# -force_cpusubtype_ALL doesn't work with -dynamiclib.
-TARGET_LIBGCC2_CFLAGS = -Wa,-force_cpusubtype_ALL
+#
+# -pipe because there's an assembler bug, 4077127, which causes
+# it to not properly process the first # directive, causing temporary
+# file names to appear in stabs, causing the bootstrap to fail. Using -pipe
+# works around this by not having any temporary file names.
+TARGET_LIBGCC2_CFLAGS = -Wa,-force_cpusubtype_ALL -pipe
# Export the _xlq* symbols from darwin-ldouble.c.
SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-ppc64.ver
============================================================
More information about the Gcc-patches
mailing list