https://sourceware.org/bugzilla/show_bug.cgi?id=26043
Mark Wielaard <mark at klomp dot org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mark at klomp dot org --- Comment #1 from Mark Wielaard <mark at klomp dot org> --- Could you show what is under the demo/build directory? I am trying to understand where the DWARF debug data is. Is it in the main binaries, in separate .debug files in the directory of the main binary, in a separate file in a separate directory, are the main binaries using build-ids and/or .gnu.debuglink sections? --debuginfo-path (for utilities using dwfl_standard_argp) will set the .debuginfo_path of the Dwfl_callbacks. This is then used to find debug files. The way these paths are used is as follows (from libdwfl.h): /* These standard find_elf and find_debuginfo callbacks are controlled by a string specifying directories to look in. If `debuginfo_path' is set in the Dwfl_Callbacks structure and the char * it points to is not null, that supplies the string. Otherwise a default path is used. If the first character of the string is + or - that enables or disables CRC32 checksum validation when it's necessary. The remainder of the string is composed of elements separated by colons. Each element can start with + or - to override the global checksum behavior. This flag is never relevant when working with build IDs, but it's always parsed in the path string. The remainder of the element indicates a directory. Searches by build ID consult only the elements naming absolute directory paths. They look under those directories for a link named ".build-id/xx/yy" or ".build-id/xx/yy.debug", where "xxyy" is the lower-case hexadecimal representation of the ID bytes. In searches for debuginfo by name, if the remainder of the element is empty, the directory containing the main file is tried; if it's an absolute path name, the absolute directory path (and any subdirectory of that path) containing the main file is taken as a subdirectory of this path; a relative path name is taken as a subdirectory of the directory containing the main file. Hence for /usr/bin/ls, the default string ":.debug:/usr/lib/debug" says to look in /usr/bin, then /usr/bin/.debug, then the path subdirs under /usr/lib/debug, in the order /usr/lib/debug/usr/bin, then /usr/lib/debug/bin, and finally /usr/lib/debug, for the file name in the .gnu_debuglink section (or "ls.debug" if none was found). */ -- You are receiving this mail because: You are on the CC list for the bug.