On Sat, Jul 1, 2017 at 6:07 PM, Paul D. DeRocco <[email protected]> wrote: >> From: Andrea Galbusera [mailto:[email protected]] >> >> Could you please post the exact source code of your test >> program and the steps you take to (a) build the SDK and (b) >> build your test executable? Is your running image a pretty >> standard one (core-image-minimal, rpi-test-image or so) or do >> your own with custom features? > > It did have some custom features, so I did a plain build of > core-image-minimal using raspberrypi3 as the MACHINE. I also did a > populate_sdk for it, and installed the SDK in /opt/poky/2.2.1-a32 by running > the install script. > > The test program test.c is just "int main(void) { return 0; }". I normally > use Eclipse CDT to compile native programs, so I set up a cross project using > the SDK, which involves a few manual settings, including telling it the tools > are in > /opt/poky/2.2.1-a32/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux, and > adding a --sysroot to the command lines. The compiler command line came out > as: > > arm-poky-linux-gcc > --sysroot=/opt/poky/2.2.1-a32/sysroots/cortexa7hf-neon-vfpv4-poky-linux-gnueabi > -O3 -Wall -c -mfloat-abi=hard -MMD -MP -MF"test.d" -MT"test.o" -o "test.o" > "../test.c" > > (without the line breaks). I had to add "-mfloat-abi-hard" to get it to link. > The link command line was: > > arm-poky-linux-gcc > --sysroot=/opt/poky/2.2.1-a32/sysroots/cortexa7hf-neon-vfpv4-poky-linux-gnueabi > -s -o "test" ./test.o > > (again, without the line breaks). After dd-ing the image to my SD card, I > mounted it and manually copied the "test" program into its rootfs. When I > stuck it in the RPi3 and ran it, I got > > -sh: ./test: not found >
pick a program that runs fine on target say /sbin/init and your test program then find the unstripped binaries of both on your build system. run arm-poky-linux-gcc -A init and arm-poky-linux-gcc -A test send the output of both cmds. > The shell in this case is busybox, so the error message is slightly different > from bash. > > I rechecked everything I had described before, analyzing the executable and > comparing it to some working executable from the rootfs. There must be > SOMETHING in my executable that the loader is barfing on, after it's > successfully opened the file but before it starts looking for libraries. But > it's an awfully small executable, so it's hard to imaging where that > something is hiding. > > -- > > Ciao, Paul D. DeRocco > Paul mailto:[email protected] > > -- > _______________________________________________ > yocto mailing list > [email protected] > https://lists.yoctoproject.org/listinfo/yocto -- _______________________________________________ yocto mailing list [email protected] https://lists.yoctoproject.org/listinfo/yocto
