Bug 244603 - emulators/virtualbox-ose: use contemporary GCC instead of old llvm
Summary: emulators/virtualbox-ose: use contemporary GCC instead of old llvm
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Virtualbox Team (Nobody)
URL: https://reviews.freebsd.org/D23967
Keywords:
Depends on:
Blocks: 236616
  Show dependency treegraph
 
Reported: 2020-03-05 04:25 UTC by Kyle Evans
Modified: 2020-03-23 11:50 UTC (History)
2 users (show)

See Also:
bugzilla: maintainer-feedback? (vbox)


Attachments
svn(1) diff against the ports tree (17.07 KB, patch)
2020-03-05 04:25 UTC, Kyle Evans
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Kyle Evans freebsd_committer freebsd_triage 2020-03-05 04:25:03 UTC
Created attachment 212150 [details]
svn(1) diff against the ports tree

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 GCC9. USE_GCC= any is not sufficient, as GCC8 doesn't support the feature used by atomic.h. The patches that were previously applied if COMPILER_TYPE == clang are actually needed by GCC9 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 tested by madpilot@
Comment 1 commit-hook freebsd_committer freebsd_triage 2020-03-12 00:42:17 UTC
A commit references this bug:

Author: kevans
Date: Thu Mar 12 00:41:34 UTC 2020
New revision: 528258
URL: https://svnweb.freebsd.org/changeset/ports/528258

Log:
  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)
  Differential Revision:	https://reviews.freebsd.org/D23967

Changes:
  head/emulators/virtualbox-ose/Makefile
  head/emulators/virtualbox-ose/files/extrapatch-Config.kmk
  head/emulators/virtualbox-ose/files/extrapatch-src-VBox-Devices-PC-ipxe-Makefile.kmk
  head/emulators/virtualbox-ose/files/extrapatch-src-recompiler-Makefile.kmk
  head/emulators/virtualbox-ose/files/patch-Config.kmk
  head/emulators/virtualbox-ose/files/patch-src-VBox-Devices-PC-ipxe-Makefile.kmk
  head/emulators/virtualbox-ose/files/patch-src-recompiler-Makefile.kmk
Comment 2 commit-hook freebsd_committer freebsd_triage 2020-03-12 00:45:19 UTC
A commit references this bug:

Author: kevans
Date: Thu Mar 12 00:44:46 UTC 2020
New revision: 528259
URL: https://svnweb.freebsd.org/changeset/ports/528259

Log:
  MFH: r528258

  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)
  Differential Revision:	https://reviews.freebsd.org/D23967

  Approved by:	ports-secteam (blanket: build fix)

Changes:
_U  branches/2020Q1/
  branches/2020Q1/emulators/virtualbox-ose/Makefile
  branches/2020Q1/emulators/virtualbox-ose/files/extrapatch-Config.kmk
  branches/2020Q1/emulators/virtualbox-ose/files/extrapatch-src-VBox-Devices-PC-ipxe-Makefile.kmk
  branches/2020Q1/emulators/virtualbox-ose/files/extrapatch-src-recompiler-Makefile.kmk
  branches/2020Q1/emulators/virtualbox-ose/files/patch-Config.kmk
  branches/2020Q1/emulators/virtualbox-ose/files/patch-src-VBox-Devices-PC-ipxe-Makefile.kmk
  branches/2020Q1/emulators/virtualbox-ose/files/patch-src-recompiler-Makefile.kmk
Comment 3 Gleb Popov freebsd_committer freebsd_triage 2020-03-23 07:33:53 UTC
VirtualBox GUI now segfaults on start (on FreeBSD 12.1, at least). I wonder if it is the cause.
Comment 4 Kyle Evans freebsd_committer freebsd_triage 2020-03-23 11:50:38 UTC
(In reply to Gleb Popov from comment #3)

Indeed, there's an open PR about it elsewhere. I'm frantically working on bissecting llvm to see if I can figure out where newer versions are broken.