This is the mail archive of the mailing list for the GCC 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]

3.4/3.5 PATCH: gcc/ fix for IRIX 5 Ada comparison failure

I've now successfully (i.e. without optimization) bootstrapped mainline gcc
on IRIX 5.3, starting from GNAT 3.11p.

Both the C/Ada bootstrap and make gnatlib_and_tools were successful, except
for a few comparison failures:

Bootstrap comparison failure!
ada/a-except.o differs
ada/memtrack.o differs
ada/s-assert.o differs
ada/s-memory.o differs
make[1]: *** [gnucompare] Error 1

It turns out that those files are built with -g (which has to be removed if
building with the native as), which is done for most of the bootstrap by

# omit -g, gcc doesn't support the o32 mdebug debugging format and warns about
# every invocation with -g*
# add -save-temps to avoid comparison failure due to embedded temp file names
BOOT_CFLAGS = -O2 -save-temps

Unfortunately, ada/ sets FORCE_DEBUG_ADAFLAGS = -g and uses
this in a few places (i.e. for those four files above), causing the
comparison failure.  The obvious fix is to override that variable in the
tmake_file (as well as GNATLIBCFLAGS = -g -O2, which only gives lots of
warnings from gcc).  Unfortunately, this fails because the language
makefile fragments are include last in gcc/

If one changes this and adds the corresponding overrides to t-iris5-as, the
bootstrap finishes successfully.

Ok for mainline and 3.4 branch?


Rainer Orth, Faculty of Technology, Bielefeld University

Thu Jan 22 13:11:35 2004  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* Move target, host overrides after per-language

	* config/mips/t-iris5-as (FORCE_DEBUG_ADAFLAGS): Clear.
	(GNATLIBCFLAGS): Remove -g.

Index: gcc/
RCS file: /cvs/gcc/gcc/gcc/,v
retrieving revision 1.1232
diff -u -p -r1.1232
--- gcc/	21 Jan 2004 02:53:20 -0000	1.1232
+++ gcc/	23 Jan 2004 17:35:17 -0000
@@ -681,16 +683,6 @@ PRETTY_PRINT_H = pretty-print.h input.h 
 DIAGNOSTIC_H = diagnostic.h diagnostic.def $(PRETTY_PRINT_H)
-# target overrides
-ifneq ($(tmake_file),)
-include $(tmake_file)
-# host overrides
-ifneq ($(xmake_file),)
-include $(xmake_file)
 # Now figure out from those variables how to compile and link.
@@ -950,6 +942,19 @@ ifneq ($(LANG_MAKEFRAGS),)
 include $(LANG_MAKEFRAGS)
+# target and host overrides must follow the per-language makefile fragments
+# so they can override or augment language-specific variables
+# target overrides
+ifneq ($(tmake_file),)
+include $(tmake_file)
+# host overrides
+ifneq ($(xmake_file),)
+include $(xmake_file)
 # -----------------------------
Index: gcc/config/mips/t-iris5-as
RCS file: /cvs/gcc/gcc/gcc/config/mips/t-iris5-as,v
retrieving revision 1.2
diff -u -p -r1.2 t-iris5-as
--- gcc/config/mips/t-iris5-as	6 Jul 2003 23:05:12 -0000	1.2
+++ gcc/config/mips/t-iris5-as	23 Jan 2004 17:35:27 -0000
@@ -5,3 +5,7 @@ BOOT_CFLAGS = -O2 -save-temps
 # omit -g1
+# omit -g

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