C++ program-build problems for aarch64 -m32 use; examples: undefined symbol: __muldf3 , undefined symbol: __divdf3 , undefined symbol: __ltdf2

Mark Millard <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
I do not yet have a reduced form of this.

This is via use of local makefiles and such, not from a port.
It is a variant of a older not -m32 that I adjusted to use -m32.

clang++ -v -m32 -std=c++20 -Wpedantic -Wall -Wextra   -I../other_src_used  -pedantic  -g3 -O3 -mcpu=cortex-a7 -flto  -pthread -fuse-ld=lld -flto ../objs/cpp_thousandslocale-clang++_16_O3lto-libc++.o  ../objs/cpp_clockinfo-clang++_16_O3lto-libc++.o -o ../cpp_clockinfo_main-HoneyComb-65536MiB-threads_16-ILP32-FreeBSD_main_n264334_215bab7924f6_64bit-clang++_16_O3lto-libc++  -DCPPCLOCKINFO_VERS='"acpphint_0.1.36"'  ../other_src_used/cpp_clockinfo_main.cpp
FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0-g7cbf1a259152)
Target: arm-unknown-freebsd14.0
Thread model: posix
InstalledDir: /usr/bin
 "/usr/bin/clang++" -cc1 -triple armv7-unknown-freebsd14.0 -emit-llvm-bc -flto=full -flto-unit -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name cpp_clockinfo_main.cpp -mrelocation-model static -mframe-pointer=all -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu cortex-a7 -target-feature +soft-float -target-feature +soft-float-abi -target-feature -crc -target-feature +dsp -target-feature -ras -target-feature -sb -target-feature -i8mm -target-feature -lob -target-feature -cdecp0 -target-feature -cdecp1 -target-feature -cdecp2 -target-feature -cdecp3 -target-feature -cdecp4 -target-feature -cdecp5 -target-feature -cdecp6 -target-feature -cdecp7 -target-feature -pacbti -target-feature +hwdiv-arm -target-feature +hwdiv -target-feature -vfp2 -target-feature -vfp2sp -target-feature -vfp3 -target-feature -vfp3d16 -target-feature -vfp3d16sp -target-feature -vfp3sp -target-feature -fp16 -target-feature -vfp4 -target-feature -vfp4d16 -target-feature -vfp4d16sp -target-feature -vfp4sp -target-feature -fp-armv8 -target-feature -fp-armv8d16 -target-feature -fp-armv8d16sp -target-feature -fp-armv8sp -target-feature -fullfp16 -target-feature -fp64 -target-feature -d32 -target-feature -neon -target-feature -dotprod -target-feature -fp16fml -target-feature -bf16 -target-feature -mve -target-feature -mve.fp -target-feature -fpregs -target-feature -crypto -target-feature -sha2 -target-feature -aes -target-feature +strict-align -target-abi aapcs-linux -msoft-float -mfloat-abi soft -Wunaligned-access -mllvm -treat-scalable-fixed-error-as-warning -debug-info-kind=standalone -dwarf-version=4 -debugger-tuning=gdb -v -fcoverage-compilation-dir=/usr/home/root/acpphint/acpphint_src -resource-dir /usr/lib/clang/16 -I ../other_src_used -D "CPPCLOCKINFO_VERS=\"acpphint_0.1.36\"" -internal-isystem /usr/include/c++/v1 -internal-isystem /usr/lib/clang/16/include -internal-externc-isystem /usr/include -O3 -Wpedantic -Wall -Wextra -pedantic -std=c++20 -fdeprecated-macro -fdebug-compilation-dir=/usr/home/root/acpphint/acpphint_src -ferror-limit 19 -pthread -fno-signed-char -fgnuc-version=4.2.1 -fno-implicit-modules -fcxx-exceptions -fexceptions -fcolor-diagnostics -vectorize-loops -vectorize-slp -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/cpp_clockinfo_main-bd1520.o -x c++ ../other_src_used/cpp_clockinfo_main.cpp
clang -cc1 version 16.0.6 based upon LLVM 16.0.6 default target aarch64-unknown-freebsd14.0
#include "..." search starts here:
#include <...> search starts here:
 ../other_src_used
 /usr/include/c++/v1
 /usr/lib/clang/16/include
 /usr/include
End of search list.
 "/usr/bin/ld.lld" --eh-frame-hdr -dynamic-linker /libexec/ld-elf.so.1 --hash-style=both --enable-new-dtags -o ../cpp_clockinfo_main-HoneyComb-65536MiB-threads_16-ILP32-FreeBSD_main_n264334_215bab7924f6_64bit-clang++_16_O3lto-libc++ /usr/lib32/crt1.o /usr/lib32/crti.o /usr/lib32/crtbegin.o -L/usr/lib32 -plugin-opt=mcpu=cortex-a7 -plugin-opt=O3 ../objs/cpp_thousandslocale-clang++_16_O3lto-libc++.o ../objs/cpp_clockinfo-clang++_16_O3lto-libc++.o /tmp/cpp_clockinfo_main-bd1520.o -lc++ -lm -lgcc --as-needed -lgcc_s --no-as-needed -lpthread -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib32/crtend.o /usr/lib32/crtn.o
ld.lld: error: undefined symbol: __muldf3
>>> referenced by cpp_clockinfo_main.cpp:153 (../other_src_used/cpp_clockinfo_main.cpp:153)
>>>               lto.tmp:(main::$_0::operator()(ClkInfo const&) const)
>>> did you mean: __muldc3
>>> defined in: /usr/lib32/libgcc_s.so

ld.lld: error: undefined symbol: __divdf3
>>> referenced by cpp_clockinfo_main.cpp:180 (../other_src_used/cpp_clockinfo_main.cpp:180)
>>>               lto.tmp:(main::$_0::operator()(ClkInfo const&) const)
>>> did you mean: __divdc3
>>> defined in: /usr/lib32/libgcc_s.so

ld.lld: error: undefined symbol: __ltdf2
>>> referenced by cpp_clockinfo_main.cpp:185 (../other_src_used/cpp_clockinfo_main.cpp:185)
>>>               lto.tmp:(main::$_0::operator()(ClkInfo const&) const)
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
*** Error code 1

Stop.
make: stopped in /usr/home/root/acpphint/acpphint_src

===
Mark Millard
marklmi at yahoo.com
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.