Issues of the latest trunk with LTO merges
Bingfeng Mei
bmei@broadcom.com
Mon Oct 12 14:34:00 GMT 2009
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/Make-lang.in. 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.
Cheers,
Bingfeng Mei
More information about the Gcc
mailing list