RFR: JDK-8198862 Stop doing funky compilation stuff for dtrace
Erik Joelsson
erik.joelsson at oracle.com
Thu Mar 1 22:50:03 UTC 2018
Hello,
I don't think you can remove the extra ( ) around the preprocessor
commands. I added those to avoid race conditions in JDK-8158629. My
conclusion then was that any command that redirected stdout needed to be
wrapped in ().
Otherwise this looks ok.
/Erik
On 2018-02-28 16:48, Magnus Ihse Bursie wrote:
> We're doing a lot of weird compilation stuff for dtrace. With this
> patch, most of the weirdness is removed. The remaining calls to $(CC)
> -E has been changed to $(CPP) to clarify that we do not compile, we
> just use the precompiler.
>
> One of the changes I made was to actually split up the last and final
> dtrace call into a separate preprocessing step. However, this uses the
> solaris studio preprocessor instead of the ancient system
> preprocessor, which has changed behavior. A string like (&``_var) is
> now expanded to (& ` ` _var), which is not accepted by dtrace. :-( I
> have worked around this by adding the preprocessed output, without the
> spaces, in two places. If anyone wants to dig deeper into dtrace
> script file syntax, or C preprocessor magic, to avoid this, let me
> know... (I'll just state that the "obvious" solution of sending -Xs to
> the preprocessor to get old-style behavior does not work: this just
> makes the solaris studio preprocessor call the ancient preprocessor in
> turn, and we've gained nothing...)
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8198862
> WebRev:
> http://cr.openjdk.java.net/~ihse/JDK-8198862-stop-doing-funky-dtrace-compilation-stuff/webrev.01
>
> /Magnus
>
More information about the hotspot-dev
mailing list