BINFMT_FLAT: reloc outside program
在linux中用arm-elf-gcc编译,使用-elf2flt参数,通过后用tftp下载到uclinux的 /var中执行,结果报BINFMT_FLAT: reloc outside program错误。
/var> ./hello
BINFMT_FLAT: reloc outside program 0x11c00 (0 - 0x7064/0x5ca0), killing hello!
BINFMT_FLAT: reloc outside program 0x11c00 (0 - 0x7064/0x5ca0), killing hello!
pid 34: failed 11
解决方法:
后来知道在tftp下载的时候要选择binary模式,就是在get之前先输入binary,这样就可以了!
ftp> binary
200 Type set to I.
ftp> get hello /var/hello
local: /var/hello remote: hello
200 PORT Command successful.
150 Opening BINARY mode data connection for hello (28628 Bytes).
226 Transfer complete.
28628 bytes received in 0 secs (2862 Kbytes/sec)
ftp> !
Sash command shell (version 1.1.1)
/> cd var/
/var> ls
config empty hello lock log run tmp
/var> ./hello
./hello: Permission denied
/var> chmod 777 hello