binary/ELF silently exits on different ARM system -


i have elf compiled on armv7a cortex-a9 cpu. runs fine there no problems, when it's moved onto armv7a cortex-a8 cpu file silently exits follows:

casey@arm:~/unreal/system$ ./ucclinux.bin.orig casey@arm:~/unreal/system$

i built own ucclinux.bin uses shared objects unchanged cortex a9 cpu, , execution works fine. leads me believe there's nothing wrong shared objects, elf itself. however, diffing ld --verbose/readelf shows 1 small difference. on version built, needs different dependency. ld-linux-armhf.so.3, it's not present , replaced libm.so.6; have.

there search path on working system confuses me: search_dir("/usr/armv7hl-suse-linux-gnueabi/lib") armv7*h*l, no hf on gnueabi. i'm not sure if implies suse build on ubuntu, both hardfloat, may semantics.

ldd output on both systems match original file. other change on dependency , few relatively minor comments, different compilers on different distros, @ complete loss.

i have strace outputs file built , file given me.

good: http://pastebin.com/ef8svn1q

bad: http://pastebin.com/04fyp5xt

i @ loss why happens, because other small test programs try work flawlessly. it's 1 file reason. compile mtune=cortex-a8 didn't change anything, , complete bummer if had distribute build "oh way, have compile own binary run thing." plus, suspect there underlying problems may arise this.

relevant {to knowledge} compiler options:

-march=armv7-a -mtune=cortex-a9 -mfloat-abi=hard -mfpu=vfpv3-d16

the fpu matches both cpus, , both hardfloat armv7a.

any ideas?

edit: found new info valgrind.

-1929-- reading syms /home/casey/unreal/system/ucclinux.bin.orig (0x8000) --1929-- reading syms /lib/arm-linux-gnueabi/ld-2.15.so (0x4000000) --1929-- considering /lib/arm-linux-gnueabi/ld-2.15.so .. --1929-- .. crc mismatch (computed c6793f6a wanted 66aab705) --1929-- object doesn't have symbol table

valgrind: fatal error @ startup: function redirection valgrind: mandatory platform-tool combination valgrind: cannot set up. details of redirection are: valgrind: must-be-redirected function valgrind: name matches pattern: memcpy valgrind: in object soname matching: ld-linux.so.3 valgrind: not found whilst processing valgrind: symbols object soname: ld-linux.so.3

my distro has both hardfloat , softfloat libs, though thought mutually exclusive.


Popular posts from this blog

How to calculate SNR of signals in MATLAB? -

c# - Attempting to upload to FTP: System.Net.WebException: System error -

ios - UISlider customization: how to properly add shadow to custom knob image -