[PATCH] D40950: [ELF] - Fail when multiple .debug_* sections are used in a single object.

James Henderson via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 12 09:04:49 PST 2017


Personally, I'm not aware of any fundamental reason why this can't be done.

On 12 December 2017 at 16:48, George Rimar <grimar at accesssoftek.com> wrote:

> >>Hi,
> >>
> >>My colleagues and I have actually been doing quite a bit of investigation
> >>in the past couple of weeks into what to do about debug data that refers
> to
> >>sections that are discarded due to --gc-sections etc. Currently, LLD
> treats
> >>the references as address zero, but at least on our platform, address
> zero
> >>is a valid address, so we were looking at alternatives. One of the ideas
> >>that I personally looked at was based on section E.3 of the DWARF4/5
> >>specifications, i.e. having a separate .debug_info section for each
> >>subprogram, each of which imports from a "main" .debug_info section
> >>containing shared information. I was able to prototype a change to LLVM
> >>that did this, without too much effort, given that I hadn't previously
> >>looked in that area of code before. I then had to modify LLD to recognise
> >>these new info sections as being dependent on the corresponding text
> >>section, which was a relatively simple change to make, thanks to the
> >>mechanism for dependent sections already being there. It didn't require
> >>inspecting the contents of the section, only the section name in my case
> >>(the sections in my experiment were named things like
> .debug_info._Z3foov).
> >>I also prototyped changes to llvm-dwarfdump to print the .debug_info for
> >>these multiple sections. Again, this was relatively simple, although I
> >>certainly didn't experiment beyond a very simply case. Similar
> >>investigations are being conducted for having multiple of other .debug_*
> >>sections.
> >>
> >>We haven't yet decided whether this is an approach we'd like to push for,
> >>as there are some downsides (e.g. larger debug information) but my point
> is
> >>that I wouldn't be so certain that we won't need to handle multiple
> >>.debug_info sections correctly in the relatively near term, so I'd much
> >>rather option 2).
> >>
> >>Regards,
> >>
> >>James>
> >
> >Hi James, sorry, only thing I can say atm that I did not see your mail
> until David replied.
> >I suspect something was wrong with our mail server, I'll answer this
> >tommorrow.
> >
> >George.
>
> James, David, given the comments and my feelings, I think we should just
> support multiple .debug_info* sections.
> It anyways not something that will be harmfull given the current latest
> DWARF specification it seems.
>
> Sorry if I am missing something, but can we just do it ? (I can take this
> task I believe, FWIW).
>
> George.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171212/5a16ec5e/attachment.html>


More information about the llvm-commits mailing list