Re: Float ABI confusion for armv7
- Reply: Mark Millard : "Re: Float ABI confusion for armv7"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 15 Aug 2023 20:54:20 UTC
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 . === Mark Millard marklmi at yahoo.com