Sorry about the newby posting. My momma always tells me "check the
FAQ first", but I just never listen ;-)
It would be nice to have valgrind check with ldd and print an
informative message. It's usually a minor inconvenience to change
makefiles and/or massage library repositories to eliminate the need
for -static. That's really a pretty small price to pay for the
ability to Valgrind your code.
I don't think you would need a "dummy" shared library. I think
that as long as you don't explicitly use -static in the link line
that the glibc will be linked shared anyway providing the one
required shared object. My code only links to specified static
libraries, so the system libraries must get linked as .so.
Gao, Jiafu wrote:
>>Doesn't seem like much of an improvement to me... the user still has to
>>static linking causing problems. Once they know that, it's
>>rarely(?) a problem to fix it.
>How about if the user program just have static libraries? It would be
>inconvinent to change the
>obtain a .so library (if he can) and make file just to use valgrind. The
>user also has to change
>the make back if he want to keep the program works as before. It is true the
>user has to change
>the makefile to use the dummy .so, but it is only one time change.
>>I think a better alternative is to use a patch Olly Betts submitted a
>while back: it makes Valgrind's startup script check with 'ldd' whether the
>program is statically linked, and aborts with a helpful explanatory message
>if so. Can anyone see any problems with this? If not, I'll consider
>I like this. How about we do both? :-)
>This message (including any attachments) contains confidential information
>intended for a specific individual and purpose, and is protected by law. If
>you are not the intended recipient, you should delete this message. Any
>disclosure, copying, or distribution of this message, or the taking of any
>action based on it, is strictly prohibited.
National Space Science & Technology Center
University of Alabama in Huntsville
320 Sparkman Drive
Huntsville, AL 35805