On Mon, 2017-07-17 at 04:10 +0000, Sasha Da Rocha Pinheiro wrote: > [Resending cause it seems it didn't go]
Probably because it had an HTML attachement. The mailinglist rejects emails with HTML. > You understood what I need when you said: > "So you want to keep a vector with filenames for a particular CU. And > then given Dwarf_Lines you want to associate each Dwarf_Line with a > particular filename from that vector." > > I agree with this "But currently that is an implementation detail. " > But I don't see why this would change. Deliberately sort the files > names so it doesn't match with the lines? I don't think so. But newer versions of DWARF could have a different way of sharing the source files or directory table between CUs. The issue is that the index from the Dwarf_Lines only makes sense if you know which CU the corresponding Dwarf_Files came from. So instead of providing the relationship between a Dwarf_Line and a Dwarf_File I rather would not depend on something indirect like the index into some Dwarf_Files table. If we do provide it then I think we should be explicit about what it is an index into. So maybe a function like: extern int * dwarf_line_files (Dwarf_Line *line, Dwarf_Files **files, size_t *idx); Where files and idx are returned in a way that make them useful with dwarf_filesrc. Would the above be helpful for your usecase? Cheers, Mark