April 22
https://issues.dlang.org/show_bug.cgi?id=24517

          Issue ID: 24517
           Summary: druntime tests fail on FreeBSD 14
           Product: D
           Version: D2
          Hardware: All
                OS: FreeBSD
            Status: NEW
          Severity: normal
          Priority: P1
         Component: druntime
          Assignee: nobody@puremagic.com
          Reporter: issues.dlang@jmdavisProg.com

Running gmake unittest in dmd/druntime on FreeBSD results in a segfault:

---
../generated/freebsd/debug/64/unittest/test_runner core.internal.qsort
0x82331f618
<_D4core7runtime18runModuleUnitTestsUZ19unittestSegvHandlerUNbiPSQCk3sys5posix6signal9siginfo_tPvZv+56>
at ../generated/freebsd/debug/64/unittest/libdruntime-ut.so
0x822f5c54d <pthread_sigmask+1357> at /lib/libthr.so.3
0x822f5bafb <pthread_setschedparam+2107> at /lib/libthr.so.3
0x820f692d3 <???+0> at ???
0x8233d53fc <_adSort+96> at
../generated/freebsd/debug/64/unittest/libdruntime-ut.so
0x8233d56c6 <_D4core8internal5qsort18__unittest_L133_C1FZv+654> at
../generated/freebsd/debug/64/unittest/libdruntime-ut.so
0x8233d5e41 <_D4core8internal5qsort9__modtestFZv+9> at
../generated/freebsd/debug/64/unittest/libdruntime-ut.so
0x202d14 <???+0> at
/home/jmdavis/Programming/github/dmd/generated/freebsd/debug/64/unittest/test_runner
0x202c1a <???+0> at
/home/jmdavis/Programming/github/dmd/generated/freebsd/debug/64/unittest/test_runner
0x202a50 <???+0> at
/home/jmdavis/Programming/github/dmd/generated/freebsd/debug/64/unittest/test_runner
0x82331f393 <runModuleUnitTests+163> at
../generated/freebsd/debug/64/unittest/libdruntime-ut.so
0x8234c1dc2 <_D2rt6dmain212_d_run_main2UAAamPUQgZiZ6runAllMFZv+38> at
../generated/freebsd/debug/64/unittest/libdruntime-ut.so
0x8234c1d3d <_D2rt6dmain212_d_run_main2UAAamPUQgZiZ7tryExecMFMDFZvZv+49> at
../generated/freebsd/debug/64/unittest/libdruntime-ut.so
0x8234c1ca3 <_d_run_main2+707> at
../generated/freebsd/debug/64/unittest/libdruntime-ut.so
0x8234c19d7 <_d_run_main+267> at
../generated/freebsd/debug/64/unittest/libdruntime-ut.so
0x202f52 <???+0> at
/home/jmdavis/Programming/github/dmd/generated/freebsd/debug/64/unittest/test_runner
0x821d1bafa <__libc_start1+298> at /lib/libc.so.7
0x2028d0 <???+0> at
/home/jmdavis/Programming/github/dmd/generated/freebsd/debug/64/unittest/test_runner
gmake[1]: *** [Makefile:489:
../generated/freebsd/debug/64/unittest/core/internal/qsort] Segmentation fault
(core dumped)
gmake[1]: *** Deleting file
'../generated/freebsd/debug/64/unittest/core/internal/qsort'
gmake[1]: Leaving directory '/home/jmdavis/Programming/github/dmd/druntime'
gmake: *** [Makefile:446: unittest-debug] Error 2
---

The cause is that the signature for qsort_r was changed in FreeBSD 14 to be POSIX compliant (the old signature had some parameters in the wrong order).

--