This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] crtbeginS.o/crtendS.o Makefile fix
- To: gcc-patches at gcc dot gnu dot org
- Subject: [PATCH] crtbeginS.o/crtendS.o Makefile fix
- From: Jakub Jelinek <jakub at redhat dot com>
- Date: Wed, 29 Mar 2000 19:10:11 +0200
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)
___________________________________________________________________