Bug 243664 - reverted r356513 and r356515 make world cross-buildable with GCC9
Summary: reverted r356513 and r356515 make world cross-buildable with GCC9
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: bin (show other bugs)
Version: CURRENT
Hardware: sparc64 Any
: --- Affects Only Me
Assignee: freebsd-bugs mailing list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-01-28 06:33 UTC by Michael Reim
Modified: 2020-01-28 06:33 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Reim 2020-01-28 06:33:51 UTC
The changes from r356513 were reverted in r356552 due to being untested. The same is true for r356515 and r35655. When re-applied to -CURRENT, it's possible to cross-build world using GCC9. There's a test failure regarding ZFS during buildworld, but I ignored that for now by defining WITHOUT_GOOGLETEST.

While the cross-built kernel works just fine, all binaries resulting from buildworld that I tested simply crash. I assume that this is why the patch was declared as "almost certainly insufficient".

Taking a look at replacing the native toolchain, I found that base/binutils works well and can built working 12-STABLE kernel and userland. However base/gcc6 results in a partly broken compiler. It does compile a simple "hello world" example, but trying to build e.g. ports shows that the compiler doesn't completely work. And since no unwinder is present there seems to not be too much interesting information in config.log.

I don't really know how to go on from here. If an experienced developer could give me a clue on what to do in such a situation, I'd happily continue poking at this. And should somebody be interested, I can also provide SSH access to a SPARC64 machine (either running 12-STABLE or a 13-CURRENT kernel but 12-STABLE userland).