svn commit: r297435 - head: still problems for stage 3 when gcc 4.2.1 is avoided (powerpc64 self-hosted build)

Mark Millard markmi at
Sat May 28 21:30:19 UTC 2016

On 2016-May-28, at 12:03 PM, Adrian Chadd <adrian.chadd at> wrote:

> [snip]
> hi,
> please don't patch the ports compiler assumptions about things like
> this. We should be targeting external toolchains on OSes (eg macosx)
> where it may already generate freebsd binaries and as such we should
> be calling the compiler/linker with all the flags it needs.
> Having a patched compiler default for mips made things way, way harder
> than it needed to be.
> -adrian

Are there specific technical examples of specific lessons learned from the "patched compiler default for mips" context?

Is there an intent to use /usr/src/. . . materials for buildworld/buildkernel and the like from a non-FreeBSD context? Are there examples?

Currently I'm just providing evidence that some FreeBSD committers have requested. I'm not a committer for FreeBSD or for upstream and will not be making any FreeBSD system or ports changes outside my personal context. I'm no direct risk to FreeBSD. So your note is more for the folks having me cross check xtoolchain and related behavior than for me.

Notes on my context. . . (stop reading if you do not care)

Unfortunately powerpc64 and powerpc still can not be clang based overall for buildworld/buildkernel.

I will say that in my use of devel/powerpc64-xtoolchain-gcc (and so devel/powerpc64-gcc ) to have a libc++ based FreeBSD on powerpc64 I've always had to have some form of work around to avoid /usr/local/include causing buildworld failures from use of the wrong files for buildworld purposes. I have either:

A) temporarily renamed files below /usr/local/include/ to avoid them being used (or otherwise blocked /usr/local/include access)


B) used C_INCLUDE_PATH and CPLUS_INCLUDE_PATH to cause the C/C++ compiles to look below /usr/include/ before looking below /usr/local/include/ . (I've also experimented with extra -I's and the like.)

So far I've not used devel/powerpc64-gcc to build ports under FreeBSD. So far I've only built ports from a self-hosted context (no cross-built ports). So I tend to use something like lang/gcc49 to build ports. I'm not likely to adopt a technique for building the likes of lang/gcc49 that messes up using it to build ports.

I normally self-host buildworld/buildkernel on a powerpc64 FreeBSD context, an odd use of devel/powerpc64-gcc . But I have at times also cross-built from an amd64 FreeBSD context and it also can have the "wrong files for buildworld" problem for /usr/local/include/ in FreeBSD.

I've never tried buildworld/buildkernel from a non-FreeBSD context and so have never built devel/powerpc64-gcc or anything like its configuration outside FreeBSD.

Mark Millard
markmi at

More information about the freebsd-current mailing list