------- 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