HomeFreeBSD

Build recompiler with Clang if global register variable is supported.

Description

Build recompiler with Clang if global register variable is supported.

Note support for global register variable was proposed in the following
upstream code reviews:

https://reviews.llvm.org/D3261
https://reviews.llvm.org/D3797

and commits:

http://llvm.org/viewvc/llvm-project?view=revision&revision=208104
http://llvm.org/viewvc/llvm-project?view=revision&revision=209149

However, it has very limited support as described in the following upstream
PR in the gory details:

https://bugs.llvm.org/show_bug.cgi?id=31005

Although it is incomplete, I *believe* Clang 3.5 and later has just enough
code to support (ancient) QEMU-based recompiler. If you experience any VM
crash related to recompiler, e.g., "fatal error in recompiler cpu" in its
VBox.log, please let me know.

FYI, QEMU was rewritten not to use this GCC-specific feature long time ago:

http://lists.gnu.org/archive/html/qemu-devel/2011-05/msg00855.html
https://www.mail-archive.com/qemu-devel@nongnu.org/msg63834.html

Unfortunately, VirtualBox stopped merging code from QEMU for some time now.

Tested by: soralx@cydem.org

Details

Provenance
jkimAuthored on
Parents
rP450635: Mk/bsd.gecko.mk, multimedia/librespot: Fix version of Rust which started to…
Branches
Unknown
Tags
Unknown