Enable support for .init_array and .fini_array, which FreeBSD supports since commit 83aa9cc00c2d83d05a0efe7a1496d8aab4a153bb in the src repository. There __FreeBSD_version is 1000009, so we start enabling the support from __FreeBSD_version == 1000010. --- gcc/configure.orig 2023-05-11 22:33:34 UTC +++ gcc/configure @@ -24214,6 +24214,13 @@ EOF #else # if defined __sun__ && defined __svr4__ /* Solaris ld.so.1 supports .init_array/.fini_array since Solaris 8. */ +# elif defined __FreeBSD__ +# include +# if __FreeBSD_version >= 1000010 + /* FreeBSD supports .init_array/.fini_array since FreeBSD 10. */ +# else +# error The C library not known to support .init_array/.fini_array +# endif # else # error The C library not known to support .init_array/.fini_array # endif @@ -33823,7 +33823,8 @@ if test "${with_long_double_format+set}" = set; then : withval=$with_long_double_format; case "$target:$with_long_double_format" in - powerpc64le-*-linux*:ieee | powerpc64le-*-linux*:ibm) + powerpc64le-*-linux*:ieee | powerpc64le-*-linux*:ibm | \ + powerpc64le-*-freebsd*:ieee | powerpc64le-*-freebsd*:ibm) : ;; powerpc64-*-linux*:ieee | powerpc64-*-linux*:ibm)