https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87818
Rainer Orth <ro at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2019-11-01 Ever confirmed|0 |1 --- Comment #4 from Rainer Orth <ro at gcc dot gnu.org> --- As it happens, I ran into the same issue myself during an --enable-libphobos build on amd64-pc-freebsd12.0. Given that libphobos already *does* support FreeBSD, I gave the attached patch a try. Initially, I ran an --enable-multilib build, but that failed for the 32-bit multilib in two places: /vol/gcc/src/hg/trunk/freebsd/libphobos/src/std/math.d:1813:13: error: static as sert "Not implemented for this architecture" 1813 | static assert(0, "Not implemented for this architecture"); | /vol/gcc/src/hg/trunk/freebsd/libphobos/src/std/internal/math/gammafunction.d:259:5: error: static assert "missing MAXGAMMA for other real types" The reason is the same in both cases, but I didn't look long for what's going on here (the 32-bit multilib *does* work on Solaris/x86 and Linux/x86_64, so there's nothing fundamental here). With only the 64-bit multilib, test results for gdc and libphobos aren't too bad: === libphobos tests === Running target unix FAIL: libphobos.phobos/std/base64.d execution test FAIL: libphobos.phobos/std/datetime/systime.d execution test FAIL: libphobos.phobos/std/datetime/timezone.d execution test FAIL: libphobos.phobos/std/experimental/allocator/building_blocks/stats_collector.d execution test FAIL: libphobos.phobos/std/experimental/logger/core.d execution test FAIL: libphobos.phobos/std/experimental/logger/filelogger.d execution test FAIL: libphobos.phobos/std/experimental/logger/multilogger.d execution test FAIL: libphobos.phobos/std/file.d execution test FAIL: libphobos.phobos/std/mmfile.d execution test FAIL: libphobos.phobos/std/net/curl.d execution test FAIL: libphobos.phobos/std/parallelism.d execution test FAIL: libphobos.phobos/std/process.d execution test FAIL: libphobos.phobos/std/range/package.d execution test FAIL: libphobos.phobos/std/socket.d execution test FAIL: libphobos.phobos/std/stdio.d execution test FAIL: libphobos.phobos/std/zip.d execution test FAIL: libphobos.phobos_shared/std/base64.d execution test FAIL: libphobos.phobos_shared/std/datetime/systime.d execution test FAIL: libphobos.phobos_shared/std/datetime/timezone.d execution test FAIL: libphobos.phobos_shared/std/experimental/allocator/building_blocks/stats_collector.d execution test FAIL: libphobos.phobos_shared/std/experimental/logger/core.d execution test FAIL: libphobos.phobos_shared/std/experimental/logger/filelogger.d execution test FAIL: libphobos.phobos_shared/std/experimental/logger/multilogger.d execution test FAIL: libphobos.phobos_shared/std/file.d execution test FAIL: libphobos.phobos_shared/std/mmfile.d execution test FAIL: libphobos.phobos_shared/std/net/curl.d execution test FAIL: libphobos.phobos_shared/std/parallelism.d execution test FAIL: libphobos.phobos_shared/std/process.d execution test FAIL: libphobos.phobos_shared/std/range/package.d execution test FAIL: libphobos.phobos_shared/std/socket.d execution test FAIL: libphobos.phobos_shared/std/stdio.d execution test FAIL: libphobos.phobos_shared/std/zip.d execution test === libphobos Summary === # of expected passes 724 # of unexpected failures 32 === gdc tests === Running target unix FAIL: gdc.dg/lto/ltotests d_lto_ltotests_0.o-d_lto_ltotests_1.o link, -O0 -flto -flto-partition=none -fuse-linker-plugin (internal compiler error) FAIL: gdc.dg/lto/ltotests d_lto_ltotests_0.o-d_lto_ltotests_1.o link, -O2 -flto -flto-partition=none -fuse-linker-plugin -fno-fat-lto-objects (internal compiler error) FAIL: gdc.dg/lto/ltotests d_lto_ltotests_0.o-d_lto_ltotests_1.o link, -O0 -flto -flto-partition=1to1 -fno-use-linker-plugin (internal compiler error) FAIL: gdc.dg/lto/ltotests d_lto_ltotests_0.o-d_lto_ltotests_1.o link, -O2 -flto -flto-partition=1to1 -fno-use-linker-plugin (internal compiler error) FAIL: gdc.dg/lto/ltotests d_lto_ltotests_0.o-d_lto_ltotests_1.o link, -O0 -flto -fuse-linker-plugin -fno-fat-lto-objects (internal compiler error) FAIL: gdc.dg/lto/ltotests d_lto_ltotests_0.o-d_lto_ltotests_1.o link, -O2 -flto -fuse-linker-plugin (internal compiler error) FAIL: gdc.test/compilable/test5227.d (internal compiler error) FAIL: gdc.test/compilable/test5227.d output-exists test5227.o UNRESOLVED: gdc.test/runnable/dhry.d compilation failed to produce executable UNRESOLVED: gdc.test/runnable/dhry.d -shared-libphobos compilation failed to produce executable FAIL: gdc.test/runnable/eh.d execution test FAIL: gdc.test/runnable/eh.d -fPIC execution test FAIL: gdc.test/runnable/eh.d -shared-libphobos execution test FAIL: gdc.test/runnable/eh.d -fPIC -shared-libphobos execution test FAIL: gdc.test/runnable/test34.d -O2 -frelease -g execution test FAIL: gdc.test/runnable/test34.d -O2 -shared-libphobos execution test FAIL: gdc.test/runnable/test34.d -O2 -frelease -shared-libphobos execution test FAIL: gdc.test/runnable/test34.d -O2 -g -shared-libphobos execution test FAIL: gdc.test/runnable/test34.d -O2 -frelease -g -shared-libphobos execution test FAIL: gdc.test/runnable/test34.d -O2 execution test FAIL: gdc.test/runnable/test34.d -O2 -frelease execution test FAIL: gdc.test/runnable/test34.d -O2 -g execution test FAIL: gdc.test/runnable/test42.d -shared-libphobos execution test FAIL: gdc.test/runnable/test42.d -g -shared-libphobos execution test FAIL: gdc.test/runnable/test42.d execution test FAIL: gdc.test/runnable/test42.d -g execution test FAIL: gdc.test/runnable/testmmfile.d execution test FAIL: gdc.test/runnable/testmmfile.d -shared-libphobos execution test FAIL: gdc.test/runnable/wc.d execution test FAIL: gdc.test/runnable/wc.d -shared-libphobos execution test FAIL: gdc.test/runnable/wc2.d execution test FAIL: gdc.test/runnable/wc2.d -shared-libphobos execution test FAIL: gdc.test/runnable/wc3.d execution test FAIL: gdc.test/runnable/wc3.d -shared-libphobos execution test === gdc Summary === # of expected passes 29814 # of unexpected failures 32 # of unresolved testcases 2 I believe once the 32-bit libphobos issue has been figured out, that's good enough the enable libphobos on FreeBSD/amd64 and FreeBSD/i386.