X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=gcc%2Fconfig%2Fmmix%2Ft-mmix;fp=gcc%2Fconfig%2Fmmix%2Ft-mmix;h=73144f0d82130cef3e5b169dffc778e55b32f001;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=84231ace71b4cdb4e2f40754003c78fa60f8c48c;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/gcc/config/mmix/t-mmix b/gcc/config/mmix/t-mmix index 84231ace..73144f0d 100644 --- a/gcc/config/mmix/t-mmix +++ b/gcc/config/mmix/t-mmix @@ -1,15 +1,16 @@ # 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 @@ -20,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