From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25814 invoked by alias); 11 Aug 2009 11:15:26 -0000 Received: (qmail 25477 invoked by uid 48); 11 Aug 2009 11:15:00 -0000 Date: Tue, 11 Aug 2009 11:15:00 -0000 Message-ID: <20090811111500.25476.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug target/40959] build fails - No rule to make target `/usr/ports/lang/gcc43/work/build/ia64-portbld-freebsd8.0/libgcc/crtfastmath.o', needed by `T_TARGET'. Stop. In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "mexas at bristol dot ac dot uk" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2009-08/txt/msg00954.txt.bz2 ------- Comment #3 from mexas at bristol dot ac dot uk 2009-08-11 11:14 ------- Some very basic analysis. gcc43 builds on alpha, but not on ia64, so I was trying to spot the difference. # pwd /usr/ports/lang/gcc43 # grep -C3 crtfastmath ./work/build/gcc/Makefile # List of extra object files that should be compiled for this target machine. # The rules for compiling them should be in the t-* file for the machine. EXTRA_PARTS = crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o so I had a search for t-* files on alpha and ia64, and it seems some t-* files are missing from ia64: ################# on alpha ################# # uname -srm FreeBSD 6.4-STABLE alpha # pwd /usr/ports/lang/gcc43 # find . -name "t-crt*"|grep alpha ./work/gcc-4.3-20090726/gcc/config/alpha/t-crtfm ./work/gcc-4.3-20090726/libgcc/config/alpha/t-crtfm # ################# on ia64 ################# # uname -srm FreeBSD 8.0-BETA2 ia64 # pwd /usr/ports/lang/gcc43 # find . -name "t-crt*" | grep ia64 # so I copied the above 2 t-crtfm files from alpha to ia64 config directory and substituted "alpha" for "ia64": # cat ./work/gcc-4.3-20090726/gcc/config/ia64/t-crtfm EXTRA_PARTS += crtfastmath.o $(T)crtfastmath.o: $(srcdir)/config/ia64/crtfastmath.c $(GCC_PASSES) $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -frandom-seed=gcc-crtfastmath -c \ -o $(T)crtfastmath.o $(srcdir)/config/ia64/crtfastmath.c # cat ./work/gcc-4.3-20090726/libgcc/config/ia64/t-crtfm # FIXME drow/20061228 - I have preserved this -frandom-seed option # while migrating this rule from the GCC directory, but I do not # know why it is necessary if no other crt file uses it. crtfastmath.o: $(gcc_srcdir)/config/ia64/crtfastmath.c $(gcc_compile) -frandom-seed=gcc-crtfastmath -c \ $(gcc_srcdir)/config/ia64/crtfastmath.c # But the error is still there. gmake[4]: *** No rule to make target `/usr/ports/lang/gcc43/work/build/ia64-portbld-freebsd8.0/libgcc/crtfastmath.o', needed by `T_TARGET'. Stop. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40959