diff options
author | Ryan Zezeski <[email protected]> | 2013-12-07 13:58:46 -0500 |
---|---|---|
committer | Ryan Zezeski <[email protected]> | 2013-12-07 14:39:41 -0500 |
commit | 635553bfcfdb33c337ece558240de3692920ca95 (patch) | |
tree | aa6fc06cf28a235ed6fde22b4cfcc2a85bf29b0d /lib/runtime_tools/c_src/dyntrace.c | |
parent | 0ce1af08e397ff1af25f6d3359ad5032f67bf7a8 (diff) | |
download | otp-635553bfcfdb33c337ece558240de3692920ca95.tar.gz otp-635553bfcfdb33c337ece558240de3692920ca95.tar.bz2 otp-635553bfcfdb33c337ece558240de3692920ca95.zip |
Fix DTrace build on Illumos
DTrace was recently patched in Illumos to fail to create an object
file if no probes are found.
* https://www.illumos.org/issues/4248
* https://github.com/illumos/illumos-gate/commit/54a20ab41aadcb81c53e72fc65886e964e9add59
This patch fixes two issues:
* Modify the configure script to pass an object file to `dtrace -G`
that actually invokes a probe.
* Remove creation of `dtrace_user.o` from the dyntrace Makefile. In a
previous commit [1] Scott Fritchie relocated all the user probes
into the VM proper due to difficulties with DTrace probes in shared
libraries. The `dtrace_user.d` file is now empty and generates a
header file with nothing in it. There is no longer any reason to
generate `dtrace_user.o` because all the probes are in the VM. Thus
all the steps for building `dtrace_user.o` have been removed.
[1]: https://github.com/erlang/otp/commit/75552bd3bb4e7f3cf4dab81a5c81cf73b1d3fb99
Diffstat (limited to 'lib/runtime_tools/c_src/dyntrace.c')
-rw-r--r-- | lib/runtime_tools/c_src/dyntrace.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/lib/runtime_tools/c_src/dyntrace.c b/lib/runtime_tools/c_src/dyntrace.c index eef03afd1c..18f91cd7e7 100644 --- a/lib/runtime_tools/c_src/dyntrace.c +++ b/lib/runtime_tools/c_src/dyntrace.c @@ -30,9 +30,6 @@ #if defined(USE_DYNAMIC_TRACE) && (defined(USE_DTRACE) || defined(USE_SYSTEMTAP)) #define HAVE_USE_DTRACE 1 #endif -#ifdef HAVE_USE_DTRACE -#include "dtrace_user.h" -#endif void dtrace_nifenv_str(ErlNifEnv *env, char *process_buf); void get_string_maybe(ErlNifEnv *env, const ERL_NIF_TERM term, char **ptr, char *buf, int bufsiz); |