bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: *** SPAM LEVEL 4.448 *** Dynamic linker behaviour difference between


From: Carlos O'Donell
Subject: Re: *** SPAM LEVEL 4.448 *** Dynamic linker behaviour difference between Linux, Hurd and FreeBSD
Date: Fri, 03 May 2013 11:17:26 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130311 Thunderbird/17.0.4

On 05/03/2013 11:11 AM, Simon Richter wrote:
> Hi,
> 
> I'm writing a small preload library to trace pthread_* calls, and am
> running into a bit of a chicken-and-egg problem.
> 
> In order to find the original function, I use dlsym(RTLD_NEXT, ...) to
> look up the symbol on the first invocation. On Linux, this works find,
> however on the Hurd and on FreeBSD, the libdl invokes pthread_once,
> which is then dispatched into my preload library, where I still haven't
> found the real function.
> 
> This could be due to a difference in dlsym() implementation (so it is
> sheer luck that it works on Linux), or a true behavioural difference
> between platforms.
> 
> In any case, I am wondering if it is actually possible to redirect the
> pthread_* functions in this way, or if a different approach is required.
> 
> LD_DEBUG=all output is attached for Linux (good) and FreeBSD (bad).
> Program source[1] is also available.

You need to reduce the problem to something smaller otherwise nobody
is going to look at your code.

Can you produce a small self-contained test case that shows the
expected versus observed behaviour?

Cheers,
Carlos.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]