Issues of the latest trunk with LTO merges

Richard Guenther
Mon Oct 12 15:10:00 GMT 2009

On Mon, Oct 12, 2009 at 4:31 PM, Bingfeng Mei <> wrote:
> Hello,
> I ran into an issue with the LTO merges when updating to current trunk.
> The problem is that my target calls a few functions/uses some data structures
> in the gcc directory: c_language, paragma_lex, c_register_pragma, etc.
> gcc -m32  -g -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -fno-common  -DHAVE_CONFIG_H  -o lto1 \
>                lto/lto-lang.o lto/lto.o lto/lto-elf.o attribs.o main.o tree-browser.o libbackend.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a   -L/projects/firepath/tools/work/bmei/packages/gmp/4.3.0/lib -L/projects/firepath/tools/work/bmei/packages/mpfr/2.4.1/lib -lmpfr -lgmp -rdynamic -ldl  -L../zlib -lz -L/projects/firepath/tools/work/bmei/packages/libelf/lib -lelf ../libcpp/libcpp.a   ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a  -lelf
> When compiling for lto1 in above step, I have many linking errors consequently.
> I tried to add some extra object files like c-common.o, c-pragma.o, etc into
> lto/ More linking errors are produced. One problem is that lto
> code redefines some data exist in the main code: flag_no_builtin, flag_isoc99
> lang_hooks, etc, which prevent it from linking with object files in main directory.
> What is the clean solution for this? Thanks in advance.

You should not use C frontend specific stuff when not building
the C frontend.


> Cheers,
> Bingfeng Mei

More information about the Gcc mailing list