OSDN Git Service

Support generation of CFI in .debug_frame format.
authorDavid Srbecky <dsrbecky@google.com>
Wed, 6 May 2015 17:27:35 +0000 (18:27 +0100)
committerDavid Srbecky <dsrbecky@google.com>
Tue, 19 May 2015 14:36:53 +0000 (15:36 +0100)
commitad5fa8c5b26a325dc2a9521b87188755046c17f3
tree1be28a827fe9e186196ad744eaa3438c1bea3f0a
parentcfee0507f26375fe048ed35f402e61f904db0095
Support generation of CFI in .debug_frame format.

.debug_frame section is almost identical to .eh_frame section.
There are only minor differences in the CIE and FDE headers.
The main difference is that .eh_frame is intended to be used
at runtime for exception handling and is therefore allocated
within the running program whereas .debug_frame is not.

This makes .debug_frame easier to remove using standard tools.
"objcopy --strip-debug" removes .debug_frame, but not .eh_frame.
(although objcopy can be still be forced to remove .eh_frame)

Similarly, we might want to separate the CFI to separate debug
file or include it as compressed .gnu_debugdata section.
It is more appropriate to use .debug_frame for this purpose.

Bug:20556771
Change-Id: I9d91a333b9fb37523fd6fafccfad89b21d2477af
compiler/cfi_test.h
compiler/dwarf/dwarf_constants.h
compiler/dwarf/dwarf_test.cc
compiler/dwarf/dwarf_test.h
compiler/dwarf/headers.h
compiler/elf_writer_debug.cc
compiler/elf_writer_debug.h
compiler/elf_writer_quick.cc
runtime/elf_file.cc