glibc 2.9 build for arm fails at linking ld.so

Alexey Luchko luchik@gmail.com
Fri Oct 5 16:35:00 GMT 2012


Hi, folks!

I'm trying to cross-compile glibc 2.9 for arm (using crosstool-ng).
Host is i386 darwin 9.8.0.

I've tried different versions of linux kernel and gcc.  It had failed 
every time at linking ld.so like this
[ALL  ]    arm-unknown-linux-gnueabi-gcc
   -nostdlib -nostartfiles -shared
   -o /.../.build/arm-unknown-linux-gnueabi/build/build-libc-final/elf/ld.so
   -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both -Wl,-z,defs
 
/.../.build/arm-unknown-linux-gnueabi/build/build-libc-final/elf/librtld.os
 
-Wl,--version-script=/.../.build/arm-unknown-linux-gnueabi/build/build-libc-final/ld.map
   -Wl,-soname=ld-linux.so.3
   -T 
/.../.build/arm-unknown-linux-gnueabi/build/build-libc-final/elf/ld.so.lds
...
[ALL  ] 
/.../.build/arm-unknown-linux-gnueabi/build/build-libc-final/elf/librtld.os: 
In function `_exit': [ALL  ]    raise.c:(.text+0x14b80): undefined 
reference to `rtld_errno'

There are much more undefined references to rtld_errno from different 
functions.

[ALL  ] 
/.../.build/arm-unknown-linux-gnueabi/build/build-libc-final/elf/librtld.os:raise.c:(.text+0x14b84):
  more undefined references to `rtld_errno' follow
[ALL  ] 
/.../.build/arm-unknown-linux-gnueabi/buildtools/lib/gcc/arm-unknown-linux-gnueabi/4.7.2/../../../../arm-unknown-linux-gnueabi/bin/ld: 
/.../.build/arm-unknown-linux-gnueabi/build/build-libc-final/elf/ld.so:
  hidden symbol `rtld_errno' isn't defined
[ALL  ] 
/.../.build/arm-unknown-linux-gnueabi/buildtools/lib/gcc/arm-unknown-linux-gnueabi/4.7.2/../../../../arm-unknown-linux-gnueabi/bin/ld:
  final link failed: Nonrepresentable section on output
[ERROR]    collect2: error: ld returned 1 exit status


The glibc configuration is
'BUILD_CC=i386-build_apple-darwin9.8.0-gcc'
'CFLAGS= -U_FORTIFY_SOURCE  -mlittle-endian      -mhard-float  -O2 '
'CC=arm-unknown-linux-gnueabi-gcc    '
'AR=arm-unknown-linux-gnueabi-ar'
'RANLIB=arm-unknown-linux-gnueabi-ranlib'
'/.../.build/src/glibc-2.9/configure'
   '--prefix=/usr'
   '--build=i386-build_apple-darwin9.8.0'
   '--host=arm-unknown-linux-gnueabi'
 
'--cache-file=/.../.build/arm-unknown-linux-gnueabi/build/build-libc-final/config.cache'
   '--without-cvs'
   '--disable-profile'
   '--without-gd'
   '--with-headers=/.../arm-unknown-linux-gnueabi/sysroot/usr/include'
   '--disable-debug'
   '--disable-sanity-checks'
   '--enable-kernel=3.2.30'
   '--with-__thread'
   '--with-tls'
   '--enable-shared'
   '--with-fp'
   '--enable-add-ons=nptl,ports'

I've tried kernel 3.2.30 and 3.5.4.  It does not matter.
What could I try else?   Any help is welcome :)

--
Regards,
Alex



More information about the Libc-help mailing list