[Ltrace-devel] 0.7.0 released

Petr Machata pmachata at redhat.com
Fri Nov 9 23:37:08 UTC 2012


Andreas Schwab <schwab at linux-m68k.org> 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



More information about the Ltrace-devel mailing list