[PULL,v5,07/44] disable modular TCG on Darwin

Message ID 20210714150036.21060-8-alex.bennee@linaro.org
State Accepted
Commit a1b176f9046a94ae963099a055cde2323dc7c012
Headers show
Series
  • testing, build and plugin updates
Related show

Commit Message

Alex Bennée July 14, 2021, 2:59 p.m.
From: Paolo Bonzini <pbonzini@redhat.com>


Accelerator modularity does not work on Darwin:

ld: illegal thread local variable reference to regular symbol _current_cpu for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Fix by avoiding modular TCG builds.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

Message-Id: <20210712122208.456264-1-pbonzini@redhat.com>
[AJB: manually merged typo fix]
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>


-- 
2.20.1

Patch

diff --git a/meson.build b/meson.build
index b0e2b9a8a0..512ee2e926 100644
--- a/meson.build
+++ b/meson.build
@@ -92,7 +92,11 @@  if cpu in ['x86', 'x86_64']
   }
 endif
 
-modular_tcg = ['i386-softmmu', 'x86_64-softmmu']
+modular_tcg = []
+# Darwin does not support references to thread-local variables in modules
+if targetos != 'darwin'
+  modular_tcg = ['i386-softmmu', 'x86_64-softmmu']
+endif
 
 edk2_targets = [ 'arm-softmmu', 'aarch64-softmmu', 'i386-softmmu', 'x86_64-softmmu' ]
 install_edk2_blobs = false