https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85905
Bug ID: 85905 Summary: cannot build for netbsd/alpha (with patch) Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: coypu at sdf dot org Target Milestone: --- Created attachment 44176 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44176&action=edit move linux specfile stuff to linux file. when I build trunk I get in libgomp/config.log cannot create executables: configure:3725: checking for C compiler default output file name configure:3747: /tmp/build/./gcc/xgcc -B/tmp/build/./gcc/ -B/usr/local/alpha--netbsd/bin/ -B/usr/local/alpha--netbsd/lib/ -isystem /usr/local/alpha--netbsd/include -isystem /usr/local/alpha--netbsd/sys-include --sysroot=/home/fly/alpha/destdir.alpha/ -g -O2 -mieee conftest.c >&5 /home/fly/alpha/tooldir.NetBSD-8.99.17-amd64/alpha--netbsd/bin/ld: cannot find crt1.o: No such file or directory collect2: error: ld returned 1 exit status I include two tm files that have effect on STARTFILE_SPEC definition. alpha/elf.h: #undef STARTFILE_SPEC #ifdef HAVE_LD_PIE #define STARTFILE_SPEC \ "%{!shared: %{pg|p:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}}\ crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" This is good for linux probably but I don't have crt1.o on netbsd. netbsd-elf.h #define NETBSD_STARTFILE_SPEC \ "%{!shared: \ %{pg:gcrt0%O%s} \ %{!pg: \ %{p:gcrt0%O%s} \ %{!p:crt0%O%s}}} \ %:if-exists(crti%O%s) \ %{static:%:if-exists-else(crtbeginT%O%s crtbegin%O%s)} \ %{!static: \ %{!shared:crtbegin%O%s} %{shared:crtbeginS%O%s}}" #undef STARTFILE_SPEC #define STARTFILE_SPEC NETBSD_STARTFILE_SPEC This should work for all netbsd targets. Attached is a patch to move alpha/elf.h definitions to linux. I've previously sent it to gcc-patches but it didn't work so well. I'll resend. https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00887.html I'm not very good at cross building and relying on netbsd's existing cross tools to do these checks (binutils etc.). I don't know how to set it up for openbsd, and they don't provide a similar toolchain. I have no alpha hardware of my own but I tested this on someone's machine then.