Host> uname -a
Linux P9X79 3.2.0-38-generic #60-Ubuntu SMP Wed Feb 13 13:22:43 UTC 2013
x86_64 x86_64 x86_64 GNU/Linux
Target> uname -a
Linux raspberrypi 3.2.27+ #250 PREEMPT Thu Oct 18 19:03:02 BST 2012
armv6l GNU/Linux
I installed
Host> sudo apt-get install gcc-4.6-arm-linux-gnueabi
Host> arm-linux-gnueabi-gcc-4.6 -march=armv6 hello.c -o hello
Host> file hello
hello: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically
linked (uses shared libs), for GNU/Linux 2.6.31,
BuildID[sha1]=0xc5b264ec41508eb93e511cbc7d03b05f20a28d3e, not stripped
Target> gcc --version
gcc (Debian 4.6.3-12+rpi1) 4.6.3
Target> gcc hello.c -o hello
Target> file hello
hello: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically
linked (uses shared libs), for GNU/Linux 2.6.26,
BuildID[sha1]=0xa4c1a3f0a13668d2bc0c11f0f70e55eb00d2215e, not stripped
If I build a static executable on host,
Host> arm-linux-gnueabi-gcc-4.6 -v -march=armv6 -static hello.c -o hello
Using built-in specs.
COLLECT_GCC=arm-linux-gnueabi-gcc-4.6
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabi/4.6/lto-wrapper
Target: arm-linux-gnueabi
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro
4.6.3-1ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.6 --enable-shared --enable-linker-build-id
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix
--with-gxx-include-dir=/usr/arm-linux-gnueabi/include/c++/4.6.3
--libdir=/usr/lib --enable-nls --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes
--enable-gnu-unique-object --enable-plugin --enable-objc-gc
--enable-multilib --disable-sjlj-exceptions --with-arch=armv7-a
--with-float=softfp --with-fpu=vfpv3-d16 --with-mode=thumb
--disable-werror --enable-checking=release --build=x86_64-linux-gnu
--host=x86_64-linux-gnu --target=arm-linux-gnueabi
--program-prefix=arm-linux-gnueabi-
--includedir=/usr/arm-linux-gnueabi/include
--with-headers=/usr/arm-linux-gnueabi/include
--with-libs=/usr/arm-linux-gnueabi/lib
Thread model: posix
gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
COLLECT_GCC_OPTIONS='-v' '-march=armv6' '-static' '-o' 'hello'
'-mfloat-abi=softfp' '-mfpu=vfpv3-d16' '-mthumb'
/usr/lib/gcc/arm-linux-gnueabi/4.6/cc1 -quiet -v -imultilib .
-imultiarch arm-linux-gnueabi hello.c -quiet -dumpbase hello.c
-march=armv6 -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -auxbase hello
-version -fstack-protector -o /tmp//cc033goN.s
GNU C (Ubuntu/Linaro 4.6.3-1ubuntu5) version 4.6.3 (arm-linux-gnueabi)
compiled by GNU C version 4.6.3, GMP version 5.0.2, MPFR
version 3.1.0-p3, MPC version 0.9
warning: GMP header version 5.0.2 differs from library version 5.0.5.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring duplicate directory
"/usr/lib/gcc/arm-linux-gnueabi/4.6/../../../../arm-linux-gnueabi/include"
ignoring nonexistent directory "/usr/include/arm-linux-gnueabi"
#include "..." search starts here:
#include <...> search starts here:
/usr/lib/gcc/arm-linux-gnueabi/4.6/include
/usr/lib/gcc/arm-linux-gnueabi/4.6/include-fixed
/usr/arm-linux-gnueabi/include
/usr/include
End of search list.
GNU C (Ubuntu/Linaro 4.6.3-1ubuntu5) version 4.6.3 (arm-linux-gnueabi)
compiled by GNU C version 4.6.3, GMP version 5.0.2, MPFR
version 3.1.0-p3, MPC version 0.9
warning: GMP header version 5.0.2 differs from library version 5.0.5.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: c2a3eee802c1f4bc82a4d015bd8c8d6f
COLLECT_GCC_OPTIONS='-v' '-march=armv6' '-static' '-o' 'hello'
'-mfloat-abi=softfp' '-mfpu=vfpv3-d16' '-mthumb'
/usr/lib/gcc/arm-linux-gnueabi/4.6/../../../../arm-linux-gnueabi/bin/as
-march=armv6 -mfloat-abi=softfp -mfpu=vfpv3-d16 -meabi=5 -o
/tmp//cct7ZQLo.o /tmp//cc033goN.s
COMPILER_PATH=/usr/lib/gcc/arm-linux-gnueabi/4.6/:/usr/lib/gcc/arm-linux-gnueabi/4.6/:/usr/lib/gcc/arm-linux-gnueabi/:/usr/lib/gcc/arm-linux-gnueabi/4.6/:/usr/lib/gcc/arm-linux-gnueabi/:/usr/lib/gcc/arm-linux-gnueabi/4.6/../../../../arm-linux-gnueabi/bin/
LIBRARY_PATH=/usr/lib/gcc/arm-linux-gnueabi/4.6/:/usr/lib/gcc/arm-linux-gnueabi/4.6/../../../../arm-linux-gnueabi/lib/../lib/:/usr/lib/gcc/arm-linux-gnueabi/4.6/../../../../arm-linux-gnueabi/lib/
COLLECT_GCC_OPTIONS='-v' '-march=armv6' '-static' '-o' 'hello'
'-mfloat-abi=softfp' '-mfpu=vfpv3-d16' '-mthumb'
/usr/lib/gcc/arm-linux-gnueabi/4.6/collect2 --build-id --no-add-needed
--as-needed -Bstatic -dynamic-linker /lib/ld-linux.so.3 -X
--hash-style=gnu -m armelf_linux_eabi -z relro -o hello
/usr/lib/gcc/arm-linux-gnueabi/4.6/../../../../arm-linux-gnueabi/lib/../lib/crt1.o
/usr/lib/gcc/arm-linux-gnueabi/4.6/../../../../arm-linux-gnueabi/lib/../lib/crti.o
/usr/lib/gcc/arm-linux-gnueabi/4.6/crtbeginT.o
-L/usr/lib/gcc/arm-linux-gnueabi/4.6
-L/usr/lib/gcc/arm-linux-gnueabi/4.6/../../../../arm-linux-gnueabi/lib/../lib
-L/usr/lib/gcc/arm-linux-gnueabi/4.6/../../../../arm-linux-gnueabi/lib
-L/lib/arm-linux-gnueabi -L/usr/lib/arm-linux-gnueabi -L/usr/lib -L/lib
/tmp//cct7ZQLo.o --start-group -lgcc -lgcc_eh -lc --end-group
/usr/lib/gcc/arm-linux-gnueabi/4.6/crtend.o
/usr/lib/gcc/arm-linux-gnueabi/4.6/../../../../arm-linux-gnueabi/lib/../lib/crtn.o
Target> ../host/work/hello
../host/work/hello: ELF 32-bit LSB executable, ARM, version 1 (SYSV),
statically linked, for GNU/Linux 2.6.31,
BuildID[sha1]=0x908bca69df0bd528aa73c642fa21b9d049aa2525, not stripped
Target> ../host/work/hello
Illegal instruction
On Host, it apprars to pick up the correct libs. library mismatch?
How do I fix this?
Tom Dean
--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/512aa8e1.2080...@speakeasy.org