Emit DWARF3 call frame information when DWARF3+ debug info is requested

Oliver Stannard oliver.stannard at arm.com
Wed Jun 4 09:18:54 PDT 2014


Hi all,

Currently, llvm always emits a DWARF CIE with a version of 1, even when
emitting DWARF 3 or 4, which both support CIE version 3. This patch makes it
emit the newer CIE version when we are emitting DWARF 3 or 4. This will not
reduce compatibility, as we already emit other DWARF3/4 features, and is
worth doing as the DWARF3 spec removed some ambiguities in the
interpretation of call frame information.

It also fixes a minor bug where the "return address" field of the CIE was
encoded as a ULEB128, which is only valid when the CIE version is 3. There
are no test changes for this, because (as far as I can tell) none of the
platforms that we test have a return address register with a DWARF register
number >127.

Thanks,
Oliver
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dwarf3-call-frame-information.patch
Type: application/octet-stream
Size: 31616 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140604/564ec2d3/attachment.obj>


More information about the llvm-commits mailing list