> -----Original Message-----
> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at
cs.uiuc.edu] On
> Behalf Of Rafael EspĂndola
> Sent: Monday, April 27, 2015 2:07 PM
> To: Jack Howarth
> Cc: LLVM Developers Mailing List
> Subject: Re: [LLVMdev] __eh_frame info changes in Clang?
>
> That looks like a bug.
>
> From
>
> http://www.linuxbase.org/betaspecs/lsb/LSB-Core-generic/LSB-Core-
> generic/ehframechpt.html
>
> Version
> A 1 byte value that identifies the version number of the frame
> information structure. This value shall be 1.
>
> This was introduced by r211272. We should probably be producing 1/3/4
> for .debug_frame, but only 1 for .eh_frame.
I expect that truly strict conformance would require that .eh_frame v1
should be emitted as-if DWARF v2, regardless of the DWARF version used
for the .debug_* sections.
Just for grins I'll point out that the AMD64 ABI specifies that the
version field is 1, but elsewhere suggests that the content of the
.eh_frame section is dependent on the DWARF version... which is not
specified anywhere in the .eh_frame section.
Kind of annoying, really.
--paulr
>
>
> On 10 April 2015 at 22:04, Jack Howarth <howarth.mailing.lists at
gmail.com>
> wrote:
> > Nick,
> > Do you happen to know why the version reported in 'dwarfdump
> > --eh-frame' for object files now differs when compiled with and
> > without -g? The test used in FSF gcc's configure produces a diff
of..
> >
> > % diff -u conftest.o.g.stripped.dwarfdump
> conftest.o.g0.stripped.dwarfdump
> > --- conftest.o.g.stripped.dwarfdump 2015-04-10 21:43:15.000000000
-0400
> > +++ conftest.o.g0.stripped.dwarfdump 2015-04-10 21:43:04.000000000
-0400
> > @@ -1,5 +1,5 @@
> >
----------------------------------------------------------------------
> > - File: conftest.o.g.stripped (x86_64)
> > + File: conftest.o.g0.stripped (x86_64)
> >
----------------------------------------------------------------------
> > Exception handling frame information for section __eh_frame
> >
> > when compiled with Clang 6.0 (3.5svn) but now produces...
> >
> > % diff -u conftest.o.g.stripped.dwarfdump
> conftest.o.g0.stripped.dwarfdump
> > --- conftest.o.g.stripped.dwarfdump 2015-04-10 21:42:02.000000000
-0400
> > +++ conftest.o.g0.stripped.dwarfdump 2015-04-10 21:41:52.000000000
-0400
> > @@ -1,12 +1,12 @@
> >
----------------------------------------------------------------------
> > - File: conftest.o.g.stripped (x86_64)
> > + File: conftest.o.g0.stripped (x86_64)
> >
----------------------------------------------------------------------
> > Exception handling frame information for section __eh_frame
> >
> > 0x00000000: CIE
> > length: 0x00000014
> > CIE_id: 0xffffffff
> > - version: 0x01
> > + version: 0x03
> > augmentation: "zR"
> > code_align: 1
> > data_align: -8
> >
> > when compiled with Clang 6.1 (3.6.0svn) or llvm.org clang 3.6.0. The
> > detailed steps to obtain those test files are listed at
> > https://llvm.org/bugs/show_bug.cgi?id=23192.
> > Jack
> > _______________________________________________
> > LLVM Developers mailing list
> > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev