On Darwin, we have discovered that the new Xcode 3.1 in the iPhone beta SDK
apparently exposed a linkage problem when building gcc 4.3.0. The failure we see
with the newer darwin linker is...

/sw/src/fink.build/gcc43-4.3.0-1000/darwin_objdir/./prev-gcc/xgcc 
-B/sw/src/fink.build/gcc43-4.3.0-1000/darwin_objdir/./prev-gcc/ 
-B/sw/lib/gcc4.3/i686-apple-darwin9/bin/   -g -O2 -fomit-frame-pointer -DIN_GCC 
  -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes 
-Wold-style-definition -Wmissing-format-attribute -pedantic -Wno-long-long 
-Wno-variadic-macros                                -Wno-overlength-strings    
-DHAVE_CONFIG_H  -o cc1plus-dummy \
              cp/cp-lang.o stub-objc.o cp/call.o cp/decl.o cp/expr.o cp/pt.o 
cp/typeck2.o cp/class.o cp/decl2.o cp/error.o cp/lex.o cp/parser.o cp/ptree.o 
cp/rtti.o cp/typeck.o cp/cvt.o cp/except.o cp/friend.o cp/init.o cp/method.o 
cp/search.o cp/semantics.o cp/tree.o cp/repo.o cp/dump.o cp/optimize.o 
cp/mangle.o cp/cp-objcp-common.o cp/name-lookup.o cp/cxx-pretty-print.o 
cp/cp-gimplify.o tree-mudflap.o attribs.o c-common.o c-format.o c-pragma.o 
c-semantics.o c-lex.o c-dump.o darwin-c.o c-pretty-print.o c-opts.o c-pch.o 
c-incpath.o cppdefault.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o 
c-omp.o tree-inline.o dummy-checksum.o main.o  libbackend.a ../libcpp/libcpp.a 
../libdecnumber/libdecnumber.a ../libcpp/libcpp.a -lintl -L/sw/lib -liconv  
../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -L/sw/lib -lmpfr -lgmp
ld: duplicate symbol _init_inline_once in libbackend.a(tree-inline.o) and 
tree-inline.o
collect2: ld returned 1 exit status
make[3]: *** [cc1plus-dummy] Error 1
make[2]: *** [all-stage2-gcc] Error 2
make[1]: *** [stage2-bubble] Error 2

If the occurance of tree-inline.o is removed from the link line above, the 
linakge succeeds.
Why does gcc link in tree-inline.o a second time for cc1plus-dummy when it 
already exists
in libbackend.a? Is this an error in the gcc Makefiles?
                Jack

Reply via email to