In article <583ee75a.8050...@netbsd.org>,
Nick Hudson wrote:
>On 11/30/16 14:37, Christos Zoulas wrote:
>> On Nov 30, 7:34am, sk...@netbsd.org (Nick Hudson) wrote:
>>
>
>[incorrect test deleted]
>
>> You did not define dlopen() in your own shared object; libasan needs to
>> do
On 11/30/16 14:37, Christos Zoulas wrote:
On Nov 30, 7:34am, sk...@netbsd.org (Nick Hudson) wrote:
[incorrect test deleted]
You did not define dlopen() in your own shared object; libasan needs to
do that to override the default definition. This is not the right test.
OK, so... add
On Nov 30, 7:34am, sk...@netbsd.org (Nick Hudson) wrote:
-- Subject: Re: dlopen interception on libasan
| Are you sure about RTLD_DEFAULT?
|
| zoom$ cat foo.c
| #include
|
| void *
| foo_rtld_default(void)
| {
| return dlsym(RTLD_DEFAULT, "dlopen");
| }
|
| void *
| foo
Well, the problem in PR/51670 is that with -fsanitizer=address the
dlopen interception is broken. libasan.so provides its own dlopen()
and then tries to find the real dlopen using dlsym(RTLD_NEXT,
"dlopen"). That does not work for NetBSD because dlopen in libc is
just a stub (that perhaps should