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: Linking with external lib




On 09/06/2016 12:34 PM, David Smith wrote:
On 09/06/2016 02:08 PM, Mahmoud Hanafi wrote:

On 09/06/2016 11:55 AM, David Smith wrote:
On 09/06/2016 01:37 PM, Mahmoud Hanafi wrote:
In my stap script I have some embedded C function that needs to make
some calls to external libraries. Is there I can link my script with the
external libs? Or do i need to add all the code I need into my script.
Basically you can't. A systemtap script gets compiled into a kernel
module (assuming you are using the default 'linux' runtime). A kernel
module can't access *any* user library.

Perhaps you should back up a bit and let us know what your external
library is trying to do.

The library is part of lustre. I need the functions that does address
translation to string values.
Can you point me to the library/function on lustre.org that you are
interested in?

You can't really copy userspace C code into systemtap. Systemtap tries
very hard to handle memory accesses safely (since otherwise you can
crash the kernel). We might be able to "translate" the userspace C code
into embedded C.
the function is defined here
http://osxr.org:8080/linux/source/drivers/staging/lustre/lustre/libcfs/nidstrings.c#0382

"libcfs_nid2str"

It would be nice to compile in something like this, because if there are changes later in the function it wouldn't require stap script changes.


--
Mahmoud Hanafi
NASA Ames Research Center
Mail Stop 258-6
Bldg. 258
P.O. Box 1
Moffett Field, CA 94035-0001

Office: 650-604-1454
Cell: 510-386-0615


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