diff -urp elfutils.4/libdwfl/core-file.c elfutils.t5/libdwfl/core-file.c
--- elfutils.4/libdwfl/core-file.c	2009-11-03 14:35:51.000000000 +0100
+++ elfutils.t5/libdwfl/core-file.c	2009-11-03 16:22:47.239624918 +0100
@@ -456,6 +456,7 @@ dwfl_core_file_report (Dwfl *dwfl, Elf *
   /* Now we have NT_AUXV contents.  From here on this processing could be
      used for a live process with auxv read from /proc.  */
 
+fprintf(stderr, "%s.%d: %s() dwfl_link_map_report ...\n", __FILE__, __LINE__, __func__);
   return dwfl_link_map_report (dwfl, auxv, auxv_size,
 			       dwfl_elf_phdr_memory_callback, elf);
 }
diff -urp elfutils.4/libdwfl/derelocate.c elfutils.t5/libdwfl/derelocate.c
--- elfutils.4/libdwfl/derelocate.c	2009-11-03 14:35:51.000000000 +0100
+++ elfutils.t5/libdwfl/derelocate.c	2009-11-03 21:54:46.420668447 +0100
@@ -288,14 +288,17 @@ dwfl_module_relocation_info (Dwfl_Module
 static bool
 check_module (Dwfl_Module *mod)
 {
+fprintf(stderr, "%s.%d: %s() dwfl_module_getsymtab ...\n", __FILE__, __LINE__, __func__);
   if (INTUSE(dwfl_module_getsymtab) (mod) < 0)
     {
       Dwfl_Error error = dwfl_errno ();
       if (error != DWFL_E_NO_SYMTAB)
 	{
 	  __libdwfl_seterrno (error);
+fprintf(stderr, "%s.%d: %s() dwfl_module_getsymtab returned error %d, we return true\n", __FILE__, __LINE__, __func__, (int)error);
 	  return true;
 	}
+fprintf(stderr, "%s.%d: %s() dwfl_module_getsymtab returned DWFL_E_NO_SYMTAB\n", __FILE__, __LINE__, __func__);
     }
 
   if (mod->dw == NULL)
@@ -307,11 +310,13 @@ check_module (Dwfl_Module *mod)
 	  if (error != DWFL_E_NO_DWARF)
 	    {
 	      __libdwfl_seterrno (error);
+fprintf(stderr, "%s.%d: %s() we return true\n", __FILE__, __LINE__, __func__);
 	      return true;
 	    }
 	}
     }
 
+fprintf(stderr, "%s.%d: %s() we return false\n", __FILE__, __LINE__, __func__);
   return false;
 }
 
@@ -355,6 +360,7 @@ find_section (Dwfl_Module *mod, Dwarf_Ad
 int
 dwfl_module_relocate_address (Dwfl_Module *mod, Dwarf_Addr *addr)
 {
+fprintf(stderr, "%s.%d: %s() check_module ...\n", __FILE__, __LINE__, __func__);
   if (unlikely (check_module (mod)))
     return -1;
 
@@ -382,12 +388,17 @@ Elf_Scn *
 dwfl_module_address_section (Dwfl_Module *mod, Dwarf_Addr *address,
 			     Dwarf_Addr *bias)
 {
+fprintf(stderr, "%s.%d: %s() check_module ...\n", __FILE__, __LINE__, __func__);
   if (check_module (mod))
+{fprintf(stderr, "%s.%d: %s() we return NULL (check_module != 0)\n", __FILE__, __LINE__, __func__);
     return NULL;
+}
 
   int idx = find_section (mod, address);
   if (idx < 0)
+{fprintf(stderr, "%s.%d: %s() we return NULL (idx < 0)\n", __FILE__, __LINE__, __func__);
     return NULL;
+}
 
   if (mod->reloc_info->refs[idx].relocs != NULL)
     {
@@ -402,11 +413,13 @@ dwfl_module_address_section (Dwfl_Module
       else
 	{
 	  __libdwfl_seterrno (result);
+fprintf(stderr, "%s.%d: %s() we return NULL (__libdwfl_relocate_section error)\n", __FILE__, __LINE__, __func__);
 	  return NULL;
 	}
     }
 
   *bias = mod->main.bias;
+fprintf(stderr, "%s.%d: %s() we return !NULL\n", __FILE__, __LINE__, __func__);
   return mod->reloc_info->refs[idx].scn;
 }
 INTDEF (dwfl_module_address_section)
diff -urp elfutils.4/libdwfl/dwfl_module_addrsym.c elfutils.t5/libdwfl/dwfl_module_addrsym.c
--- elfutils.4/libdwfl/dwfl_module_addrsym.c	2009-11-03 14:35:51.000000000 +0100
+++ elfutils.t5/libdwfl/dwfl_module_addrsym.c	2009-11-03 16:01:31.014625293 +0100
@@ -56,6 +56,7 @@ const char *
 dwfl_module_addrsym (Dwfl_Module *mod, GElf_Addr addr,
 		     GElf_Sym *closest_sym, GElf_Word *shndxp)
 {
+fprintf(stderr, "%s.%d: %s() dwfl_module_getsymtab ...\n", __FILE__, __LINE__, __func__);
   int syments = INTUSE(dwfl_module_getsymtab) (mod);
   if (syments < 0)
     return NULL;
diff -urp elfutils.4/libdwfl/dwfl_module_eh_cfi.c elfutils.t5/libdwfl/dwfl_module_eh_cfi.c
--- elfutils.4/libdwfl/dwfl_module_eh_cfi.c	2009-11-03 14:35:51.000000000 +0100
+++ elfutils.t5/libdwfl/dwfl_module_eh_cfi.c	2009-11-03 15:53:26.093624923 +0100
@@ -61,6 +61,7 @@ dwfl_module_eh_cfi (mod, bias)
   if (mod->eh_cfi != NULL)
     return mod->eh_cfi;
 
+fprintf(stderr, "%s.%d: %s() __libdwfl_getelf ...\n", __FILE__, __LINE__, __func__);
   __libdwfl_getelf (mod);
   if (mod->elferr != DWFL_E_NOERROR)
     {
diff -urp elfutils.4/libdwfl/dwfl_module_getdwarf.c elfutils.t5/libdwfl/dwfl_module_getdwarf.c
--- elfutils.4/libdwfl/dwfl_module_getdwarf.c	2009-11-03 14:35:51.000000000 +0100
+++ elfutils.t5/libdwfl/dwfl_module_getdwarf.c	2009-11-03 21:50:26.159923125 +0100
@@ -63,11 +63,14 @@ open_elf (Dwfl_Module *mod, struct dwfl_
     {
       /* If there was a pre-primed file name left that the callback left
 	 behind, try to open that file name.  */
+fprintf(stderr, "%s.%d: %s() file->name:'%s'\n", __FILE__, __LINE__, __func__, file->name);
       if (file->fd < 0 && file->name != NULL)
 	file->fd = TEMP_FAILURE_RETRY (open64 (file->name, O_RDONLY));
 
       if (file->fd < 0)
+{fprintf(stderr, "%s.%d: %s() returns CBFAIL: fd < 0\n", __FILE__, __LINE__, __func__);
 	return CBFAIL;
+}
 
       Dwfl_Error error = __libdw_open_file (&file->fd, &file->elf, true, false);
       if (error != DWFL_E_NOERROR)
@@ -128,10 +131,13 @@ __libdwfl_getelf (Dwfl_Module *mod)
       || mod->elferr != DWFL_E_NOERROR)	/* Cached failure.  */
     return;
 
+fprintf(stderr, "%s.%d: %s() find_elf ...\n", __FILE__, __LINE__, __func__);
   mod->main.fd = (*mod->dwfl->callbacks->find_elf) (MODCB_ARGS (mod),
 						    &mod->main.name,
 						    &mod->main.elf);
+fprintf(stderr, "%s.%d: %s() open_elf ...\n", __FILE__, __LINE__, __func__);
   mod->elferr = open_elf (mod, &mod->main);
+fprintf(stderr, "%s.%d: %s() open_elf returned\n", __FILE__, __LINE__, __func__);
 
   if (mod->elferr == DWFL_E_NOERROR && !mod->main.valid)
     {
@@ -220,6 +226,7 @@ find_debuginfo (Dwfl_Module *mod)
 							   debuglink_file,
 							   debuglink_crc,
 							   &mod->debug.name);
+fprintf(stderr, "%s.%d: %s() returns open_elf()\n", __FILE__, __LINE__, __func__);
   return open_elf (mod, &mod->debug);
 }
 
@@ -497,6 +504,7 @@ find_symtab (Dwfl_Module *mod)
       || mod->symerr != DWFL_E_NOERROR) /* Cached previous failure.  */
     return;
 
+fprintf(stderr, "%s.%d: %s() __libdwfl_getelf ...\n", __FILE__, __LINE__, __func__);
   __libdwfl_getelf (mod);
   mod->symerr = mod->elferr;
   if (mod->symerr != DWFL_E_NOERROR)
@@ -529,6 +537,7 @@ find_symtab (Dwfl_Module *mod)
 	  break;
 
 	case DWFL_E_CB:		/* The find_debuginfo hook failed.  */
+fprintf(stderr, "%s.%d: %s()\n", __FILE__, __LINE__, __func__);
 	  mod->symerr = DWFL_E_NO_SYMTAB;
 	  break;
 	}
@@ -593,6 +602,7 @@ __libdwfl_module_getebl (Dwfl_Module *mo
 {
   if (mod->ebl == NULL)
     {
+fprintf(stderr, "%s.%d: %s() __libdwfl_getelf ...\n", __FILE__, __LINE__, __func__);
       __libdwfl_getelf (mod);
       if (mod->elferr != DWFL_E_NOERROR)
 	return mod->elferr;
@@ -620,6 +630,7 @@ load_dw (Dwfl_Module *mod, struct dwfl_f
       if (error != DWFL_E_NOERROR)
 	return error;
 
+fprintf(stderr, "%s.%d: %s() find_symtab ...\n", __FILE__, __LINE__, __func__);
       find_symtab (mod);
       Dwfl_Error result = mod->symerr;
       if (result == DWFL_E_NOERROR)
@@ -661,6 +672,7 @@ find_dw (Dwfl_Module *mod)
       || mod->dwerr != DWFL_E_NOERROR) /* Cached previous failure.  */
     return;
 
+fprintf(stderr, "%s.%d: %s() __libdwfl_getelf ...\n", __FILE__, __LINE__, __func__);
   __libdwfl_getelf (mod);
   mod->dwerr = mod->elferr;
   if (mod->dwerr != DWFL_E_NOERROR)
@@ -691,6 +703,7 @@ find_dw (Dwfl_Module *mod)
       break;
 
     case DWFL_E_CB:		/* The find_debuginfo hook failed.  */
+fprintf(stderr, "%s.%d: %s()\n", __FILE__, __LINE__, __func__);
       mod->dwerr = DWFL_E_NO_DWARF;
       return;
 
@@ -736,11 +749,15 @@ dwfl_module_getsymtab (Dwfl_Module *mod)
   if (mod == NULL)
     return -1;
 
+fprintf(stderr, "%s.%d: %s() find_symtab ...\n", __FILE__, __LINE__, __func__);
   find_symtab (mod);
   if (mod->symerr == DWFL_E_NOERROR)
+{fprintf(stderr, "%s.%d: %s() we return mod->syments:%d\n", __FILE__, __LINE__, __func__, (int)mod->syments);
     return mod->syments;
+}
 
   __libdwfl_seterrno (mod->symerr);
+fprintf(stderr, "%s.%d: %s() we return -1\n", __FILE__, __LINE__, __func__);
   return -1;
 }
 INTDEF (dwfl_module_getsymtab)
diff -urp elfutils.4/libdwfl/dwfl_module_getelf.c elfutils.t5/libdwfl/dwfl_module_getelf.c
--- elfutils.4/libdwfl/dwfl_module_getelf.c	2009-11-03 14:35:51.000000000 +0100
+++ elfutils.t5/libdwfl/dwfl_module_getelf.c	2009-11-03 15:53:39.502624904 +0100
@@ -55,6 +55,7 @@ dwfl_module_getelf (Dwfl_Module *mod, GE
   if (mod == NULL)
     return NULL;
 
+fprintf(stderr, "%s.%d: %s() __libdwfl_getelf ...\n", __FILE__, __LINE__, __func__);
   __libdwfl_getelf (mod);
   if (mod->elferr == DWFL_E_NOERROR)
     {
diff -urp elfutils.4/libdwfl/dwfl_module_getsym.c elfutils.t5/libdwfl/dwfl_module_getsym.c
--- elfutils.4/libdwfl/dwfl_module_getsym.c	2009-11-03 14:35:51.000000000 +0100
+++ elfutils.t5/libdwfl/dwfl_module_getsym.c	2009-11-03 16:03:26.424625055 +0100
@@ -58,6 +58,7 @@ dwfl_module_getsym (Dwfl_Module *mod, in
 
   if (unlikely (mod->symdata == NULL))
     {
+fprintf(stderr, "%s.%d: %s() dwfl_module_getsymtab ...\n", __FILE__, __LINE__, __func__);
       int result = INTUSE(dwfl_module_getsymtab) (mod);
       if (result < 0)
 	return NULL;
diff -urp elfutils.4/libdwfl/link_map.c elfutils.t5/libdwfl/link_map.c
--- elfutils.4/libdwfl/link_map.c	2009-11-03 14:35:51.000000000 +0100
+++ elfutils.t5/libdwfl/link_map.c	2009-11-03 22:08:47.104659520 +0100
@@ -206,8 +206,14 @@ integrated_memory_callback (Dwfl *dwfl, 
   (void) INTUSE(dwfl_addrsegment) (dwfl, vaddr, &mod);
   if (mod == NULL)
     return false;
+fprintf(stderr, "%s.%d: %s() dwfl_addrsegment(vaddr:%llx) "
+"returns mod->name:'%s' mod->main.name:'%s'\n", __FILE__, __LINE__, __func__, (long long)vaddr,
+mod->name,
+mod->main.name
+);
 
   Dwarf_Addr bias;
+fprintf(stderr, "%s.%d: %s() dwfl_module_address_section ...\n", __FILE__, __LINE__, __func__);
   Elf_Scn *scn = INTUSE(dwfl_module_address_section) (mod, &vaddr, &bias);
   if (unlikely (scn == NULL))
     {
@@ -219,8 +225,10 @@ integrated_memory_callback (Dwfl *dwfl, 
 	  (dwfl, 0, buffer, buffer_available,
 	   vaddr - mod->main.bias, minread, mod->main.elf);
 #endif
+fprintf(stderr, "%s.%d: %s() we got scn == NULL and return false\n", __FILE__, __LINE__, __func__);
       return false;
     }
+fprintf(stderr, "%s.%d: %s() we got scn != NULL\n", __FILE__, __LINE__, __func__);
 
   Elf_Data *data = elf_rawdata (scn, NULL);
   if (unlikely (data == NULL))
@@ -339,7 +347,9 @@ report_r_debug (uint_fast8_t elfclass, u
   while (next != 0)
     {
       if (read_addrs (next, 4))
+{fprintf(stderr, "%s.%d: %s() we return -1 (read_addrs(%llx) error)\n", __FILE__, __LINE__, "report_r_debug", (long long)next);
 	return release_buffer (-1);
+}
 
       GElf_Addr l_addr = addrs[0];
       GElf_Addr l_name = addrs[1];
@@ -376,7 +386,9 @@ report_r_debug (uint_fast8_t elfclass, u
       Dwfl_Module *mod;
       int segndx = INTUSE(dwfl_addrsegment) (dwfl, l_ld, &mod);
       if (unlikely (segndx < 0))
+{fprintf(stderr, "%s.%d: %s() we return -1 (segndx:%d < 0)\n", __FILE__, __LINE__, "report_r_debug", segndx);
 	return release_buffer (-1);
+}
 
       if (mod != NULL)
 	{
@@ -438,6 +450,7 @@ report_r_debug (uint_fast8_t elfclass, u
 	}
     }
 
+fprintf(stderr, "%s.%d: %s() we return result:%d\n", __FILE__, __LINE__, "report_r_debug", result);
   return release_buffer (result);
 }
 
@@ -857,6 +870,7 @@ dwfl_link_map_report (Dwfl *dwfl, const 
       .memory_callback_arg = memory_callback_arg
     };
 
+fprintf(stderr, "%s.%d: %s() report_r_debug(integrated_memory_callback) ...\n", __FILE__, __LINE__, __func__);
   /* Now we can follow the dynamic linker's library list.  */
   return report_r_debug (elfclass, elfdata, dwfl, r_debug_vaddr,
 			 &integrated_memory_callback, &mcb);
diff -urp elfutils.4/libdwfl/offline.c elfutils.t5/libdwfl/offline.c
--- elfutils.4/libdwfl/offline.c	2009-11-03 14:35:51.000000000 +0100
+++ elfutils.t5/libdwfl/offline.c	2009-11-03 15:41:54.630624964 +0100
@@ -230,6 +230,7 @@ process_archive_member (Dwfl *dwfl, cons
 	  free (module_name);
 	  if (unlikely (want < 0))
 	    {
+fprintf(stderr, "%s.%d: %s()\n", __FILE__, __LINE__, __func__);
 	      __libdwfl_seterrno (DWFL_E_CB);
 	      goto fail;
 	    }
diff -urp elfutils.4/libdwfl/relocate.c elfutils.t5/libdwfl/relocate.c
--- elfutils.4/libdwfl/relocate.c	2009-11-03 14:35:51.000000000 +0100
+++ elfutils.t5/libdwfl/relocate.c	2009-11-03 16:02:33.496876904 +0100
@@ -82,7 +82,9 @@ __libdwfl_relocate_value (Dwfl_Module *m
       if ((*mod->dwfl->callbacks->section_address) (MODCB_ARGS (mod),
 						    name, shndx, refshdr,
 						    &refshdr->sh_addr))
+{fprintf(stderr, "%s.%d: %s() returns CBFAIL\n", __FILE__, __LINE__, __func__);
 	return CBFAIL;
+}
 
       if (refshdr->sh_addr == (Dwarf_Addr) -1l)
 	/* The callback indicated this section wasn't really loaded but we
@@ -166,6 +168,7 @@ relocate_getsym (Dwfl_Module *mod,
 	  /* We might not have looked for a symbol table file yet,
 	     when coming from __libdwfl_relocate_section.  */
 	  if (unlikely (mod->symfile == NULL)
+&& (fprintf(stderr, "%s.%d: %s() dwfl_module_getsymtab ...\n", __FILE__, __LINE__, __func__), 1)
 	      && unlikely (INTUSE(dwfl_module_getsymtab) (mod) < 0))
 	    return dwfl_errno ();
 
@@ -237,6 +240,7 @@ resolve_symbol (Dwfl_Module *referer, st
 	       If we just have no symbols in this module, no harm done.  */
 	    if (m->symdata == NULL
 		&& m->symerr == DWFL_E_NOERROR
+&& (fprintf(stderr, "%s.%d: %s() dwfl_module_getsymtab ...\n", __FILE__, __LINE__, __func__), 1)
 		&& INTUSE(dwfl_module_getsymtab) (m) < 0
 		&& m->symerr != DWFL_E_NO_SYMTAB)
 	      return m->symerr;
diff -urp elfutils.4/src/addr2line.c elfutils.t5/src/addr2line.c
--- elfutils.4/src/addr2line.c	2009-11-03 14:35:51.000000000 +0100
+++ elfutils.t5/src/addr2line.c	2009-11-03 16:01:35.830624938 +0100
@@ -370,6 +370,7 @@ find_symbol (Dwfl_Module *mod,
   const char *looking_for = ((void **) arg)[0];
   GElf_Sym *symbol = ((void **) arg)[1];
 
+fprintf(stderr, "%s.%d: %s() dwfl_module_getsymtab ...\n", __FILE__, __LINE__, __func__);
   int n = dwfl_module_getsymtab (mod);
   for (int i = 1; i < n; ++i)
     {
diff -urp elfutils.4/tests/dwfl-addr-sect.c elfutils.t5/tests/dwfl-addr-sect.c
--- elfutils.4/tests/dwfl-addr-sect.c	2009-11-03 14:35:51.000000000 +0100
+++ elfutils.t5/tests/dwfl-addr-sect.c	2009-11-03 16:07:06.026625320 +0100
@@ -43,6 +43,7 @@ handle_address (Dwfl *dwfl, Dwarf_Addr a
   Dwfl_Module *mod = dwfl_addrmodule (dwfl, address);
   Dwarf_Addr adjusted = address;
   Dwarf_Addr bias;
+fprintf(stderr, "%s.%d: %s() dwfl_module_address_section ...\n", __FILE__, __LINE__, __func__);
   Elf_Scn *scn = dwfl_module_address_section (mod, &adjusted, &bias);
   if (scn == NULL)
     {
