32-bit executables on aarch64?

Mark Millard marklmi at yahoo.com
Wed Mar 31 18:05:53 UTC 2021


On 2021-Mar-31, at 10:46, Robert Clausecker <fuz at fuz.su> wrote:

> Hi Thomas,
> 
> Unfortunately, there is no support for running armv7 executables
> on arm64, though it would technically be possible to implement.
> I myself would really like to have this sort of thing but I lack
> the knowledge to have it.  Perhaps someone feels adventurous
> enough to look into implementing support for this sort of thing.

aarch64 FreeBSD supports having an armv7 world installed
in a directory tree for use with chroot.

I've a separate reply to the original submittal showing
a use of such.

aarch64 FreeBSD lacks lib32 for more direct execution
of armv7 FreeBSD code without involving a chroot use (or
qemu use or other such).

> For historical reasons, the i386 and amd64 ports of gcc and clang
> have a largely shared code base and are essentially the same port.
> So options -m32, -m64 can be used to switch between them.  The same
> is not possible for armv7 and arm64 which are distinct ports with
> little to no shared backend code.  Consider using -target armv7
> instead.
> 
> Yours,
> Robert Clausecker
> 
> Am Wed, Mar 31, 2021 at 12:55:59PM -0400 schrieb Thomas David Rivers:
>> 
>> I'm playing around with a (rather-old now) 13.0-pre-pre-pre release
>> on Raspberry PI 4B.
>> 
>> I was naively thinking I could just use -m32 to create a 32-bit
>> executable... but the LLVM there promptly told me it didn't recognize
>> -m32.
>> 
>> I installed the gcc V9 port and it said the same thing.
>> 
>> This begged the question, is there no support of 32-bit ARM (armv7)
>> executables in the aarch64 environment?
> 

===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)



More information about the freebsd-arm mailing list