[Bug tools/26043] eu-addr2line debuginfo-path option with relative path doesn't find file:line information

mark at klomp dot org sourceware-bugzilla@sourceware.org
Tue May 26 20:11:45 GMT 2020


https://sourceware.org/bugzilla/show_bug.cgi?id=26043

--- Comment #4 from Mark Wielaard <mark at klomp dot org> ---
(In reply to devel.origin from comment #2)
> The debug info is in the .build-id/ dir: ../../demo/build/.build-id/ab/...
> 
> Seems consistent with what the comment says. Should I make a real test
> example (the current is just a very good fictional one)?

If you could create a reproducer that would be great.

I think the issue is that the build-id searches simply skip relative
directories. Specifically this in libdwfl/dwfl_build_id_find_elf.c:

      /* Only absolute directory names are useful to us.  */ 
      if (dir[0] != '/') 
        continue; 

While for find-debuginfo.c we have:

          /* A relative path says to try a subdirectory of that name 
             in the main file's directory.  */ 

I believe the idea is that lookups by build-id can be done without having a
(main) file. While file based lookup always starts with a (main) file, and
relative paths can be resolved based on the main file directory.

It might make sense to try build-id lookups using the same relative path logic
if we do have a (main) file to start with.

BTW. How did you end up with this setup?
Is there a development tool that creates a structure like that?

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Elfutils-devel mailing list