This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/54630] New: GCC 4.8 --enable-languages=c build fails: Undefined symbols: ___cxa_guard_acquire and ___cxa_guard_release
- From: "baker at usgs dot gov" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 19 Sep 2012 21:14:41 +0000
- Subject: [Bug libstdc++/54630] New: GCC 4.8 --enable-languages=c build fails: Undefined symbols: ___cxa_guard_acquire and ___cxa_guard_release
- Auto-submitted: auto-generated
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: unassigned@gcc.gnu.org
ReportedBy: baker@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.