[lld] r257753 - [ELF] - implemented --eh-frame-hdr command line option.

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 14 12:27:36 PST 2016


Let me roll it back for now. With this patch, we cannot link Clang with LLD
anymore.

On Thu, Jan 14, 2016 at 11:30 AM, Simon Atanasyan via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> On Thu, Jan 14, 2016 at 8:14 PM, George Rimar <grimar at accesssoftek.com>
> wrote:
> >>
> >>crtend.o file has .eh_frame section four byte length filled by zero.
> >>If i do not make a mistake after this commit LLD crashes on this
> >>section with "corrupted or unsupported CIE information" error.
> >>...
> >>
> >>--
> >>Simon Atanasyan
> >
> > Hello, Simon,
> > thanks for info !
> >
> > The case you're pointing really looks like a special case which we
> should support.
> > I`ll take a look closer on it tomorrow if you dont mind.
> >
> > As far as I know both bfd and gold just drop the creation of
> eh_frame_hdr if are not able to parse something in eh_frame.
> > We did it in another way. We assume that inputs should be correct and
> just exit with error.
> > I wonder if this is the only such exception we can meet in real life ?
> Currently lld will error exit on all corrupted/unsupported eh_frames if
> --eh-frame-hdr is specified.
>
> I think this case is a standard. FDE has multiple 'required' fields
> but the first field "Length" has the following description:
> [[
> A 4 byte unsigned value indicating the length in bytes of the CIE
> structure, not including the Length field itself... If Length contains
> the value 0, then this CIE shall be considered a terminator and
> processing shall end.
> ]]
>
> https://refspecs.linuxfoundation.org/LSB_3.0.0/LSB-PDA/LSB-PDA/ehframechpt.html
>
> Here is one more reference link. Look at the line 656.
> https://github.com/gcc-mirror/gcc/blob/master/libgcc/crtstuff.c#L656
>
> --
> Simon Atanasyan
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160114/d3ec7cb2/attachment.html>


More information about the llvm-commits mailing list