ARMv8 - 在64位操作系统上运行传统的32位应用程序

MS.*_*MS. 5 linux arm arm64

通过ARMv8手册,我有以下问题来帮助理解大局.

  1. 可以遗留32位应用程序.(ARMv7或更早版本)在ARMv8操作系统上运行吗?

  2. 如果需要为ARMv8重建遗留应用程序并假设我将应用程序重建为32位(Aarch32),那么这需要32位操作系统底层支持吗?(知道寻址机制如何在这里工作很有趣.)

请尽可能提供参考.

PS:我的目标是支持Aarch64的Linux操作系统(3.7及更高版本)

小智 5

Aarch64平台可以运行32位ARM,但这种兼容性是可选的.

要运行AArch32二进制文件,您需要所有库应用程序在32位版本中使用.与x86-64系统上的i686二进制文件相同.