Date: Mon, 14 Oct 2019 14:58:48 -0700 From: John Baldwin <jhb@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r353523 - head Message-ID: <fb38d8b3-7e1e-5393-56ea-df0405ff790a@FreeBSD.org> In-Reply-To: <201910142122.x9ELMgNj006103@repo.freebsd.org> References: <201910142122.x9ELMgNj006103@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 10/14/19 2:22 PM, John Baldwin wrote: > Author: jhb > Date: Mon Oct 14 21:22:42 2019 > New Revision: 353523 > URL: https://svnweb.freebsd.org/changeset/base/353523 > > Log: > Disconnect powerpc from the default tinderbox for now. > > The wrong toolchain was set in MAKE_PARAMS_powerpc, however, there are > some other issues preventing powerpc from building in tinderbox: > > 1) There is no powerpc-gcc and powerpc-xtoolchain-gcc port that > provides an external 32-bit powerpc GCC toolchain. > > 2) On other targets, the same toolchain can build all of the > architectures for a given target. MIPS achieves this by always > setting -mabi and -EB/-EL explicitly instead of relying on the > compiler's default architecture. PowerPC might be able to do the > same thing, but as of today, powerpc-gcc would be required for > powerpc and powerpcspe and powerpc64-gcc would be required for > powerpc64. Our existing logic for make universe does not permit > per-MACHINE_ARCH toolchains. > > I tried hacking TARGETS_powerpc to only include powerpc64 when > powerpc64-gcc was present, and while that skipped the 32-bit worlds, > it tried to build all the kernels. There are some options we could try for powerpc. If passing explicit compiler flags to select 32-bit vs 64-bit, etc. works so that we can use a single toolchain for all powerpc archs, then that would be the simplest approach. For MIPS this entailed changes in share/mk/bsd.cpu.mk (and some changes I now have in review in sys/conf/Makefile.mips). Some other gross hacks are that all the 32-bit kernel configs could be marked #NO_UNIVERSE=yes but this would turn them off always, not just unconditionally. At some point we might need to rework this file to require toolchains for a given TARGET_ARCH instead of a TARGET which would let us be more fine-grained. We might need this regardless as I expect mips n32 won't work with clang anytime soon even if other mips configs do, for example. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?fb38d8b3-7e1e-5393-56ea-df0405ff790a>