re PR c/43553 (libgcc built with -DHAVE_CC_TLS against xgcc when emutls in use)

2010-03-30  Jack Howarth <howarth@bromo.med.uc.edu>

	PR c/43553
	* Makefile.in (INTERNAL_CFLAGS): Add @set_use_emutls@.
	* configure.ac: Use GCC_CHECK_EMUTLS to see if emulated TLS
	is used and substitute set_use_emutls.
	* configure: Regenerated.

From-SVN: r157821
This commit is contained in:
Jack Howarth 2010-03-30 13:08:52 +00:00 committed by Richard Biener
parent 2bcba94ba4
commit 368fabd5a3
4 changed files with 54 additions and 1 deletions

View File

@ -1,3 +1,11 @@
2010-03-30 Jack Howarth <howarth@bromo.med.uc.edu>
PR c/43553
* Makefile.in (INTERNAL_CFLAGS): Add @set_use_emutls@.
* configure.ac: Use GCC_CHECK_EMUTLS to see if emulated TLS
is used and substitute set_use_emutls.
* configure: Regenerated.
2010-03-30 Tarik Graba <tarik.graba@telecom-paristech.fr>
* config/lm32/t-lm32: Remove misplaced MULTILIB_OPTIONS.

View File

@ -226,7 +226,7 @@ override CFLAGS := $(filter-out -fprofile-generate -fprofile-use,$(CFLAGS))
# 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@
$(INCLUDES) @set_have_cc_tls@ @set_use_emutls@
MULTIDIR := $(shell $(CC) $(CFLAGS) -print-multi-directory)
MULTIOSDIR := $(shell $(CC) $(CFLAGS) -print-multi-os-directory)

37
libgcc/configure vendored
View File

@ -556,6 +556,7 @@ LIBOBJS
asm_hidden_op
extra_parts
tmake_file
set_use_emutls
set_have_cc_tls
vis_hide
fixed_point
@ -3811,6 +3812,42 @@ if test "$enable_tls $gcc_cv_have_cc_tls" = "yes yes"; then
fi
# See if we have emulated thread-local storage.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the thread-local storage support is from emutls" >&5
$as_echo_n "checking whether the thread-local storage support is from emutls... " >&6; }
if test "${gcc_cv_use_emutls+set}" = set; then :
$as_echo_n "(cached) " >&6
else
gcc_cv_use_emutls=no
echo '__thread int a; int b; int main() { return a = b; }' > conftest.c
if { ac_try='${CC-cc} -Werror -S -o conftest.s conftest.c 1>&5'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then
if grep __emutls_get_address conftest.s > /dev/null; then
gcc_cv_use_emutls=yes
fi
fi
rm -f conftest.*
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_use_emutls" >&5
$as_echo "$gcc_cv_use_emutls" >&6; }
if test "$gcc_cv_use_emutls" = "yes" ; then
$as_echo "#define USE_EMUTLS 1" >>confdefs.h
fi
set_use_emutls=
if test "$enable_tls $gcc_cv_use_emutls" = "yes yes"; then
set_use_emutls="-DUSE_EMUTLS"
fi
# Conditionalize the makefile for this target machine.
tmake_file_=
for f in ${tmake_file}

View File

@ -238,6 +238,14 @@ if test "$enable_tls $gcc_cv_have_cc_tls" = "yes yes"; then
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}