http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55571
Bug #: 55571 Summary: [4.6.4 regression] PR48076 fix broke bootstrap on armv5tel-linux-gnueabi Classification: Unclassified Product: gcc Version: 4.6.4 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassig...@gcc.gnu.org ReportedBy: mi...@it.uu.se Attempting to bootstrap gcc-4.6-20121130 on armv5tel-linux-gnueabi fails with: /mnt/scratch/objdir46/./prev-gcc/xgcc -B/mnt/scratch/objdir46/./prev-gcc/ -B/mnt/scratch/install46/armv5tel-unknown-linux-gnueabi/bin/ -B/mnt/scratch/install46/armv5tel-unknown-linux-gnueabi/bin/ -B/mnt/scratch/install46/armv5tel-unknown-linux-gnueabi/lib/ -isystem /mnt/scratch/install46/armv5tel-unknown-linux-gnueabi/include -isystem /mnt/scratch/install46/armv5tel-unknown-linux-gnueabi/sys-include -g -O2 -gtoggle -DIN_GCC -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 -DHAVE_CONFIG_H -static-libstdc++ -static-libgcc -o cc1 c-lang.o c-family/stub-objc.o attribs.o c-errors.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-objc-common.o c-parser.o tree-mudflap.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 arm-c.o \ cc1-checksum.o main.o libbackend.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a ../libcpp/libcpp.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -lmpc -lmpfr -lgmp -lz /mnt/scratch/objdir46/./prev-gcc/libgcc_s.so.1: undefined reference to `__sync_synchronize' collect2: ld returned 1 exit status make[3]: *** [cc1] Error 1 make[3]: Leaving directory `/mnt/scratch/objdir46/gcc' make[2]: *** [all-stage2-gcc] Error 2 make[2]: Leaving directory `/mnt/scratch/objdir46' make[1]: *** [stage2-bubble] Error 2 make[1]: Leaving directory `/mnt/scratch/objdir46' make: *** [bootstrap] Error 2 This is a recent regression, caused by the PR48076 fix backport in r193959. Reverting that revision allows the bootstrap to complete. Note that the __sync_ primitives on arm-linux-gnueabi reside in the static libgcc.a, not the shared libgcc_s.so.1.