# See "Target Fragment" in GCC info. That same order is used here.
-LIBGCC1 =
-
-# libgcc1-test doesn't work. There's critical stuff in crti and crtn and
-# we know the result of running libgcc1-test anyway.
-LIBGCC1_TEST =
-CROSS_LIBGCC1 =
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
$(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