Re: Float ABI confusion for armv7
- In reply to: Mark Millard : "Re: Float ABI confusion for armv7"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 15 Aug 2023 21:02:25 UTC
On Aug 15, 2023, at 13:54, Mark Millard <marklmi@yahoo.com> wrote: > John F Carr <jfc_at_mit.edu> write on > Date: Tue, 15 Aug 2023 13:51:24 UTC : >> >> Has something changed in llvm to cause soft float to be the default for armv7? >> >> I am cross-compiling using poudriere on a 64 bit ARM host to target armv7. >> This used to work. After updating my jail (poudriere jail -u -msrc=...) I get an >> unnecessarily mysterious failure building pkg. Poudriere erases the evidence, >> poudriere -i does not work as advertised, pkg's configure script spawns subshells >> to prevent set -x from working, and the subshell directs error messages to /dev/null. >> After getting past all that, >> >> # cc -target armv7-freebsd -o /tmp/a.out autosetup/jimsh0.c >> >> in the pkg source directory results in undefined symbols such as __eqdf2. >> >> # cc -target armv7-freebsd-gnueabihf -o /tmp/a.out autosetup/jimsh0.c >> >> works fine. >> >> # cc -v >> FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0-g7cbf1a259152) >> Target: armv7-unknown-freebsd14.0 >> Thread model: posix >> InstalledDir: /usr/bin >> > > Exploring my context that does not get the problem . . . > > # uname -apKU > FreeBSD CA72-16Gp-ZFS 14.0-ALPHA1 FreeBSD 14.0-ALPHA1 aarch64 1400094 #107 main-n264683-6b405053c997-dirty: Sat Aug 12 23:43:37 PDT 2023 root@CA72-16Gp-ZFS:/usr/obj/BUILDs/main-CA72-nodbg-clang/usr/main-src/arm64.aarch64/sys/GENERIC-NODBG-CA72 arm64 aarch64 1400094 1400094 > > So: aarch64 > > But . . . > > # poudriere jail -jmain-CA7-bulk_a -i > Jail name: main-CA7-bulk_a > Jail version: 14.0-ALPHA1 > Jail arch: arm.armv7 > Jail method: null > Jail mount: /usr/obj/DESTDIRs/main-CA7-poud-bulk_a > . . . > > # chroot /usr/obj/DESTDIRs/main-CA7-poud-bulk_a uname -apKU > FreeBSD CA72-16Gp-ZFS 14.0-ALPHA1 FreeBSD 14.0-ALPHA1 aarch64 1400094 #107 main-n264683-6b405053c997-dirty: Sat Aug 12 23:43:37 PDT 2023 root@CA72-16Gp-ZFS:/usr/obj/BUILDs/main-CA72-nodbg-clang/usr/main-src/arm64.aarch64/sys/GENERIC-NODBG-CA72 arm armv7 1400094 1400094 > > So: an armv7 poudriere jail context on an aarch64 system. > > . . . > [00:00:09] [01] [00:00:00] Building ports-mgmt/pkg | pkg-1.20.4 > [00:03:05] [01] [00:02:56] Finished ports-mgmt/pkg | pkg-1.20.4: Success > > Looking at the log file: > > . . . > =======================<phase: configure >============================ > ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 > ===> Configuring for pkg-1.20.4 > No installed jimsh or tclsh, building local bootstrap jimsh0 > Host System...armv7-unknown-freebsd14.0 > Build System...armv7-unknown-freebsd14.0 > . . . > > But: > > # chroot /usr/obj/DESTDIRs/main-CA7-poud-bulk_a cc -v > FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0-g7cbf1a259152) > Target: armv7-unknown-freebsd14.0-gnueabihf > Thread model: posix > InstalledDir: /usr/bin > > > So my buildworld and installworld sequence into: > > /usr/obj/DESTDIRs/main-CA7-poud-bulk_a > > got clang for a default of: armv7-unknown-freebsd14.0-gnueabihf > > The only thing that I know of that might contribute that is specific > to my environment is that I cause use of -mcpu=cortex-a7 in the > buildworld used to fill in /usr/obj/DESTDIRs/main-CA7-poud-bulk_a . > > Never mind. I see Warner has fixed it and that my context somewhat predates the bad commit (2023-Aug-12): • git: 0bc26e325450 - main - clang: Minor build simplification now that armv[45] is not supported Warner Losh fixed by (2023-Aug-14): • git: 43b41bee90c7 - main - llvm: fix armv[67] after 0bc26e325450 Warner Losh === Mark Millard marklmi at yahoo.com