mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-20 19:01:12 +08:00
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:
parent
2bcba94ba4
commit
368fabd5a3
@ -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.
|
||||
|
@ -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
37
libgcc/configure
vendored
@ -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}
|
||||
|
@ -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}
|
||||
|
Loading…
x
Reference in New Issue
Block a user