emulators/virtualbox-ose: use contemporary GCC instead of old llvm The bug in PR 236616 resulted in virtualbox getting pinned to llvm7. This is less than ideal, and in-fact has been broken by improvements to machine/atomic.h on x86 that require a more modern compiler. Switch the build to USE_GCC= any. The patches that were previously applied if COMPILER_TYPE == clang are actually needed by newer GCCs as well, so make those standard patches instead, folding the Config.kmk patches together. We should put some effort into testing llvm10 and working out why llvm breaks it, but fixing the build is more important at the moment. Q/A: * portlint (pre-existing issues; none in current patch) * testport (-CURRENT, amd64) * run testing by madpilot@ PR: 244603 Approved by: koobs (mentor), bapt (mentor) Approved by: portmgr (blanket: build fix) MFH: 2020Q1 (blanket: build fix)
USE_GCC= any is not sufficient, as GCC8 doesn't support the feature used by atomic.h.
Gcc 8 should... The docs for gcc 6 introduce the feature, and I specifically tried a test case with gcc 7, although I didn't actually try a kernel build.