[Bug 1117602] Re: eglibc does not crossbuild for arm64

Adam Conrad adconrad at 0c3.net
Wed Feb 6 20:57:55 UTC 2013


** Changed in: eglibc (Ubuntu)
       Status: New => Fix Committed

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to eglibc in Ubuntu.
https://bugs.launchpad.net/bugs/1117602

Title:
  eglibc does not crossbuild for arm64

Status in “eglibc” package in Ubuntu:
  Fix Committed

Bug description:
  Attempting to cross-build eglibc for arm64 gives this:

          (exec 3>&1; exit `( ( (  cd build-tree/arm64-libc && CC="aarch64-linux-gnu-gcc-4.7" CXX="aarch64-linux-gnu-g++-4.7" AUTOCONF=false MAKEINFO=: /home/wookey/linaro/armv8/toolchain/raringnew/eglibc-2.17/configure --host=aarch64-linux-gnu --build=$configure_build --prefix=/usr --without-cvs --enable-add-ons=libidn,"ports nptl " --enable-profile --without-selinux --enable-stackguard-randomization --enable-obsolete-rpc --with-pkgversion="Ubuntu EGLIBC 2.17-0ubuntu2" --with-bugurl="https://bugs.launchpad.net/ubuntu/+source/eglibc/+bugs"  --with-headers=/home/wookey/linaro/armv8/toolchain/raringnew/eglibc-2.17/debian/include --enable-kernel=2.6.32 --with-selinux --enable-multi-arch --disable-profile ) 2>&1 3>&-; echo $? >&4) | tee  -a build-tree/log-build-aarch64-linux-gnu-libc >&3) 4>&1`)
  Build started: Wed, 06 Feb 2013 14:38:06 +0000
  ---------------
  configure: loading site script /etc/dpkg-cross/cross-config.arm64
  Reading Cross Config Cache (/etc/dpkg-cross/cross-config.arm64)
  Reading /etc/dpkg-cross/cross-config.cache
  checking build system type... x86_64-pc-linux-gnu
  checking host system type... aarch64-unknown-linux-gnu
  checking for aarch64-linux-gnu-gcc... aarch64-linux-gnu-gcc-4.7
  checking for suffix of object files... o
  checking whether we are using the GNU C compiler... yes
  checking whether aarch64-linux-gnu-gcc-4.7 accepts -g... yes
  checking for aarch64-linux-gnu-gcc-4.7 option to accept ISO C89... none needed
  checking for gcc... gcc
  checking how to run the C preprocessor... aarch64-linux-gnu-gcc-4.7 -E
  checking whether we are using the GNU C++ compiler... yes
  checking whether aarch64-linux-gnu-g++-4.7 accepts -g... yes
  checking for aarch64-linux-gnu-readelf... aarch64-linux-gnu-readelf
  checking for sysdeps preconfigure fragments... x86_64
  configure: running configure fragment for add-on libidn
  checking add-on ports for preconfigure fragments... aarch64 alpha am33 arm hppa ia64 m68k mips powerpc tile
  configure: running configure fragment for add-on nptl
  checking for assembler and linker STT_GNU_IFUNC support... no
  checking whether .text pseudo-op must be used... yes
  configure: error: --enable-multi-arch support requires assembler and linker support
  make: *** [/home/wookey/linaro/armv8/toolchain/raringnew/eglibc-2.17/stamp-dir/configure_libc] Error 1
  dpkg-buildpackage: error: debian/rules build-arch gave error exit status 2

  
  config.log says:
  configure:4220: checking for assembler and linker STT_GNU_IFUNC support

  There are no relocations in this file.
  configure:4251: result: no
  configure:4254: checking whether .text pseudo-op must be used
  configure:4264: aarch64-linux-gnu-gcc-4.7  -c conftest.s 1>&5
  configure:4267: $? = 0
  configure:4278: result: yes
  configure:4284: error: --enable-multi-arch support requires assembler and linker support

  So this is checking for GNU IFUNC support, (result in
  $libc_cv_ld_gnu_indirect_function)

  We don't have ifunc support in arm64 so this test is correctly
  failing.

  The question is why should multiarch support be dependent on IFUNC (A
  mechanism for choosing at elf load time which of two different
  functions to run, depending on machine capabilities. This has nothing
  obviously to do with multiarch paths.

  It seems to come from this change:
  http://sourceware-org.1504.n7.nabble.com/PATCH-roland-configure-multiarch-Fix-multiarch-handling-in-sysdeps-generation-td218888.html

  This makes no sense to me. Multiarch worked just fine in  eglibc 2.16
  for arm64 so it must be possible to make it work in 2.17 without
  needing ifunc. But I really don't understand what's going on here. Is
  this some other 'multi-arch' from the Debian one?

  crossbuild-essential-arm64 is uninstallable in raring until this is
  fixed because the build-arch libc has already moved on.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/1117602/+subscriptions




More information about the foundations-bugs mailing list