Andreas Schwab <[email protected]> writes:

> I'm getting a lot of testsuite failures due to
>
> Couldn't determine base address of linux-vdso32.so.1
> Couldn't load ELF object linux-vdso32.so.1: No such file or directory

What architecture is this on?  Apparently l_name of VDSO in r_debug
linkmap isn't always simply an empty string.  Perhaps we should ignore
entries that don't have full pathname in l_name.  Does the following
fix it for you?

diff --git a/sysdeps/linux-gnu/proc.c b/sysdeps/linux-gnu/proc.c
index 9c864f3..344152e 100644
--- a/sysdeps/linux-gnu/proc.c
+++ b/sysdeps/linux-gnu/proc.c
@@ -504,7 +504,7 @@ crawl_linkmap(struct Process *proc, struct lt_r_debug_64 
*dbg)
                umovebytes(proc, (arch_addr_t)(uintptr_t)rlm.l_name,
                           lib_name, sizeof(lib_name));
 
-               if (*lib_name == '\0') {
+               if (*lib_name != '/') {
                        /* VDSO.  No associated file, XXX but we might
                         * load it from the address space of the
                         * process.  */

Thanks,
PM

_______________________________________________
Ltrace-devel mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/ltrace-devel

Reply via email to