Re: [DynInst_API:] rewritten binary returning symbol lookup error.


Date: Thu, 09 Jan 2014 11:20:57 -0600
From: Bill Williams <bill@xxxxxxxxxxx>
Subject: Re: [DynInst_API:] rewritten binary returning symbol lookup error.
On 01/09/2014 11:16 AM, J. Benton wrote:
On 1/9/14, 10:49 AM, Bill Williams wrote:
On 01/09/2014 02:55 AM, J. Benton wrote:
Hi everyone,

I'm wondering if you could help me.  Using the examples in the
programmer's manual as a guide, I generated a simple snippet, inserting
a printf call upon each call to a function. After the binary is
rewritten I get this error when it is executed:

symbol lookup error: /usr/lib/libdyninstAPI_RT.so: undefined symbol:
sizeOfAnyHeap1

/usr/lib/libdyninstAPI_RT.so exists.  I've set DYNINST_LIB to /usr/lib.

Any ideas?

sizeOfAnyHeap1 should show up in an nm of your libdyninstAPI_RT.so,
and libdyninstAPI_RT.so should show up in an ldd of your rewritten
binary, assuming that everything is working correctly. Are either of
those not the case for you?

That's a good point. The rewritten binary does not include any libraries
in the ldd list.  Modifying the binary generates an empty list in the
ldd, even when the original includes a few.

...okay, that's weird, and something that should throw some red flags to STDERR during the rewriting process I'd expect. If you're not getting any errors during the process, can you set SYMTAB_DEBUG_REWRITE=1 in your environment, regenerate the modified binary, and send us the log that produces?

Also, what version of Dyninst are you working with?

J.
_______________________________________________
Dyninst-api mailing list
Dyninst-api@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api



--
--bw

Bill Williams
Paradyn Project
bill@xxxxxxxxxxx
[← Prev in Thread] Current Thread [Next in Thread→]