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: building GLIBC-2.4 header problem with ARM/NPTL/EABI


Martin Guy said the following on 04/21/2006 01:31 AM:
Forwarding to the list for their info...

On 4/20/06, Wu Bridge <mingqiao.wu@gmail.com> wrote:
There is an option "--enable-add-ons=ports,nptl" when building glibc
header. This option caused the error. I know the ports are used to
point the directory glibc-ports-2.4 unpacked. Well, can't NPTL be
supported by this way?

I have confirmed "--enable-add-ons=ports,nptl" should not be used to
build glibc header. I used "--enable-add-ons=ports," and got the
toolchain finally. (unfortunately, it has a lot of problems when
building modules and applications)

Hi
linuxthreads and nptl are two different implementations of the
threading mechanism. Up to glibc-2.3.6 you could use on or the other.
From glibc-2.4 linuxthreads does not exist, so NPTL is obligatory.
I currently build on two Debian x86 machines. On mine the build
works completely. It throws out "TLS is required" messages making the
gilbc headers, but carries on anyway.
glibc expects a native build so the default compiler is picks up should have the TLS support.
Currently these TLS checks are assembly files and while building glibc-headers we specify the host GCC
to be used. Hence these tests fail.


these tests could be changes so that they dont user CC but use AS in configure scripts (I have a patch for that which is attached)
and then we add --with-binutils=<path to cross binutils> option to glibc configure command to let it know where to pick the binutils
and since we already have built cross binutils before, so it will pick the right assembler at glibc-headers configure time



   On the other, the "TLS is required" stops the build. I don't know why.
   My only current lead is that the versions of "make" are slightly
different; mine is debian testing+stable updated to a few days ago
(make 3.81rc2); the other is the same + unstable, last upgraded in
January. (make 3.81beta4).
   I will be looking at this today; it may be that some of the options
are not being passed to the glibc-header-making step.
   I also have "Kernel version is too old" coming out as a #error in
the logs. Again, I need to look into this.

M

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


Index: glibc-2.3.6/sysdeps/powerpc/powerpc32/elf/configure
===================================================================
--- glibc-2.3.6.orig/sysdeps/powerpc/powerpc32/elf/configure
+++ glibc-2.3.6/sysdeps/powerpc/powerpc32/elf/configure
@@ -29,7 +29,7 @@ x2:	.long	1
 	addis	9,2,x2@tprel@ha
 	addi	9,9,x2@tprel@l
 EOF
-if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'
+if { ac_try='${AS} -o conftest.o conftest.s 1>&5'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
Index: glibc-2.3.6/sysdeps/powerpc/powerpc32/elf/configure.in
===================================================================
--- glibc-2.3.6.orig/sysdeps/powerpc/powerpc32/elf/configure.in
+++ glibc-2.3.6/sysdeps/powerpc/powerpc32/elf/configure.in
@@ -26,7 +26,7 @@ x2:	.long	1
 	addi	9,9,x2@tprel@l
 EOF
 dnl
-if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
+if AC_TRY_COMMAND(${AS} -o conftest.o conftest.s 1>&AS_MESSAGE_LOG_FD); then
   libc_cv_powerpc32_tls=yes
 else
   libc_cv_powerpc32_tls=no
Index: glibc-2.3.6/sysdeps/i386/elf/configure
===================================================================
--- glibc-2.3.6.orig/sysdeps/i386/elf/configure
+++ glibc-2.3.6/sysdeps/i386/elf/configure
@@ -25,7 +25,7 @@ baz:	leal	bar@TLSLDM(%ebx), %eax
 	movl	%gs:(%ecx), %eax
 	movl	%gs:bar@NTPOFF, %eax
 EOF
-if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'
+if { ac_try='${AS} -o conftest.o conftest.s 1>&5'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
Index: glibc-2.3.6/sysdeps/i386/elf/configure.in
===================================================================
--- glibc-2.3.6.orig/sysdeps/i386/elf/configure.in
+++ glibc-2.3.6/sysdeps/i386/elf/configure.in
@@ -22,7 +22,7 @@ baz:	leal	bar@TLSLDM(%ebx), %eax
 	movl	%gs:bar@NTPOFF, %eax
 EOF
 dnl
-if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
+if AC_TRY_COMMAND(${AS} -o conftest.o conftest.s 1>&AS_MESSAGE_LOG_FD); then
   libc_cv_386_tls=yes
 else
   libc_cv_386_tls=no
Index: glibc-2.3.6/sysdeps/mips/elf/configure
===================================================================
--- glibc-2.3.6.orig/sysdeps/mips/elf/configure
+++ glibc-2.3.6/sysdeps/mips/elf/configure
@@ -22,7 +22,7 @@ bar:	.skip	4
 	jalr	$25
 	addiu	$4, $28, %tlsgd(x)
 EOF
-if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'
+if { ac_try='${AS} -o conftest.o conftest.s 1>&5'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
Index: glibc-2.3.6/sysdeps/mips/elf/configure.in
===================================================================
--- glibc-2.3.6.orig/sysdeps/mips/elf/configure.in
+++ glibc-2.3.6/sysdeps/mips/elf/configure.in
@@ -19,7 +19,7 @@ bar:	.skip	4
 	addiu	$4, $28, %tlsgd(x) 
 EOF
 dnl
-if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
+if AC_TRY_COMMAND(${AS} -o conftest.o conftest.s 1>&AS_MESSAGE_LOG_FD); then
   libc_cv_mips_tls=yes
 else
   libc_cv_mips_tls=no
Index: glibc-2.3.6/sysdeps/powerpc/powerpc64/elf/configure
===================================================================
--- glibc-2.3.6.orig/sysdeps/powerpc/powerpc64/elf/configure
+++ glibc-2.3.6/sysdeps/powerpc/powerpc64/elf/configure
@@ -48,7 +48,7 @@ x4:     .long   1
         addis   9,13,x2@tprel@ha
         addi    9,9,x2@tprel@l
 EOF
-if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'
+if { ac_try='${AS} -o conftest.o conftest.s 1>&5'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
Index: glibc-2.3.6/sysdeps/powerpc/powerpc64/elf/configure.in
===================================================================
--- glibc-2.3.6.orig/sysdeps/powerpc/powerpc64/elf/configure.in
+++ glibc-2.3.6/sysdeps/powerpc/powerpc64/elf/configure.in
@@ -45,7 +45,7 @@ x4:     .long   1
         addi    9,9,x2@tprel@l
 EOF
 dnl
-if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
+if AC_TRY_COMMAND(${AS} -o conftest.o conftest.s 1>&AS_MESSAGE_LOG_FD); then
   libc_cv_powerpc64_tls=yes
 else
   libc_cv_powerpc64_tls=no
Index: glibc-2.3.6/sysdeps/arm/elf/configure
===================================================================
--- glibc-2.3.6.orig/sysdeps/arm/elf/configure
+++ glibc-2.3.6/sysdeps/arm/elf/configure
@@ -20,7 +20,7 @@ bar:	.skip	4
 .word	foo (tpoff)
 .word	foo (tlsgd)
 EOF
-if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'
+if { ac_try='${AS} -o conftest.o conftest.s 1>&5'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
Index: glibc-2.3.6/sysdeps/arm/elf/configure.in
===================================================================
--- glibc-2.3.6.orig/sysdeps/arm/elf/configure.in
+++ glibc-2.3.6/sysdeps/arm/elf/configure.in
@@ -17,7 +17,7 @@ bar:	.skip	4
 .word	foo (tlsgd)
 EOF
 dnl
-if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
+if AC_TRY_COMMAND(${AS} -o conftest.o conftest.s 1>&AS_MESSAGE_LOG_FD); then
   libc_cv_arm_tls=yes
 else
   libc_cv_arm_tls=no
Index: glibc-2.3.6/sysdeps/sh/elf/configure
===================================================================
--- glibc-2.3.6.orig/sysdeps/sh/elf/configure
+++ glibc-2.3.6/sysdeps/sh/elf/configure
@@ -19,7 +19,7 @@ foo:	.long	25
 	.long	foo@GOTTPOFF
 	.long	foo@TPOFF
 EOF
-if { ac_try='${CC-cc} -S $CFLAGS conftest.S 1>&5'
+if { ac_try='${AS} -o conftes.o conftest.S 1>&5'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
Index: glibc-2.3.6/sysdeps/sh/elf/configure.in
===================================================================
--- glibc-2.3.6.orig/sysdeps/sh/elf/configure.in
+++ glibc-2.3.6/sysdeps/sh/elf/configure.in
@@ -16,7 +16,7 @@ foo:	.long	25
 	.long	foo@TPOFF
 EOF
 dnl
-if AC_TRY_COMMAND(${CC-cc} -S $CFLAGS conftest.S 1>&AS_MESSAGE_LOG_FD); then
+if AC_TRY_COMMAND(${AS} -o conftest.o conftest.S 1>&AS_MESSAGE_LOG_FD); then
   libc_cv_sh_tls=yes
 else
   libc_cv_sh_tls=no
Index: glibc-2.3.6/sysdeps/x86_64/elf/configure
===================================================================
--- glibc-2.3.6.orig/sysdeps/x86_64/elf/configure
+++ glibc-2.3.6/sysdeps/x86_64/elf/configure
@@ -21,7 +21,7 @@ baz:	leaq	bar@TLSLD(%rip), %rdi
 	addq	foo@GOTTPOFF(%rip), %rax
 	movq	$bar@TPOFF, %rdx
 EOF
-if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'
+if { ac_try='${AS} -o conftest.o conftest.s 1>&5'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
Index: glibc-2.3.6/sysdeps/x86_64/elf/configure.in
===================================================================
--- glibc-2.3.6.orig/sysdeps/x86_64/elf/configure.in
+++ glibc-2.3.6/sysdeps/x86_64/elf/configure.in
@@ -18,7 +18,7 @@ baz:	leaq	bar@TLSLD(%rip), %rdi
 	movq	$bar@TPOFF, %rdx
 EOF
 dnl
-if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
+if AC_TRY_COMMAND(${AS} -o conftest.o conftest.s 1>&AS_MESSAGE_LOG_FD); then
   libc_cv_x86_64_tls=yes
 else
   libc_cv_x86_64_tls=no

--
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]