This is the mail archive of the gcc-patches@gcc.gnu.org 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]

[PATCH] crtbeginS.o/crtendS.o Makefile fix


Hi!

Since Feb, 26 I guess sparc64-linux multilibing no longer works.
That's because it needs crtbeginS.o and crtendS.o objects to be compiled for
each multilib type, but due to the s-$(T)crtS indirection tcrtbeginS.o is
compiled only for the first multilib and as it exists, it is no longer
recompiled for the remaining ones.
This patch should fix it (similarly like crtbegin.o/crtend.o are handled).
Ok to commit?

2000-03-29  Jakub Jelinek  <jakub@redhat.com>

	* Makefile.in (crtbeginS.o, crtendS.o): Kill the s-$(T)crtS
	goal redirection as it breaks if compiling with more than 2
	multilibs.
	* config/sparc/t-linux64 (tcrtbeginS.o, tcrtendS.o): Remove.

--- gcc/config/sparc/t-linux64.jj	Mon Mar  6 18:50:40 2000
+++ gcc/config/sparc/t-linux64	Wed Mar 29 13:31:01 2000
@@ -8,16 +8,3 @@ LIBGCC = stmp-multilib
 INSTALL_LIBGCC = install-multilib
 
 EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o
-
-tcrtbeginS.o: crtstuff.c $(GCC_PASSES) $(CONFIG_H) \
-  defaults.h frame.h gbl-ctors.h
-	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \
-	  -finhibit-size-directive -fno-inline-functions -fno-exceptions $(CRTSTUFF_T_CFLAGS_S) \
-	  -c $(srcdir)/crtstuff.c -DCRT_BEGIN -o tcrtbeginS$(objext)
-
-tcrtendS.o: crtstuff.c $(GCC_PASSES) $(CONFIG_H) \
-  defaults.h frame.h gbl-ctors.h
-	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \
-	  -finhibit-size-directive -fno-inline-functions -fno-exceptions $(CRTSTUFF_T_CFLAGS_S) \
-	  -c $(srcdir)/crtstuff.c -DCRT_END -o tcrtendS$(objext)
-
--- gcc/Makefile.in.jj	Fri Mar 24 09:13:48 2000
+++ gcc/Makefile.in	Wed Mar 29 13:47:49 2000
@@ -692,7 +692,7 @@ STAGESTUFF = *$(objext) insn-flags.h ins
  insn-attr.h insn-attrtab.c insn-opinit.c tree-check.h \
  s-flags s-config s-codes s-mlib s-unders s-genrtl \
  s-output s-recog s-emit s-extract s-peep s-check \
- s-attr s-attrtab s-opinit s-crt s-$(T)crtS s-crt0 \
+ s-attr s-attrtab s-opinit s-crt s-crt0 \
  genemit$(build_exeext) genoutput$(build_exeext) genrecog$(build_exeext) \
  genextract$(build_exeext) genflags$(build_exeext) gencodes$(build_exeext) \
  genconfig$(build_exeext) genpeep$(build_exeext) genattrtab$(build_exeext) \
@@ -1293,19 +1293,19 @@ $(T)crtend.o: crtstuff.c $(GCC_PASSES) $
 
 # On some systems we also want to install versions of these files
 # compiled using PIC for use in shared libraries.
-$(T)crtbeginS.o $(T)crtendS.o: s-$(T)crtS ; @true
+$(T)crtbeginS.o: crtstuff.c $(GCC_PASSES) $(CONFIG_H) \
+  defaults.h frame.h gbl-ctors.h stmp-int-hdrs tsystem.h
+	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \
+	  $(CRTSTUFF_T_CFLAGS_S) -DCRT_BEGIN -DCRTSTUFFS_O \
+	  -finhibit-size-directive -fno-inline-functions -fno-exceptions \
+	  @inhibit_libc@ -c $(srcdir)/crtstuff.c -o $(T)crtbeginS$(objext)
 
-s-$(T)crtS: crtstuff.c $(GCC_PASSES) $(CONFIG_H) \
+$(T)crtendS.o: crtstuff.c $(GCC_PASSES) $(CONFIG_H) \
   defaults.h frame.h gbl-ctors.h stmp-int-hdrs tsystem.h
-	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(CRTSTUFF_T_CFLAGS_S) \
-	  -DCRT_BEGIN -DCRTSTUFFS_O -finhibit-size-directive \
-	  -fno-inline-functions -fno-exceptions @inhibit_libc@ -g0 \
-	  -c $(srcdir)/crtstuff.c -o $(T)crtbeginS$(objext)
-	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(CRTSTUFF_T_CFLAGS_S) \
-	  -DCRT_END -DCRTSTUFFS_O -finhibit-size-directive \
-	  -fno-inline-functions -fno-exceptions @inhibit_libc@ -g0 \
-	  -c $(srcdir)/crtstuff.c -o $(T)crtendS$(objext)
-	touch s-$(T)crtS
+	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \
+	  $(CRTSTUFF_T_CFLAGS_S) -DCRT_END -DCRTSTUFFS_O \
+	  -finhibit-size-directive -fno-inline-functions -fno-exceptions \
+	  @inhibit_libc@ -c $(srcdir)/crtstuff.c -o $(T)crtendS$(objext)
 
 # Compile the start modules crt0.o and mcrt0.o that are linked with every program
 crt0.o: s-crt0 ; @true

Cheers,
    Jakub
___________________________________________________________________
Jakub Jelinek | jakub@redhat.com | http://sunsite.mff.cuni.cz/~jj
Linux version 2.3.99-pre2 on a sparc64 machine (1343.49 BogoMips)
___________________________________________________________________

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