Date: Wed, 31 Mar 2021 20:48:50 -0300 From: Mitchell Horne <mhorne@freebsd.org> To: Robert Clausecker <fuz@fuz.su> Cc: freebsd-arm <freebsd-arm@freebsd.org> Subject: Re: 32-bit executables on aarch64? Message-ID: <CADeAsy3dKYaCwCQ3NXvFAAExZt_aNAciw2hThL%2BJx3kNNbEPtw@mail.gmail.com> In-Reply-To: <YGT7mHl1tXwmdXRn@fuz.su> References: <202103311655.12VGtx3T036893@office.dignus.com> <YGS1exSvCS7sFGn%2B@fuz.su> <E1269F39-41F2-40F7-B8F5-2E39349B9C3F@yahoo.com> <YGTlpD7ph2fPlaM6@fuz.su> <BDE56DE3-976D-4564-8ABD-D4D218C670F7@yahoo.com> <YGT7mHl1tXwmdXRn@fuz.su>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Mar 31, 2021 at 7:45 PM Robert Clausecker <fuz@fuz.su> wrote: > > Hi Mark, > > The intent is to test and develop software that only runs on > armv7 (specifically, Mecrisp Stellaris, a Forth system written > in ARM assembly). This is best done natively. > > It's actually kinda annoying that no binary release tarballs > are provided for armv7, so setting up the jail involves an > annoying make world step. For amd64 jails, I can just unpack > the binary tarballs and fix the configuration and I'm good to go. > This issue about lack of distribution sets for armv7 has come up a couple of times. It wouldn't take much to start producing them officially, so I plan to submit a patch for this once re@ is done with the 13.0 release. Cheers, Mitchell > The problem with the armv7 machine was that it didn't have > enough RAM to make world (and setting up swap on an SD card is > a surefire way to send it to an early grave, so I'd rather avoid > that). Ended up having to swap over NFS and wait more than a > week for make world to complete. And that only because there is > no other way to upgrade the machine remotely. If only there were > binary release tarballs... > > But surely, lib32 support for arm64 would be even better in this > regard. > > Yours, > Robert Clausecker > > Am Wed, Mar 31, 2021 at 03:02:27PM -0700 schrieb Mark Millard: > > > > > > On 2021-Mar-31, at 14:12, Robert Clausecker <fuz at fuz.su> wrote: > > > > > Hi Mark, > > > > > > This is news to me. Excellent news! I can't say how grateful I am > > > for having this pointed out by you. Can now go ahead and throw out > > > my dedicated armv7 test machine which has caused me a lot of > > > head aches with world builds and all that. > > > > > > > > > > Somewhat depends on the type/intent of the testing activity. > > If testing the armv7 kernel is part of the point, then > > building might be done on the likely faster (and more RAM > > across processes) aarch64 environment in the chroot and > > some testing there as well. But for armv7 kernel testing, > > it would take use in an environment that was running actual > > armv7 FreeBSD kernel and world. > > > > If such is needed, you can still buildworld, buildkernel, > > and build ports in a faster/more-RAM environment. > > > > One way to have an armv7 chroot available in aarch64 is to > > have the media that is used for the actual armv7 system > > temporarily connected to the aarch64 system and mount the > > file system and chroot into it to do the builds and > > installs and such. (Might not be as easy if the armv7 > > system context is split into multiple mount points.) > > Later exit the chroot, dismount, connect back up to the > > armv7 system, and boot. (I'm not addressing special > > handling of u-boot or an msdos file system's contents > > or the like here.) > > > > As for installkernel installworld, etcupdate, etc. if > > instead a cross build was made outside a chroot, the > > installs and such can target a mounted file system > > (DESTDIR= and the like is involved). This also avoids > > some of the technical issues that can be involved for > > live updating the same system that is running. > > > > Building armv7 ports on aarch64 would always involve a > > chroot (possibly implicitly via poudriere's cross build > > way of working for such). > > > > It is rare that I build for armv7 on an armv7. It is also > > rare that I build for aarch64 on slower aarch64 machines. > > A similar point was always been true for my historical > > powerpc64 and 32-bit powerpc activities. > > > > > > > > Am Wed, Mar 31, 2021 at 11:05:45AM -0700 schrieb Mark Millard: > > >> > > >> 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) > > > > -- > () ascii ribbon campaign - for an 8-bit clean world > /\ - against html email - against proprietary attachments > _______________________________________________ > freebsd-arm@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-arm > To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CADeAsy3dKYaCwCQ3NXvFAAExZt_aNAciw2hThL%2BJx3kNNbEPtw>