David Young <dyo...@pobox.com> wrote: > On Mon, Dec 18, 2017 at 07:08:52PM +0000, David Holland wrote: >> In netbsd everything in libc with a name that isn't from Standard C >> (and thus not reusable by application code) is marked weak and aliased >> to a version of the name with a _ in front; also internal uses by libc >> are routed to those names so application use of conflicting symbols >> doesn't break libc. This is what libc's namespace.h is for, and >> somewhere there's actual documentation about it. >> >> The sanitizer libraries should be doing the same things, and >> apparently they aren't. > > They are on Linux (#else case, below) but not on FreeBSD. It sounds > like FreeBSD's dynamic linker has a (grave?) bug: see the comment on the > FreeBSD case. I hope we don't have the same bug in NetBSD! > > #elif defined(__FreeBSD__) [...] > // FreeBSD's dynamic linker (incompliantly) gives non-weak symbols higher > // priority than weak ones so weak aliases won't work for indirect calls > // in position-independent (-fPIC / -fPIE) mode. [...]
Is there a test-case / PR for that? -uwe