After building uclibc-1.0.31 with AddressSanitizer enabled (gcc7.3 and 8.2), asan complains at runtime that it's not the first library in the so-list.
With a breakpoint on AsanCheckDynamicRTPrereqs which calls __dl_iterate_phdr, I see the first module that uClibc returns has info->libname = "/home/user/myapp", while on glibc-2.27, libname is an empty string. ASAN depends on seeing this empty string.
Should __dl_iterate_phdr return an empty string here, or is there an alternative to get asan-enabled uClibc toolchains ?
Thanks.
FWIW, the patch I am currently using is attached.
Bogdan
On Fri, Mar 22, 2019 at 11:38 AM Bogdan Harjoc harjoc@gmail.com wrote:
After building uclibc-1.0.31 with AddressSanitizer enabled (gcc7.3 and 8.2), asan complains at runtime that it's not the first library in the so-list.
With a breakpoint on AsanCheckDynamicRTPrereqs which calls __dl_iterate_phdr, I see the first module that uClibc returns has info->libname = "/home/user/myapp", while on glibc-2.27, libname is an empty string. ASAN depends on seeing this empty string.
Should __dl_iterate_phdr return an empty string here, or is there an alternative to get asan-enabled uClibc toolchains ?
Thanks.