This is the mail archive of the gcc-bugs@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]
Other format: [Raw text]

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



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


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