revamp sdt.h
Stan Cox
scox@redhat.com
Wed Sep 8 15:44:00 GMT 2010
> semaphore feature.
Ah sorry about that; didn't realize you were seeking that kind of feedback.
Interpreters, java in particular, tcl and perhaps python to a lesser degree
use #ifdef IS_JAVA_PROBEA_ENABLED(), as I understand it, to avoid runtime
probe argument setup overhead, so the semaphore feature was added to implement
*ENABLED.
> The includes magic changes I made for the tests were done quite carefully,
> and I did test them (using runcheck but not installcheck), so I'm surprised
> you had issues I didn't see. It's all rather subtle, so I think it's wise
> to discuss any such changes rather than just sweep them in. (I suppose I
> should have done so.) And, frankly, for anything that even might either be
> subtle or ever be important, commits with a log explanation of "Tweak it"
> are just inadequate.
> Those paths need to be exactly just right to have installcheck actually
> test the installed headers so we can know they got installed properly,
> which is its purpose. For the runcheck case, they need to be differently
> exactly just right to have it find the right headers in the build and
> source directories and no others. For both cases, it's important that they
> be found in an -isystem path so that -pedantic doesn't emit meaningless
> stupid warnings that there is no other way to suppress (until GCC is fixed).
What I missed initially when I ran with installcheck, which I caught later
when hand compiling with gcc -v, was the systemtap.exp use of -isystem=${dir}.
For gcc 4.4.4 20100630 on FC13, gcc tries to use an include directory
called =/path/to/include/dir (with the '=') and then ignores it since it
doesn't exist. Offhand I would think that if --sysroot were not specified
then gcc might just ignore '=', but it doesn't. So systemtap.exp is now
exactly what you had plus 1) add env to global 2) remove '=' from -isystem
setup. Hmm, good point about -pedantic.
More information about the Systemtap
mailing list