<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glibc/elf/nextmod3.map, branch vdso</title>
<subtitle>Fork of glibc for development</subtitle>
<id>https://git.zx2c4.com/glibc/atom/elf/nextmod3.map?h=vdso</id>
<link rel='self' href='https://git.zx2c4.com/glibc/atom/elf/nextmod3.map?h=vdso'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/glibc/'/>
<updated>2022-05-27T19:34:49Z</updated>
<entry>
<title>dlsym: Make RTLD_NEXT prefer default version definition [BZ #14932]</title>
<updated>2022-05-27T19:34:49Z</updated>
<author>
<name>Fangrui Song</name>
<email>maskray@google.com</email>
</author>
<published>2022-05-27T19:34:49Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/glibc/commit/?id=efa7936e4c91b1c260d03614bb26858fbb8a0204'/>
<id>urn:sha1:efa7936e4c91b1c260d03614bb26858fbb8a0204</id>
<content type='text'>
When the first object providing foo defines both foo@v1 and foo@@v2,
dlsym(RTLD_NEXT, "foo") returns foo@v1 while dlsym(RTLD_DEFAULT, "foo")
returns foo@@v2.  The issue is that RTLD_DEFAULT uses the
DL_LOOKUP_RETURN_NEWEST flag while RTLD_NEXT doesn't.  Fix the RTLD_NEXT
branch to use DL_LOOKUP_RETURN_NEWEST.

Note: the new behavior matches FreeBSD rtld.  Future sanitizers will not
need to add versioned interceptors like https://reviews.llvm.org/D96348

Reviewed-by: Adhemerval Zanella  &lt;adhemerval.zanella@linaro.org&gt;
</content>
</entry>
</feed>
