Hi,

I am trying to cross compile gmp on linux machine, the configure and make steps seem to be going fine but when I do make check on the foundation model, I get errors. Here is what I am trying:

Step 1: On x86_64 Ubuntu Host (using :gcc-linaro-aarch64-linux-gnu-4.7-2013.04-20130415_linux)
---------------------------------------------------------------------------------------------------------------------------------
$export AARCH64_TOOLCHAIN=/home/anilss/Linaro/tools/gcc-linaro-aarch64-linux-gnu-4.7-2013.04-20130415_linux/bin
$export PATH=$PATH:$AARCH64_TOOLCHAIN
$export ARCH=aarch64
$export CROSS_COMPILE=aarch64-linux-gnu-

$./configure --build=coreisbr-unknown-linux-gnu --host=aarch64-oe-linux --target=aarch64-oe-linux
$make

(Note: the above value for build triplet I got while trying to build gmp natively on x86_64 machine where it detected it as coreisbr-unknown-linux-gnu and the target/host name aarch64-oe-linux for Foundation model system was obtained likewise. However I am not sure if the host and target values are correct.)

Step 2: After this, on the Foundation model (running on another xterm), from the above path (mounted)
----------------------------------------------------------------------------------------------------------------------------------------
root@genericarmv8:~/anilss/pkgs/gmp/cross_arm64/gmp-5.1.3# make check
make  check-recursive
make[1]: Entering directory `/home/root/anilss/pkgs/gmp/cross_arm64/gmp-5.1.3'
Making check in tests
make[2]: Entering directory `/home/root/anilss/pkgs/gmp/cross_arm64/gmp-5.1.3/tests'
Making check in .
make[3]: Entering directory `/home/root/anilss/pkgs/gmp/cross_arm64/gmp-5.1.3/tests'
make  libtests.la t-bswap t-constants t-count_zeros t-gmpmax t-hightomask t-modlinv t-popc t-parity t-sub
make[4]: Entering directory `/home/root/anilss/pkgs/gmp/cross_arm64/gmp-5.1.3/tests'
/bin/bash ../libtool --tag=CC   --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -O2 -pedantic -c -o memory.lo memory.c
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -O2 -pedantic -c memory.c  -fPIC -DPIC -o .libs/memory.o
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -O2 -pedantic -c memory.c -o memory.o >/dev/null 2>&1
/bin/bash ../libtool --tag=CC   --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -O2 -pedantic -c -o misc.lo misc.c
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -O2 -pedantic -c misc.c  -fPIC -DPIC -o .libs/misc.o
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -O2 -pedantic -c misc.c -o misc.o >/dev/null 2>&1
/bin/bash ../libtool --tag=CC   --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -O2 -pedantic -c -o refmpf.lo refmpf.c
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -O2 -pedantic -c refmpf.c  -fPIC -DPIC -o .libs/refmpf.o
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -O2 -pedantic -c refmpf.c -o refmpf.o >/dev/null 2>&1
/bin/bash ../libtool --tag=CC   --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -O2 -pedantic -c -o refmpn.lo refmpn.c
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -O2 -pedantic -c refmpn.c  -fPIC -DPIC -o .libs/refmpn.o
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -O2 -pedantic -c refmpn.c -o refmpn.o >/dev/null 2>&1
/bin/bash ../libtool --tag=CC   --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -O2 -pedantic -c -o refmpq.lo refmpq.c
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -O2 -pedantic -c refmpq.c  -fPIC -DPIC -o .libs/refmpq.o
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -O2 -pedantic -c refmpq.c -o refmpq.o >/dev/null 2>&1
/bin/bash ../libtool --tag=CC   --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -O2 -pedantic -c -o refmpz.lo refmpz.c
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -O2 -pedantic -c refmpz.c  -fPIC -DPIC -o .libs/refmpz.o
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -O2 -pedantic -c refmpz.c -o refmpz.o >/dev/null 2>&1
/bin/bash ../libtool --tag=CC   --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -O2 -pedantic -c -o spinner.lo spinner.c
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -O2 -pedantic -c spinner.c  -fPIC -DPIC -o .libs/spinner.o
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -O2 -pedantic -c spinner.c -o spinner.o >/dev/null 2>&1
/bin/bash ../libtool --tag=CC   --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -O2 -pedantic -c -o trace.lo trace.c
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -O2 -pedantic -c trace.c  -fPIC -DPIC -o .libs/trace.o
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -O2 -pedantic -c trace.c -o trace.o >/dev/null 2>&1
/bin/bash ../libtool --tag=CC   --mode=link gcc -std=gnu99  -O2 -pedantic   -o libtests.la  memory.lo misc.lo refmpf.lo refmpn.lo refmpq.lo refmpz.lo spinner.lo trace.lo  ../libgmp.la
libtool: link: ar cq .libs/libtests.a .libs/memory.o .libs/misc.o .libs/refmpf.o .libs/refmpn.o .libs/refmpq.o .libs/refmpz.o .libs/spinner.o .libs/trace.o
libtool: link: ranlib .libs/libtests.a
libtool: link: ( cd ".libs" && rm -f "libtests.la" && ln -s "../libtests.la" "libtests.la" )
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I..    -O2 -pedantic -c t-bswap.c
/bin/bash ../libtool --tag=CC   --mode=link gcc -std=gnu99  -O2 -pedantic   -o t-bswap t-bswap.o libtests.la ../libgmp.la
libtool: link: gcc -std=gnu99 -O2 -pedantic -o .libs/t-bswap t-bswap.o  ./.libs/libtests.a /home/root/anilss/pkgs/gmp/cross_arm64/gmp-5.1.3/.libs/libgmp.so ../.libs/libgmp.so
/home/root/anilss/pkgs/gmp/cross_arm64/gmp-5.1.3/.libs/libgmp.so: could not read symbols: File in wrong format  <------ ???
collect2: error: ld returned 1 exit status
make[4]: *** [t-bswap] Error 1
make[4]: Leaving directory `/home/root/anilss/pkgs/gmp/cross_arm64/gmp-5.1.3/tests'
make[3]: *** [check-am] Error 2
make[3]: Leaving directory `/home/root/anilss/pkgs/gmp/cross_arm64/gmp-5.1.3/tests'
make[2]: *** [check-recursive] Error 1
make[2]: Leaving directory `/home/root/anilss/pkgs/gmp/cross_arm64/gmp-5.1.3/tests'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/home/root/anilss/pkgs/gmp/cross_arm64/gmp-5.1.3'
make: *** [check] Error 2
root@genericarmv8:~/anilss/pkgs/gmp/cross_arm64/gmp-5.1.3#

Will appreciate any help.

Thanks,
Anil