aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/mmix/t-mmix13
2 files changed, 16 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fb59308..a847260 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-10-18 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
+ ($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
+
2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
* config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
diff --git a/gcc/config/mmix/t-mmix b/gcc/config/mmix/t-mmix
index 1efb98b..73144f0 100644
--- a/gcc/config/mmix/t-mmix
+++ b/gcc/config/mmix/t-mmix
@@ -4,6 +4,13 @@ TARGET_LIBGCC2_CFLAGS = -mlibfuncs -O2
EXTRA_MULTILIB_PARTS = crti.o crtn.o crtbegin.o crtend.o
+# We need to turn off some assumptions on normality for code in crtstuff.c
+# and crt{i,n}.asm, specifically about execution not continuing past the
+# end of the section in the file being compiled. Thus we must stop the
+# assembler from generating stubbable PUSHJ relocs, because that will add
+# stubs at the end of the current section when necessary.
+CRTSTUFF_T_CFLAGS = -Wa,--no-stubs
+
MULTILIB_OPTIONS = mabi=gnu
MULTILIB_DIRNAMES = gnuabi
@@ -14,8 +21,10 @@ MULTILIB_DIRNAMES = gnuabi
$(T)crti.o: $(srcdir)/config/mmix/crti.asm $(GCC_PASSES)
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
- -c -o $(T)crti.o -x assembler-with-cpp $(srcdir)/config/mmix/crti.asm
+ $(CRTSTUFF_T_CFLAGS) -c -o $(T)crti.o -x assembler-with-cpp \
+ $(srcdir)/config/mmix/crti.asm
$(T)crtn.o: $(srcdir)/config/mmix/crtn.asm $(GCC_PASSES)
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
- -c -o $(T)crtn.o -x assembler-with-cpp $(srcdir)/config/mmix/crtn.asm
+ $(CRTSTUFF_T_CFLAGS) -c -o $(T)crtn.o -x assembler-with-cpp \
+ $(srcdir)/config/mmix/crtn.asm