Bug 274939 - Feature request: enable the m2 (modula2) front end in lang/gcc13
Summary: Feature request: enable the m2 (modula2) front end in lang/gcc13
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: powerpc Any
: --- Affects Only Me
Assignee: Lorenzo Salvadore
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-11-06 14:06 UTC by Curtis Hamilton
Modified: 2024-02-25 19:47 UTC (History)
6 users (show)

See Also:
salvadore: maintainer-feedback+


Attachments
gcc/gm2 config.log (11.27 KB, text/plain)
2023-11-06 14:06 UTC, Curtis Hamilton
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Curtis Hamilton 2023-11-06 14:06:06 UTC
Created attachment 246162 [details]
gcc/gm2 config.log

When attempting to build with modula2 (m2) front-end enabled returns the following error:

cp /usr/ports/lang/gcc13/work/gcc-13.1.0/gcc/m2/target-independent/m2/Builtins.texi /usr/ports/lang/gcc13/work/.build/gcc/m2/Builtins.texi
echo timestamp > Builtins.texi-check
grep -v "^@node" /usr/ports/lang/gcc13/work/gcc-13.1.0/gcc/doc/include/gpl_v3.texi > m2/gpl_v3_without_node.texi
test -d /usr/ports/lang/gcc13/work/.build/gcc/m2/images || /bin/sh /usr/ports/lang/gcc13/work/gcc-13.1.0/gcc/../mkinstalldirs /usr/ports/lang/gcc13/work/.build/gcc/m2/images
mkdir /usr/ports/lang/gcc13/work/.build/gcc/m2/images
cp /usr/ports/lang/gcc13/work/gcc-13.1.0/gcc/m2/images/gnu.eps /usr/ports/lang/gcc13/work/.build/gcc/m2/images/gnu.eps
echo timestamp > gcc.pod
perl /usr/ports/lang/gcc13/work/gcc-13.1.0/gcc/../contrib/texi2pod.pl /usr/ports/lang/gcc13/work/gcc-13.1.0/gcc/doc/invoke.texi > gcc.pod
checking whether the C compiler works... no
config-host: error: in `/usr/ports/lang/gcc13/work/.build/gcc/m2/gm2-libs':
config-host: error: C compiler cannot create executables
See `config.log' for more details
no
configure: error: in `/usr/ports/lang/gcc13/work/.build/gcc/m2':
configure: error: C compiler cannot create executables
See `config.log' for more details
gmake[5]: *** [/usr/ports/lang/gcc13/work/gcc-13.1.0/gcc/m2/Make-lang.in:1526: m2/gm2-libs/gm2-libs-host.h] Error 77
gmake[5]: *** Waiting for unfinished jobs....
gmake[5]: *** [/usr/ports/lang/gcc13/work/gcc-13.1.0/gcc/m2/Make-lang.in:1542: m2/gm2config.aci] Error 77
libgccjit.texi:18: warning: @definfoenclose is obsolete
libgccjit.texi:19: warning: @definfoenclose is obsolete
/bin/sh /usr/ports/lang/gcc13/work/gcc-13.1.0/gcc/../move-if-change tmp-optionlist optionlist
echo timestamp > s-options
rm gcc.pod
gmake[5]: Leaving directory '/usr/ports/lang/gcc13/work/.build/gcc'
gmake[4]: *** [Makefile:5009: all-stage2-gcc] Error 2
gmake[4]: Leaving directory '/usr/ports/lang/gcc13/work/.build'
gmake[3]: *** [Makefile:25730: stage2-bubble] Error 2
gmake[3]: Leaving directory '/usr/ports/lang/gcc13/work/.build'
gmake[2]: *** [Makefile:25953: bootstrap-lean] Error 2
gmake[2]: Leaving directory '/usr/ports/lang/gcc13/work/.build'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Config log attached.
Comment 1 Mina Galić freebsd_triage 2023-11-06 17:01:08 UTC
it seems unlikely to be the cause, but can you try to to set MAKE_JOBS_UNSAFE=yes and see if that changes anything in the behaviour.
Note that it'll make things a lot slower. then again, you didn't even get thru the configure stage, so it won't really matter

meanwhile, i think it would be worth reporting this upstream (linking the two reports).
it would also be good to CC somebody who knows anything about PowerPC.
Comment 2 Justin Hibbits freebsd_committer freebsd_triage 2023-11-06 18:12:55 UTC
The relevant details are here:

configure:2581: checking whether the C compiler works
configure:2603: /usr/ports/lang/gcc13/work/.build/./prev-gcc/xgcc -B/usr/ports/lang/gcc13/work/.build/./prev-gcc/ -B/usr/local/powerpc64le-portbld-freebsd13.2/bin/ -B/usr/local/powerpc64le-portbld-freebsd13.2/bin/ -B/usr/local/powerpc64le-portbld-freebsd13.2/lib/ -isystem /usr/local/powerpc64le-portbld-freebsd13.2/include -isystem /usr/local/powerpc64le-portbld-freebsd13.2/sys-include   -fno-checking -g -O2 -fno-checking -flto=jobserver -frandom-seed=1 -ffat-lto-objects -DLIBICONV_PLUG -static-libstdc++ -static-libgcc  conftest.c libcommon.a ../libcpp/libcpp.a   ../libbacktrace/.libs/libbacktrace.a ../libiberty/pic/libiberty.a ../libdecnumber/libdecnumber.a  >&5
/usr/local/bin/ld: cannot find libcommon.a: No such file or directory
/usr/local/bin/ld: cannot find ../libcpp/libcpp.a: No such file or directory
/usr/local/bin/ld: cannot find ../libbacktrace/.libs/libbacktrace.a: No such file or directory
/usr/local/bin/ld: cannot find ../libiberty/pic/libiberty.a: No such file or directory
/usr/local/bin/ld: cannot find ../libdecnumber/libdecnumber.a: No such file or directory
collect2: error: ld returned 1 exit status

Looks like some needed libraries are not getting built.  Could be a race, or something else (configure issue causing them to not be bootstrapped?)
Comment 3 Robert Clausecker freebsd_committer freebsd_triage 2023-11-06 18:22:28 UTC
CC pkubaj@, our residential ppc expert
Comment 4 Curtis Hamilton 2023-11-06 18:32:42 UTC
(In reply to Justin Hibbits from comment #2)

Using "find . -name "*.a" -type f"  the files in question can be found in the .build/prev-gcc directory.

...
./work/.build/prev-gcc/libcommon-target.a
./work/.build/prev-gcc/libbackend.a
./work/.build/prev-gcc/libcommon.a
./work/.build/prev-gcc/libgcc_eh.a
./work/.build/prev-gcc/libgcc.a
./work/.build/prev-gcc/libgcov.a
./work/.build/prev-libcpp/libcpp.a
./work/.build/prev-libcody/libcody.a
./work/.build/libcody/libcody.a
./work/.build/prev-libiberty/pic/libiberty.a
./work/.build/prev-libiberty/libiberty.a
./work/.build/build-powerpc64le-portbld-freebsd13.2/libiberty/pic/libiberty.a
./work/.build/build-powerpc64le-portbld-freebsd13.2/libiberty/libiberty.a
./work/.build/build-powerpc64le-portbld-freebsd13.2/libcpp/libcpp.a
./work/.build/libcpp/libcpp.a
./work/.build/prev-libdecnumber/libdecnumber.a
./work/.build/prev-libbacktrace/.libs/libbacktrace.a
./work/.build/libbacktrace/.libs/libbacktrace.a
./work/.build/libdecnumber/libdecnumber.a
./work/.build/libiberty/pic/libiberty.a
./work/.build/libiberty/libiberty.a
./work/.build/prev-powerpc64le-portbld-freebsd13.2/libgcc/libgcov.a
./work/.build/prev-powerpc64le-portbld-freebsd13.2/libgcc/libgcc_eh.a
./work/.build/prev-powerpc64le-portbld-freebsd13.2/libgcc/libgcc.a
./work/.build/prev-powerpc64le-portbld-freebsd13.2/libgomp/.libs/libgomp.a
./work/.build/prev-powerpc64le-portbld-freebsd13.2/libstdc++-v3/src/c++98/.libs/libc++98convenience.a
./work/.build/prev-powerpc64le-portbld-freebsd13.2/libstdc++-v3/src/c++11/.libs/libc++11convenience.a
./work/.build/prev-powerpc64le-portbld-freebsd13.2/libstdc++-v3/src/c++17/.libs/libc++17convenience.a
./work/.build/prev-powerpc64le-portbld-freebsd13.2/libstdc++-v3/src/c++20/.libs/libc++20convenience.a
./work/.build/prev-powerpc64le-portbld-freebsd13.2/libstdc++-v3/src/filesystem/.libs/libstdc++fs.a
./work/.build/prev-powerpc64le-portbld-freebsd13.2/libstdc++-v3/src/experimental/.libs/libstdc++exp.a
./work/.build/prev-powerpc64le-portbld-freebsd13.2/libstdc++-v3/src/.libs/libstdc++.a
./work/.build/prev-powerpc64le-portbld-freebsd13.2/libstdc++-v3/src/.libs/libstdc++convenience.a
./work/.build/prev-powerpc64le-portbld-freebsd13.2/libstdc++-v3/libsupc++/.libs/libsupc++convenience.a
./work/.build/prev-powerpc64le-portbld-freebsd13.2/libstdc++-v3/libsupc++/.libs/libsupc++.a
clhamilto@blackbird-ppc64le:/usr/ports/lang/gcc13 $
Comment 5 Lorenzo Salvadore freebsd_committer freebsd_triage 2023-11-07 10:48:00 UTC
Thanks for your report.

pkubaj@ usually deals with powerpc indeed. If he does not find the time to deal with this bug I will try to do it, but unfortunately there are many others bug reports opened and powerpc is a tier 2 platform for FreeBSD, so I will need to give a higher priority to the other bugs.
Comment 6 Piotr Kubaj freebsd_committer freebsd_triage 2023-11-10 23:14:43 UTC
There's no option to build modula2 frontend other than manually modifying the port's Makefile. Do we even support it on FreeBSD? Does it build on other architectures?
Comment 7 Curtis Hamilton 2023-11-28 15:31:09 UTC
(In reply to Piotr Kubaj from comment #6)
Yes, m2 builds on FreeBSD, it has for sometime. I worked with the developer in his development efforts.

I can confidently state this is not a PowerPC64 issue. 

Investigating further, if I cd to ./work/.build and run gmake the build completes successfully with m2 enabled. From what I can tell the issue is with the stage where m2 is being built. By default, using the top level “Makefile”, all languages are being built in stage 1. However, building m2 seems not to be able to find the necessary libraries.

Any ideas?
Comment 8 Mehul Sanghvi 2023-12-09 04:32:25 UTC
(In reply to Justin Hibbits from comment #2)

I get the same error on amd64:


configure:2550: /usr/obj/usr/ports/lang/gcc13/work/.build/./prev-gcc/xgcc -B/usr/obj/usr/ports/lang/gcc13/work/.build/./prev-gcc/ -B/usr/local/x86_64-portbld-freebsd13.2/bin/ -B/usr/local/x86_64-portbld-freebsd13.2/bin/ -B/usr/local/x86_64-portbld-freebsd13.2/lib/ -isystem /usr/local/x86_64-portbld-freebsd13.2/include -isystem /usr/local/x86_64-portbld-freebsd13.2/sys-include   -fno-checking -V >&5
xgcc: error: unrecognized command-line option '-V'
xgcc: fatal error: no input files
compilation terminated.
configure:2561: $? = 1
configure:2550: /usr/obj/usr/ports/lang/gcc13/work/.build/./prev-gcc/xgcc -B/usr/obj/usr/ports/lang/gcc13/work/.build/./prev-gcc/ -B/usr/local/x86_64-portbld-freebsd13.2/bin/ -B/usr/local/x86_64-portbld-freebsd13.2/bin/ -B/usr/local/x86_64-portbld-freebsd13.2/lib/ -isystem /usr/local/x86_64-portbld-freebsd13.2/include -isystem /usr/local/x86_64-portbld-freebsd13.2/sys-include   -fno-checking -qversion >&5
xgcc: error: unrecognized command-line option '-qversion'; did you mean '--version'?
xgcc: fatal error: no input files
compilation terminated.
configure:2561: $? = 1
configure:2581: checking whether the C compiler works
configure:2603: /usr/obj/usr/ports/lang/gcc13/work/.build/./prev-gcc/xgcc -B/usr/obj/usr/ports/lang/gcc13/work/.build/./prev-gcc/ -B/usr/local/x86_64-portbld-freebsd13.2/bin/ -B/usr/local/x86_64-portbld-freebsd13.2/bin/ -B/usr/local/x86_64-portbld-freebsd13.2/lib/ -isystem /usr/local/x86_64-portbld-freebsd13.2/include -isystem /usr/local/x86_64-portbld-freebsd13.2/sys-include   -fno-checking -g -O2 -fno-checking -flto=jobserver -frandom-seed=1 -ffat-lto-objects -DLIBICONV_PLUG -static-libstdc++ -static-libgcc  conftest.c libcommon.a ../libcpp/libcpp.a   ../libbacktrace/.libs/libbacktrace.a ../libiberty/pic/libiberty.a ../libdecnumber/libdecnumber.a  >&5
/usr/local/bin/ld: cannot find libcommon.a: No such file or directory
/usr/local/bin/ld: cannot find ../libcpp/libcpp.a: No such file or directory
/usr/local/bin/ld: cannot find ../libbacktrace/.libs/libbacktrace.a: No such file or directory
/usr/local/bin/ld: cannot find ../libiberty/pic/libiberty.a: No such file or directory
/usr/local/bin/ld: cannot find ../libdecnumber/libdecnumber.a: No such file or directory
collect2: error: ld returned 1 exit status
configure:2607: $? = 1
configure:2645: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "m2"
| #define PACKAGE_TARNAME "m2"
| #define PACKAGE_VERSION " "
| #define PACKAGE_STRING "m2  "
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:2650: error: in `/usr/obj/usr/ports/lang/gcc13/work/.build/gcc/m2':
configure:2653: error: C compiler cannot create executables
See `config.log' for more details

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_build=amd64-unknown-freebsd13.2
ac_cv_env_CC_set=set
ac_cv_env_CC_value='/usr/obj/usr/ports/lang/gcc13/work/.build/./prev-gcc/xgcc -B/usr/obj/usr/ports/lang/gcc13/work/.build/./prev-gcc/ -B/usr/local/x86_64-portbld-freebsd13.2/bin/ -B/usr/local/x86_64-portbld-freebsd13.2/bin/ -B/usr/local/x86_64-portbld-freebsd13.2/lib/ -isystem /usr/local/x86_64-portbld-freebsd13.2/include -isystem /usr/local/x86_64-portbld-freebsd13.2/sys-include   -fno-checking'
ac_cv_env_CFLAGS_set=set
ac_cv_env_CFLAGS_value='-g -O2 -fno-checking -flto=jobserver -frandom-seed=1 -ffat-lto-objects'
ac_cv_env_CPPFLAGS_set=set
ac_cv_env_CPPFLAGS_value=-DLIBICONV_PLUG
ac_cv_env_CPP_set=set
ac_cv_env_CPP_value=cpp
ac_cv_env_LDFLAGS_set=set
ac_cv_env_LDFLAGS_value='-static-libstdc++ -static-libgcc '
ac_cv_env_LIBS_set=set
ac_cv_env_LIBS_value='libcommon.a ../libcpp/libcpp.a   ../libbacktrace/.libs/libbacktrace.a ../libiberty/pic/libiberty.a ../libdecnumber/libdecnumber.a '
ac_cv_env_build_alias_set=''
ac_cv_env_build_alias_value=''
ac_cv_env_host_alias_set=''
ac_cv_env_host_alias_value=''
ac_cv_env_target_alias_set=set
ac_cv_env_target_alias_value=x86_64-portbld-freebsd13.2
ac_cv_host=amd64-unknown-freebsd13.2
ac_cv_prog_ac_ct_CC='/usr/obj/usr/ports/lang/gcc13/work/.build/./prev-gcc/xgcc -B/usr/obj/usr/ports/lang/gcc13/work/.build/./prev-gcc/ -B/usr/local/x86_64-portbld-freebsd13.2/bin/ -B/usr/local/x86_64-portbld-freebsd13.2/bin/ -B/usr/local/x86_64-portbld-freebsd13.2/lib/ -isystem /usr/local/x86_64-portbld-freebsd13.2/include -isystem /usr/local/x86_64-portbld-freebsd13.2/sys-include   -fno-checking'
ac_cv_target=x86_64-portbld-freebsd13.2
Comment 9 Gerald Pfeifer freebsd_committer freebsd_triage 2023-12-23 07:46:44 UTC
(In reply to Curtis Hamilton from comment #7)
> Yes, m2 builds on FreeBSD, it has for sometime. I worked with the
> developer in his development efforts.

It's not supported by the lang/gcc* ports, though.

I'm not saying it shouldn't, just that this is a feature request, not
a (valid) bug report, and the best chance looking at the number of 
issues Lorenzo has to work through is for someone to provide a working
patch.
Comment 10 Mehul Sanghvi 2024-02-25 19:47:21 UTC
I am able to compile gcc-13.2.0 outside of port with modula-2 support enabled.  Of course my configure is different from the configure used in ports.  Except for --prefix and --enable-languages everything else is just the defaults.


I tried a compilation, it fails, but that's fine, I'm sure its not picking up something somewhere.  The point is that modula-2 support does compile.  I'm going to see what happens if I use FreeBSD configuration options outside of ports, based on output of /usr/local/bin/gcc13 -v

Here's the result of my compile:

 % /tmp/gcc/usr/sww/bin/gm2 -o hello-modula2 ~/Devel/hello.mod -v
Driving: /tmp/gcc/usr/sww/bin/gm2 -o hello-modula2 /home/mehul/Devel/hello.mod -v -fm2-pathname=- -fm2-pathnameI. -fgen-module-list=- -fscaffold-dynamic -fscaffold-main -flibs=m2cor,m2log,m2pim,m2iso -fplugin=m2rte -l m2cor -l m2log -l m2pim -l m2iso -l stdc++ -l m -l pthread -shared-libgcc
new argc = 19, added_libraries = 7
Using built-in specs.
COLLECT_GCC=/tmp/gcc/usr/sww/bin/gm2
COLLECT_LTO_WRAPPER=/tmp/gcc/usr/sww/bin/../libexec/gcc/x86_64-unknown-freebsd13.2/13.2.0/lto-wrapper
Target: x86_64-unknown-freebsd13.2
Configured with: /home/mehul/src/gcc/gcc-13.2.0/configure --prefix=/usr/sww --enable-languages=c,c++,objc,fortran,lto,m2 --enable-stage1-languages=c,c++
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 13.2.0 (GCC)
COLLECT_GCC_OPTIONS='-o' 'hello-modula2' '-v' '-fm2-pathname=-' '-fm2-pathnameI.' '-fgen-module-list=-' '-fscaffold-dynamic' '-fscaffold-main' '-flibs=m2cor,m2log,m2pim,m2iso' '-fplugin=m2rte' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'hello-modula2-'
 /tmp/gcc/usr/sww/bin/../libexec/gcc/x86_64-unknown-freebsd13.2/13.2.0/cc1gm2 -v -iprefix /tmp/gcc/usr/sww/bin/../lib/gcc/x86_64-unknown-freebsd13.2/13.2.0/ -iplugindir=/tmp/gcc/usr/sww/bin/../lib/gcc/x86_64-unknown-freebsd13.2/13.2.0/plugin -quiet -dumpdir hello-modula2- -dumpbase hello.mod -dumpbase-ext .mod -mtune=generic -march=x86-64 -version -fm2-pathname=- -fm2-pathnameI. -fgen-module-list=- -fscaffold-dynamic -fscaffold-main -flibs=m2cor,m2log,m2pim,m2iso -fplugin=m2rte -fm2-pathname=- -fm2-pathnameI. /home/mehul/Devel/hello.mod -o /tmp//ccsfS2Kp.s
GNU Modula-2 (GCC) version 13.2.0 (x86_64-unknown-freebsd13.2)
	compiled by GNU C version 13.2.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Versions of loaded plugins:
 m2rte: Unknown version.
Compiling: /home/mehul/Devel/hello.mod
COLLECT_GCC_OPTIONS='-o' 'hello-modula2' '-v' '-fm2-pathname=-' '-fm2-pathnameI.' '-fgen-module-list=-' '-fscaffold-dynamic' '-fscaffold-main' '-flibs=m2cor,m2log,m2pim,m2iso' '-fplugin=m2rte' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'hello-modula2-'
 as -v -o /tmp//ccSk4VL3.o /tmp//ccsfS2Kp.s
GNU assembler version 2.40 (x86_64-portbld-freebsd13.2) using BFD version (GNU Binutils) 2.40
COMPILER_PATH=/tmp/gcc/usr/sww/bin/../libexec/gcc/x86_64-unknown-freebsd13.2/13.2.0/:/tmp/gcc/usr/sww/bin/../libexec/gcc/
LIBRARY_PATH=/tmp/gcc/usr/sww/bin/../lib/gcc/x86_64-unknown-freebsd13.2/13.2.0/:/tmp/gcc/usr/sww/bin/../lib/gcc/:/tmp/gcc/usr/sww/bin/../lib/gcc/x86_64-unknown-freebsd13.2/13.2.0/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-o' 'hello-modula2' '-v' '-fm2-pathname=-' '-fm2-pathnameI.' '-fgen-module-list=-' '-fscaffold-dynamic' '-fscaffold-main' '-flibs=m2cor,m2log,m2pim,m2iso' '-fplugin=m2rte' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'hello-modula2.'
 /tmp/gcc/usr/sww/bin/../libexec/gcc/x86_64-unknown-freebsd13.2/13.2.0/collect2 -plugin /tmp/gcc/usr/sww/bin/../libexec/gcc/x86_64-unknown-freebsd13.2/13.2.0/liblto_plugin.so -plugin-opt=/tmp/gcc/usr/sww/bin/../libexec/gcc/x86_64-unknown-freebsd13.2/13.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp//cc4IB2PC.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --eh-frame-hdr -m elf_x86_64_fbsd -V -dynamic-linker /libexec/ld-elf.so.1 -o hello-modula2 /usr/lib/crt1.o /usr/lib/crti.o /tmp/gcc/usr/sww/bin/../lib/gcc/x86_64-unknown-freebsd13.2/13.2.0/crtbegin.o -L/tmp/gcc/usr/sww/bin/../lib/gcc/x86_64-unknown-freebsd13.2/13.2.0 -L/tmp/gcc/usr/sww/bin/../lib/gcc -L/tmp/gcc/usr/sww/bin/../lib/gcc/x86_64-unknown-freebsd13.2/13.2.0/../../.. /tmp//ccSk4VL3.o -lm2cor -lm2log -lm2pim -lm2iso -lstdc++ -lm -lpthread -lgcc_s -lgcc -lc -lgcc_s -lgcc /tmp/gcc/usr/sww/bin/../lib/gcc/x86_64-unknown-freebsd13.2/13.2.0/crtend.o /usr/lib/crtn.o
GNU ld (GNU Binutils) 2.40
  Supported emulations:
   aix5ppc
   aix5rs6
   aixppc
   aixrs6
   alpha
   alphavms
   arcelf
   arclinux
   arclinux_nps
   arcv2elf
   arcv2elfx
   arm_wince_pe
   armelf
   armelf_fbsd
   armelf_fuchsia
   armelf_haiku
   armelf_linux
   armelf_linux_eabi
   armelf_linux_fdpiceabi
   armelf_nacl
   armelf_nbsd
   armelf_phoenix
   armelf_vxworks
   armelfb
   armelfb_fbsd
   armelfb_fuchsia
   armelfb_linux
   armelfb_linux_eabi
   armelfb_linux_fdpiceabi
   armelfb_nacl
   armelfb_nbsd
   armnto
   armpe
   avr1
   avr2
   avr25
   avr3
   avr31
   avr35
   avr4
   avr5
   avr51
   avr6
   avrtiny
   avrxmega1
   avrxmega2
   avrxmega3
   avrxmega4
   avrxmega5
   avrxmega6
   avrxmega7
   crisaout
   criself
   crislinux
   cskyelf
   cskyelf_linux
   d10velf
   d30v_e
   d30v_o
   d30velf
   elf32_dlx
   elf32_sparc
   elf32_sparc_sol2
   elf32_sparc_vxworks
   elf32_spu
   elf32_tic6x_be
   elf32_tic6x_elf_be
   elf32_tic6x_elf_le
   elf32_tic6x_le
   elf32_tic6x_linux_be
   elf32_tic6x_linux_le
   elf32am33lin
   elf32bfin
   elf32bfinfd
   elf32cr16
   elf32crx
   elf32epiphany
   elf32epiphany_4x4
   elf32fr30
   elf32frv
   elf32frvfd
   elf32ft32
   elf32ip2k
   elf32iq10
   elf32iq2000
   elf32lm32
   elf32lm32fd
   elf32lppc
   elf32lppclinux
   elf32lppcnto
   elf32lppcsim
   elf32m32c
   elf32mb_linux
   elf32mbel_linux
   elf32mcore
   elf32mep
   elf32metag
   elf32microblaze
   elf32microblazeel
   elf32moxie
   elf32mt
   elf32or1k
   elf32or1k_linux
   elf32ppc
   elf32ppc_fbsd
   elf32ppchaiku
   elf32ppclinux
   elf32ppcnto
   elf32ppcsim
   elf32ppcvxworks
   elf32ppcwindiss
   elf32rl78
   elf32rx
   elf32rx_linux
   elf32tilegx
   elf32tilegx_be
   elf32tilepro
   elf32vax
   elf32visium
   elf32xstormy16
   elf32xtensa
   elf32z80
   elf_i386
   elf_i386_be
   elf_i386_fbsd
   elf_i386_haiku
   elf_i386_ldso
   elf_i386_sol2
   elf_i386_vxworks
   elf_iamcu
   elf_s390
   h8300elf
   h8300elf_linux
   h8300helf
   h8300helf_linux
   h8300hnelf
   h8300self
   h8300self_linux
   h8300snelf
   h8300sxelf
   h8300sxelf_linux
   h8300sxnelf
   hppaelf
   hppalinux
   hppanbsd
   hppaobsd
   i386aout
   i386beos
   i386bsd
   i386go32
   i386lynx
   i386moss
   i386msdos
   i386nto
   i386pe
   i386pe_posix
   m32relf
   m32relf_linux
   m32rlelf
   m32rlelf_linux
   m68hc11elf
   m68hc11elfb
   m68hc12elf
   m68hc12elfb
   m68kelf
   m68kelfnbsd
   m9s12zelf
   mcorepe
   mn10200
   mn10300
   moxiebox
   msp430X
   msp430elf
   nds32belf
   nds32belf16m
   nds32belf_linux
   nds32elf
   nds32elf16m
   nds32elf_linux
   nios2elf
   nios2linux
   ns32knbsd
   pc532macha
   pdp11
   pjelf
   pjlelf
   ppcmacos
   pruelf
   score3_elf
   score7_elf
   sh
   shelf
   shelf_fd
   shelf_linux
   shelf_nbsd
   shelf_nto
   shelf_uclinux
   shelf_vxworks
   shl
   shlelf
   shlelf_fd
   shlelf_linux
   shlelf_nbsd
   shlelf_nto
   shlelf_vxworks
   shpe
   tic30coff
   tic3xcoff
   tic3xcoff_onchip
   tic4xcoff
   tic54xcoff
   v850
   v850_rh850
   vanilla
   vaxnbsd
   xgateelf
   z80
   z8001
   z8002
   aarch64cloudabi
   aarch64cloudabib
   aarch64elf
   aarch64elf32
   aarch64elf32b
   aarch64elfb
   aarch64fbsd
   aarch64fbsdb
   aarch64haiku
   aarch64linux
   aarch64linux32
   aarch64linux32b
   aarch64linuxb
   aarch64pe
   elf32_x86_64
   elf32b4300
   elf32bmip
   elf32bmipn32
   elf32briscv
   elf32briscv_ilp32
   elf32briscv_ilp32f
   elf32bsmip
   elf32btsmip
   elf32btsmip_fbsd
   elf32btsmipn32
   elf32btsmipn32_fbsd
   elf32ebmip
   elf32ebmipvxworks
   elf32elmip
   elf32elmipvxworks
   elf32l4300
   elf32lmip
   elf32loongarch
   elf32lr5900
   elf32lr5900n32
   elf32lriscv
   elf32lriscv_ilp32
   elf32lriscv_ilp32f
   elf32lsmip
   elf32ltsmip
   elf32ltsmip_fbsd
   elf32ltsmipn32
   elf32ltsmipn32_fbsd
   elf32mipswindiss
   elf64_aix
   elf64_ia64
   elf64_ia64_fbsd
   elf64_ia64_vms
   elf64_s390
   elf64_sparc
   elf64_sparc_fbsd
   elf64_sparc_sol2
   elf64alpha
   elf64alpha_fbsd
   elf64alpha_nbsd
   elf64bmip
   elf64bpf
   elf64briscv
   elf64briscv_lp64
   elf64briscv_lp64f
   elf64btsmip
   elf64btsmip_fbsd
   elf64hppa
   elf64loongarch
   elf64lppc
   elf64lppc_fbsd
   elf64lriscv
   elf64lriscv_lp64
   elf64lriscv_lp64f
   elf64ltsmip
   elf64ltsmip_fbsd
   elf64mmix
   elf64ppc
   elf64ppc_fbsd
   elf64rdos
   elf64tilegx
   elf64tilegx_be
   elf_mipsel_haiku
   elf_x86_64
   elf_x86_64_cloudabi
   elf_x86_64_fbsd
   elf_x86_64_haiku
   elf_x86_64_sol2
   hppa64linux
   i386pep
   mmo
/usr/local/bin/ld: /tmp/gcc/usr/sww/bin/../lib/gcc/x86_64-unknown-freebsd13.2/13.2.0/../../../libm2pim.so: undefined reference to `csinl'
/usr/local/bin/ld: /tmp/gcc/usr/sww/bin/../lib/gcc/x86_64-unknown-freebsd13.2/13.2.0/../../../libm2pim.so: undefined reference to `ctanl'
/usr/local/bin/ld: /tmp/gcc/usr/sww/bin/../lib/gcc/x86_64-unknown-freebsd13.2/13.2.0/../../../libm2pim.so: undefined reference to `ccosl'
collect2: error: ld returned 1 exit status