http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54630
Bug #: 54630 Summary: GCC 4.8 --enable-languages=c build fails: Undefined symbols: ___cxa_guard_acquire and ___cxa_guard_release Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: blocker Priority: P3 Component: libstdc++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: ba...@usgs.gov Created attachment 28222 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28222 Download, configure, and build gcc 4.8 for ColdFire uClinux Build of 4.8 20120909 snapshot (http://fossies.org/unix/misc/gcc-4.8-20120909.tar.gz) fails for --enable-languages=c: g++ -c -DIN_GCC_FRONTEND -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -W -Wall -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -I. -I/tmp/freescale-coldfile-xgcc/cross-gcc-4.8-20120909/../gcc-4.8-20120909/gcc -I/tmp/freescale-coldfile-xgcc/cross-gcc-4.8-20120909/../gcc-4.8-20120909/gcc/. -I/tmp/freescale-coldfile-xgcc/cross-gcc-4.8-20120909/../gcc-4.8-20120909/gcc/../include -I/tmp/freescale-coldfile-xgcc/cross-gcc-4.8-20120909/../gcc-4.8-20120909/gcc/../libcpp/include -I/tmp/freescale-coldfile-xgcc/cross-gcc-4.8-20120909/../gcc-4.8-20120909/gcc/../libdecnumber -I/tmp/freescale-coldfile-xgcc/cross-gcc-4.8-20120909/../gcc-4.8-20120909/gcc/../libdecnumber/dpd -I../libdecnumber cc1-checksum.c -o cc1-checksum.o gcc -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -W -Wall -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -o cc1 c/c-lang.o c-family/stub-objc.o attribs.o c/c-errors.o c/c-decl.o c/c-typeck.o c/c-convert.o c/c-aux-info.o c/c-objc-common.o c/c-parser.o c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o c-family/c-format.o c-family/c-gimplify.o c-family/c-lex.o c-family/c-omp.o c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o c-family/c-pragma.o c-family/c-pretty-print.o c-family/c-semantics.o c-family/c-ada-spec.o tree-mudflap.o default-c.o \ cc1-checksum.o libbackend.a main.o tree-browser.o libcommon-target.a libcommon.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a libcommon.a ../libcpp/libcpp.a -liconv ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -static-libgcc -static-libstdc++ -lm -lmpc -lmpfr -lgmp -static-libgcc -static-libstdc++ -lm -L../zlib -lz Undefined symbols: "___cxa_guard_acquire", referenced from: coalesce_ssa_name() in libbackend.a(tree-ssa-coalesce.o) "___cxa_guard_release", referenced from: coalesce_ssa_name() in libbackend.a(tree-ssa-coalesce.o) ld: symbol(s) not found collect2: ld returned 1 exit status make[2]: *** [cc1] Error 1 make[1]: *** [all-gcc] Error 2 make: *** [all] Error 2 It looks to me like: now that GCC is implemented in C++, certain libstdc++ functions are needed, but are not compiled when --enable-languages=c. Attached are instructions to replicate my build.