This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: revamp sdt.h



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.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]