Page MenuHomeFreeBSD

Add a USE_GCC_TOOLCHAINS knob to make universe.
ClosedPublic

Authored by jhb on Jul 19 2020, 8:48 PM.

Details

Summary

This uses GCC toolchains instead of LLVM on architectures supported by GCC.
Currently this uses GCC 6 on aarch64, amd64, i386, mips, and powerpc.

Test Plan
  • make tinderbox USE_GCC_TOOLCHAINS=yes, observe much breakage

Diff Detail

Lint
Lint Skipped
Unit
Unit Tests Skipped
Build Status
Buildable 32422
Build 29899: arc lint + arc unit

Event Timeline

jhb requested review of this revision.Jul 19 2020, 8:48 PM
jhb created this revision.
Makefile
521

powerpc-gcc6 doesn't exist, so this doesn't really work for powerpc yet. It does exist for GCC 9 (and I might try bumping to GCC9 next after fixing the current fallout)

532

This approach is still not ideal as it blocks "powerpc" if you don't have both toolchains installed. However, that is not really fixable without redoing universe entirely to be target_arch driven instead of target driven which seems like too much work.

Any thoughts? This (and all the fixes needed for GCC 6) have sat in review for 2 weeks with no feedback. I'll probably commit this in the next day or so barring feedback.

Seems fine to me, although what do we have to fix wrt powerpc-gcc6 before commit?

Seems fine to me, although what do we have to fix wrt powerpc-gcc6 before commit?

We'd have to create the flavor of gcc6. I'd rather spend time getting GCC9 working with it instead to be honest.

In D25732#577973, @jhb wrote:

Seems fine to me, although what do we have to fix wrt powerpc-gcc6 before commit?

We'd have to create the flavor of gcc6. I'd rather spend time getting GCC9 working with it instead to be honest.

I agree there's little point in spending effort on gcc6. Does this mean we're just going to hold this change for the foreseeable future?

In D25732#577973, @jhb wrote:

Seems fine to me, although what do we have to fix wrt powerpc-gcc6 before commit?

We'd have to create the flavor of gcc6. I'd rather spend time getting GCC9 working with it instead to be honest.

I agree there's little point in spending effort on gcc6. Does this mean we're just going to hold this change for the foreseeable future?

I already have another git branch off of this to switch to gcc9 and add more targets. For powerpc-gcc9 I need to back port a patch to the GCC port I think to deal with secure plt issues. However, not all the worlds yet build with GCC 9 though I think I have most of them working.

This revision was not accepted when it landed; it landed in state Needs Review.Aug 17 2020, 8:11 PM
This revision was automatically updated to reflect the committed changes.