aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2020-11-19 17:08:42 +0000
committerPeter Maydell <peter.maydell@linaro.org>2020-11-19 17:08:42 +0000
commit7fbd7e710323c8f4c5f6a38a8ae0e6726b5a4599 (patch)
treefdd78ee2f1785fb77e98d6d911cdb20b47dc70a5
parentff85db769ffd431f86d263d5e954e809a83be92f (diff)
parent4b265c79a85bb35abe19aacea6954c1616521639 (diff)
downloadqemu-7fbd7e710323c8f4c5f6a38a8ae0e6726b5a4599.zip
qemu-7fbd7e710323c8f4c5f6a38a8ae0e6726b5a4599.tar.gz
qemu-7fbd7e710323c8f4c5f6a38a8ae0e6726b5a4599.tar.bz2
Merge remote-tracking branch 'remotes/stefanha-gitlab/tags/tracing-pull-request' into staging
Pull request Fix --enable-modules --enable-trace-backends=dtrace with recent SystemTap releases. # gpg: Signature made Thu 19 Nov 2020 16:47:33 GMT # gpg: using RSA key 8695A8BFD3F97CDAAC35775A9CA4ABB381AB73C8 # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" [full] # gpg: aka "Stefan Hajnoczi <stefanha@gmail.com>" [full] # Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB 73C8 * remotes/stefanha-gitlab/tags/tracing-pull-request: trace: use STAP_SDT_V2 to work around symbol visibility Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rwxr-xr-xconfigure7
-rw-r--r--trace/meson.build4
2 files changed, 9 insertions, 2 deletions
diff --git a/configure b/configure
index 714e75b..796cec1 100755
--- a/configure
+++ b/configure
@@ -4832,6 +4832,13 @@ if have_backend "dtrace"; then
trace_backend_stap="no"
if has 'stap' ; then
trace_backend_stap="yes"
+
+ # Workaround to avoid dtrace(1) producing a file with 'hidden' symbol
+ # visibility. Define STAP_SDT_V2 to produce 'default' symbol visibility
+ # instead. QEMU --enable-modules depends on this because the SystemTap
+ # semaphores are linked into the main binary and not the module's shared
+ # object.
+ QEMU_CFLAGS="$QEMU_CFLAGS -DSTAP_SDT_V2"
fi
fi
diff --git a/trace/meson.build b/trace/meson.build
index d5fc45c..843ea14 100644
--- a/trace/meson.build
+++ b/trace/meson.build
@@ -38,13 +38,13 @@ foreach dir : [ '.' ] + trace_events_subdirs
trace_dtrace_h = custom_target(fmt.format('trace-dtrace', 'h'),
output: fmt.format('trace-dtrace', 'h'),
input: trace_dtrace,
- command: [ 'dtrace', '-o', '@OUTPUT@', '-h', '-s', '@INPUT@' ])
+ command: [ 'dtrace', '-DSTAP_SDT_V2', '-o', '@OUTPUT@', '-h', '-s', '@INPUT@' ])
trace_ss.add(trace_dtrace_h)
if host_machine.system() != 'darwin'
trace_dtrace_o = custom_target(fmt.format('trace-dtrace', 'o'),
output: fmt.format('trace-dtrace', 'o'),
input: trace_dtrace,
- command: [ 'dtrace', '-o', '@OUTPUT@', '-G', '-s', '@INPUT@' ])
+ command: [ 'dtrace', '-DSTAP_SDT_V2', '-o', '@OUTPUT@', '-G', '-s', '@INPUT@' ])
trace_ss.add(trace_dtrace_o)
endif