On 05/09/18 15:22, Joseph Myers wrote:
+gcn-run$(exeext): gcn-run.o
+       +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ $< -ldl

I'd expect this to fail on non-Unix configurations that don't have -ldl,
and thus to need appropriate conditionals / configure tests to avoid that
build failure.

We don't support any host system other than x86_64 linux. There are no drivers for any other system, and the offloaded datatypes need to be binary compatible, so even 32-bit x86 doesn't work.

I suppose someone might choose to compile things on an alternative system for running on a compatible system, in which case we'd want to simply skip this binary.

How does one normally do this?

A new port should add an appropriate entry to contrib/config-list.mk.
You should also verify that the port does build using that
contrib/config-list.mk entry, with the same version of GCC, built
natively, in the PATH, or equivalently that the port builds with the same
version of GCC, built natively, in the PATH, when you configure with
--enable-werror-always and the other options config-list.mk uses - this is
the cross-compiler equivalent of the native use of -Werror in the later
stages of bootstrap.  (Preferably verify this building for both 32-bit and
64-bit hosts, since it's easy to have warnings that only show up for one
but not the other.)

I didn't know about that one.

I see it uses "--enable-languages=all", but GCN is known to fail to build libstdc++ (exceptions and static constructors are not implemented), so I wouldn't expect the build to succeed.

Andrew

Reply via email to