llvm-gcc4 mirror back online

It claims it was last updated 2007-01-04 06:47:31 -0400 (Thu, 04 Jan 2007). It should be close to TOT tomorrow.


-- Jim

It doesn’t build. llvm-main.cpp doesn’t get compiled for some reason:

g++40 -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros -Wold-style-definition -fno-common -DHAVE_CONFIG_H -DENABLE_LLVM -D__STDC_LIMIT_MACROS -I. -I. -I…/…/gcc -I…/…/gcc/. -I…/…/gcc/…/include -I./…/intl -I…/…/gcc/…/libcpp/include -I/usr/home/jeffc/llvm/include -I/home/jeffc/llvm/obj/include
…/…/gcc/config/ -o llvm-main.o
g++40: …/…/gcc/config/: linker input file unused because linking not done

Note that llvm-main.cpp does not appear in the command line.

The build eventually fails with:

g++40 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros -Wold-style-definition -fno-common -DHAVE_CONFIG_H -o cc1-dummy c-parse.o c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-incpath.o cppdefault.o c-ppoutput.o c-cppbuiltin.o prefix.o c-objc-common.o c-dump.o c-pch.o c-gimplify.o tree-mudflap.o c-pretty-print.o dummy-checksum.o
llvm-main.o tree-browser.o libbackend.a …/libcpp/libcpp.a /home/jeffc/llvm/obj/Debug/lib/libLLVMTransforms.a /home/jeffc/llvm/obj/Debug/lib/libLLVMipo.a /home/jeffc/llvm/obj/Debug/lib/libLLVMBCWriter.a /home/jeffc/llvm/obj/Debug/lib/LLVMX86.o /home/jeffc/llvm/obj/Debug/lib/libLLVMSelectionDAG.a /home/jeffc/llvm/obj/Debug/lib/libLLVMCodeGen.a /home/jeffc/llvm/obj/Debug/lib/libLLVMScalarOpts.a /home/jeffc/llvm/obj/Debug/lib/libLLVMTransformUtils.a /home/jeffc/llvm/obj/Debug/lib/libLLVMipa.a /home/jeffc/llvm/obj/Debug/lib/libLLVMAnalysis.a /home/jeffc/llvm/obj/Debug/lib/libLLVMTarget.a /home/jeffc/llvm/obj/Debug/lib/libLLVMCore.a /home/jeffc/llvm/obj/Debug/lib/libLLVMSupport.a /home/jeffc/llvm/obj/Debug/lib/libLLVMbzip2.a /home/jeffc/llvm/obj/Debug/lib/libLLVMSystem.a …/libcpp/libcpp.a ./…/intl/libintl.a …/libiberty/libiberty.a -L/home/jeffc/llvm/obj/Debug/lib -lpthread -lm
g++40: llvm-main.o: No such file or directory
gmake[1]: *** [cc1-dummy] Error 1
gmake[1]: Leaving directory `/usr/home/jeffc/llvm-gcc/obj/gcc’
gmake: *** [all-gcc] Error 2

The last time llvm-gcc and llvm were in sync, I was able to build successfully (with gcc 4.0).

Jim Laskey wrote:

I think, I know what is going on here. Do you see any 'make' warning in the your build log related to overriding .cpp rule ?

If you see such warning then it is happening because your target you do not yet have target specific C++ file. This means $out_cxx_object_file string for build rule at #2475 (in gcc/Makefile.in) is just ".cpp.o" and it conflicts with default .cpp.o build rule in same makefile at line #889.

Two alternatives are :

1) FInd a way to avoid executing $(out_cxx_object_file) rule for your target in such situation.


2) Set out_cxx_file for your target in config.gcc. You may be able to use llvm-i386.cpp or llvm-rs6000.cpp directly if your target is either x86 or powerpc.

No, I do not see any such warning. This explanation appears unlikely as it had no problem building every other cpp file.

There is a third alternative: have someone fix whatever broke in the last week or two.

And, no, I cannot use llvm-i386.cpp or llvm-rs6000.cpp as I am running x86_64. Nor am I going to debug the gcc build system.

Devang Patel wrote:


The config.cpp hack worked for me as a temporary solution. Devang is
working on the permanent solution. Try applying this patch to your
gcc/config.gcc file, it might
just re-enable your build.


x86hack.patch (1.09 KB)

here is the patch