-bash: ./my_file: cannot execute binary file:Exec 格式错误,但我的架构和 elf 匹配

卡莱克斯

我正在尝试使用ubuntu64-16.04.3-minimal-odroid-c2-20171005操作系统在 Odroid-C2 上运行二进制文件这个文件有 777 个权限,是为 ARM 编译的。

# ls -l my_file
-rwxrwxrwx 1 root root 136409 Sep 30 13:17 my_file

#pwd
/home

#file my_file
my_file: ELF 32-bit LSB executable, ARM, version 1, statically linked, not stripped

#uname -a
Linux odroid64 3.14.79-116 #1 SMP PREEMPT Tue Sep 26 01:19:06 BRT 2017 aarch64 aarch64 aarch64 GNU/Linux 

当我尝试运行它 ( ./my_file) 时,出现错误:-bash: ./my_file: cannot execute binary file:Exec 格式错误

我知道我的二进制文件是 32 位的,而我的 Ubuntu 是 64 位的,所以我按照本教程添加了新的架构。这没有帮助,发生了同样的错误。

我还搜索了另一种解决方案,但似乎此错误发生的唯一问题是架构不匹配。我很确定这不是我的问题 - elf 是 ARM,Odroid 也是。我以前在这个Odroid上运行过类似的二进制文件,所以我现在真的很困惑。

你能帮我找出我的错误吗?

托马斯·沃德

ELF 32-bit LSB executable, ARM

这是一个 32 位 ARM 可执行文件,专为 32 位 ARM 基础架构环境(armhf、armel、arm64,当您拥有 32 位 ARM 库时)而设计

aarch64

您的架构是 64 位 ARM。具体来说,aarch64芯片支持ARMv8 A64指令集,支持像这个二进制需要1的A/T32运行时指令集

所以系统的抱怨实际上是有效的 - 32 位 ARM 可执行文件对于aarch64无法执行 A/T32 指令集的 64 位环境具有无效的 ELF 标头


1基于https://en.wikichip.org/wiki/arm/aarch64 的假设,其中指出:

AArch64 执行状态是随 ARMv8 ISA 引入的,用于执行 A64 指令的机器。AArch64 中的机器只能执行 A64 指令,不能执行 A32 或 T32 指令。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Makefile 变量:“MY_FILE”和“obj-m”之间的区别

来自分类Dev

C++ execute temp file as bash script

来自分类Dev

做“ mv my_file ..”有什么作用?

来自分类Dev

Edit variable values in ELF file?

来自分类Dev

cmd重定向:等同于bash exec> file

来自分类Dev

$ {file?my.file.txt}和$ {file:?my.file.txt}在Bash中是什么意思?

来自分类Dev

关于 EXEC、EXECUTE、SP_EXECUTE 和 SP_EXECUTESQL

来自分类Dev

Write binary file in TideSDK

来自分类Dev

Editing ELF binary call instruction

来自分类Dev

`exec $ FILE_DESCRIPTOR <>`的语义?

来自分类Dev

exec $ FILE_DESCRIPTOR <>`的语义?

来自分类Dev

匹配File :: create的结果

来自分类Dev

exec n <&0 <file`和exec n <file`命令之间的区别以及有关exec命令的一些一般性问题

来自分类Dev

bash语法错误“ exec 11 <<&-”

来自分类Dev

bash:对find -exec的错误处理

来自分类Dev

我不明白bash exec

来自分类Dev

用bash脚本执行exec和管道

来自分类Dev

Linux -Bash 查找、-exec 和 sed

来自分类Dev

我在 Ubuntu 20.04 上安装了 chruby/ruby-install: cannot execute ruby from inside bash-script

来自分类Dev

bash如何执行ELF文件?

来自分类Dev

与JavaScript中的exec匹配

来自分类Dev

在LLVM中从MCInst转换为ELF Binary

来自分类Dev

PDO :: exec还是PDO :: execute?

来自分类Dev

Shell Execute的安静MSI Exec

来自分类Dev

我可以将“ Objdump -S -d elf-file”生成的所有部分组合成可重新组装的文件吗?

来自分类Dev

来自bash的exec $ SHELL

来自分类Dev

Bash脚本-exec语法

来自分类Dev

bash exec的正确语法

来自分类Dev

来自bash的exec $ SHELL