This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: how to get x86_64 TLS support?


On Sun, 6 May 2007, Brian Dessent wrote:

> "Robert P. J. Day" wrote:
>
> > checking for x86-64 TLS support... no             <--------- dang!
> > ...
> >
> >   how can i get by this?  or can i?  i'm just about to start hunting
> > through the config files but if someone can save me the trouble, that
> > would be just ducky.
>
> It's bound to be an assembler feature check.  Do you have the
> cross-gas in place at that point?

i should ... i'm using the same basic build i've used numerous times
before.  this check is happening down in
glibc-2.5/sysdeps/x86_64/elf/configure.  here's the entire file:

====================================================================
# This file is generated from configure.in by Autoconf.  DO NOT EDIT!
 # Local configure fragment for sysdeps/x86_64/elf.

if test "$usetls" != no; then
# Check for support of thread-local storage handling in assembler and
linker.
echo "$as_me:$LINENO: checking for x86-64 TLS support" >&5
echo $ECHO_N "checking for x86-64 TLS support... $ECHO_C" >&6
if test "${libc_cv_x86_64_tls+set}" = set; then
  echo $ECHO_N "(cached) $ECHO_C" >&6
else
  cat > conftest.s <<\EOF
        .section ".tdata", "awT", @progbits
        .globl foo
foo:    .quad   1
        .section ".tbss", "awT", @nobits
        .globl bar
bar:    .skip   8
        .text
baz:    leaq    bar@TLSLD(%rip), %rdi
        leaq    bar@DTPOFF(%rax), %rcx
        addq    foo@GOTTPOFF(%rip), %rax
        movq    $bar@TPOFF, %rdx
EOF
if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'
  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  libc_cv_x86_64_tls=yes
else
  libc_cv_x86_64_tls=no
fi
rm -f conftest*
fi
echo "$as_me:$LINENO: result: $libc_cv_x86_64_tls" >&5
echo "${ECHO_T}$libc_cv_x86_64_tls" >&6
if test $libc_cv_x86_64_tls = yes; then
  cat >>confdefs.h <<\_ACEOF
#define HAVE_TLS_SUPPORT 1
_ACEOF

fi
fi

cat >>confdefs.h <<\_ACEOF
#define PI_STATIC_AND_HIDDEN 1
_ACEOF
===================================================================

  sorry, i'm not an autoconf expert.  was it necessary to specify TLS
support when i was building binutils just before this step?

rday
-- 
========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry
Waterloo, Ontario, CANADA

http://fsdev.net/wiki/index.php?title=Main_Page
========================================================================

--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]