Index: lib/libcompiler_rt/Makefile.inc =================================================================== --- lib/libcompiler_rt/Makefile.inc +++ lib/libcompiler_rt/Makefile.inc @@ -133,7 +133,8 @@ # 128-bit quad precision long double support, # only used on some architectures. # -.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "riscv" +.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ + ${MACHINE_CPUARCH} == "riscv" SRCF+= addtf3 SRCF+= comparetf2 SRCF+= divtf3 Index: lib/libgcc_s/Version.map =================================================================== --- lib/libgcc_s/Version.map +++ lib/libgcc_s/Version.map @@ -152,3 +152,35 @@ __bswapdi2; __bswapsi2; } GCC_4.2.0; + +GCC_4.4.0 { +} GCC_4.3.0; + +GCC_4.5.0 { +} GCC_4.4.0; + +# For other operating systems 128 bit long double support exists in the GCC_3.0 symbol +# version but was not brought to FreeBSD until GCC 4.6.0. +GCC_4.6.0 { + __addtf3; + __divtf3; + __eqtf2; + __extenddftf2; + __extendsftf2; + __fixtfdi; + __fixtfsi; + __fixtfti; + __fixunstfdi; + __fixunstfsi; + __fixunstfti; + __floatunsitf; + __getf2; + __gttf2; + __letf2; + __lttf2; + __multf3; + __netf2; + __subtf3; + __trunctfdf2; + __trunctfsf2; +} GCC_4.5.0;