------- Comment #13 from howarth at nitro dot med dot uc dot edu 2010-03-31 02:16 ------- I was confused and the race condition patch wasn't actually applied to my tree on darwin when I did the last set of tests. Current gcc trunk still fails the profile related test cases on darwin with undefined symbols...
[MacPro:~] howarth% /sw/src/fink.build/gcc45-4.4.999-20100330/darwin_objdir/gcc/xgcc -B/sw/src/fink.build/gcc45-4.4.999-20100330/darwin_objdir/gcc/ /sw/src/fink.build/gcc45-4.4.999-20100330/gcc-4.5-20100330/gcc/testsuite/gcc.dg/matrix/transpose-1.c -fprofile-generate -O3 -lm -o /sw/src/fink.build/gcc45-4.4.999-20100330/darwin_objdir/gcc/testsuite/gcc/transpose-1.x01 Undefined symbols: "___emutls_v.__gcov_indirect_call_counters", referenced from: _mem_init in cc591Wfh.o _main in cc591Wfh.o global constructors keyed to 65535_0_transpose_1.c in cc591Wfh.o "___emutls_v.__gcov_indirect_call_callee", referenced from: _mem_init in cc591Wfh.o _mem_init in cc591Wfh.o _main in cc591Wfh.o _main in cc591Wfh.o global constructors keyed to 65535_0_transpose_1.c in cc591Wfh.o global constructors keyed to 65535_0_transpose_1.c in cc591Wfh.o ld: symbol(s) not found collect2: ld returned 1 exit status Reverting the race condition patch eliminates this problem. So the question becomes is whether emulated tls expected to be sufficient for this task? I tried the inverse of inhibiting the use of -DHAVE_CC_TLS instead and I still get the same unresoived symbols. Index: libgcc/Makefile.in =================================================================== --- libgcc/Makefile.in (revision 157840) +++ libgcc/Makefile.in (working copy) @@ -226,7 +226,7 @@ # will usually contain -g, so for the moment CFLAGS goes first. We must # include CFLAGS - that's where multilib options live. INTERNAL_CFLAGS = $(CFLAGS) $(LIBGCC2_CFLAGS) $(HOST_LIBGCC2_CFLAGS) \ - $(INCLUDES) @set_have_cc_tls@ @set_use_emutls@ + $(INCLUDES) @set_have_cc_tls@ MULTIDIR := $(shell $(CC) $(CFLAGS) -print-multi-directory) MULTIOSDIR := $(shell $(CC) $(CFLAGS) -print-multi-os-directory) Index: libgcc/configure.ac =================================================================== --- libgcc/configure.ac (revision 157840) +++ libgcc/configure.ac (working copy) @@ -232,20 +232,13 @@ # gcc, which can't be used to build executable due to that libgcc # is yet to be built here. GCC_CHECK_CC_TLS +GCC_CHECK_EMUTLS set_have_cc_tls= -if test "$enable_tls $gcc_cv_have_cc_tls" = "yes yes"; then +if test "$enable_tls $gcc_cv_have_cc_tls $gcc_cv_use_emutls" = "yes yes no"; then set_have_cc_tls="-DHAVE_CC_TLS" fi AC_SUBST(set_have_cc_tls) -# See if we have emulated thread-local storage. -GCC_CHECK_EMUTLS -set_use_emutls= -if test "$enable_tls $gcc_cv_use_emutls" = "yes yes"; then - set_use_emutls="-DUSE_EMUTLS" -fi -AC_SUBST(set_use_emutls) - # Conditionalize the makefile for this target machine. tmake_file_= for f in ${tmake_file} -- howarth at nitro dot med dot uc dot edu changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |UNCONFIRMED Resolution|FIXED | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43553