Re: 32-bit executables on aarch64?

Mark Millard via freebsd-arm <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>

On 2021-Mar-31, at 11:26, Thomas David Rivers <rivers at dignus.com> wrote:

> [email protected]  wrote:
>> armv7# file `which uname`
>> /usr/bin/uname: ELF 32-bit LSB executable, ARM, EABI5 version 1 (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, FreeBSD-style, for FreeBSD 14.0 (1400005), not stripped
>> 
>> armv7# uname -apKU
>> FreeBSD RPi4B 14.0-CURRENT FreeBSD 14.0-CURRENT mm-src-n245445-def0058cc690 GENERIC-NODBG  arm armv7 1400005 1400005
>> 
>> (I did both buildworld builds from the same source.)
>> 
>> There is no lib32 implementation for aarch64.
>> So, direct execution of code for armv7 FreeBSD
>> without being in such a chroot is not available.
>> (I ignore qemu and the like here.)
>> 
>> ===
>> Mark Millard
> 
> Ah!
> 
> So, the kernel _can_ run a 32-bit executable...

Only in a chroot to an armv7 world, not directly.
You can use the chroot's system compiler/toolchain
to build armv7 materials for use in the chroot.

powerpc64 FreeBSD on on PowerMacs has a lib32 in
the powerpc64 world and so allows 32-bit powerpc
FreeBSD coded to be used either with or without
a choot being in use to do so. amd64 and i386 are
similar. More than the kernel is involved in
avoiding the need for a chroot to be in use.

powerpc64 allows building without lib32 and
without it the handling is like for aarch64
and armv7.

> but we just can't
> build one on an aarch64 machine...

Without a lib32 in the aarch64 world, the armv7
FreeBSD code use has to be from inside an
appropriate chroot as far as I know.

> I wonder if I can "cross-build" an LLVM/dcc for armv7 and just
> cross-compile to get a 32-bit executable that executes on 
> a 64-bit kernel.. perhaps with -static to avoid any runtime problems?

armv7 FreeBSD code use: only in an appropriate
chroot unless the lib32 has been implmented
(as is installed).

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

_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-arm
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.