OSDN Git Service

Merge "Switch to using .debug_frame for CFI."
authorDavid Srbecky <dsrbecky@google.com>
Tue, 26 May 2015 21:46:40 +0000 (21:46 +0000)
committerGerrit Code Review <noreply-gerritcodereview@google.com>
Tue, 26 May 2015 21:46:41 +0000 (21:46 +0000)
1  2 
compiler/elf_writer_quick.cc

@@@ -43,17 -43,9 +43,18 @@@ namespace art 
  // it is used by C++ exception handling (which we do not use so we
  // can choose either).  C++ compilers generally tend to use .eh_frame
  // because if they need it sometimes, they might as well always use it.
- constexpr dwarf::CFIFormat kCFIFormat = dwarf::DW_EH_FRAME_FORMAT;
+ // Let's use .debug_frame because it is easier to strip or compress.
+ constexpr dwarf::CFIFormat kCFIFormat = dwarf::DW_DEBUG_FRAME_FORMAT;
  
 +// The ARM specification defines three special mapping symbols
 +// $a, $t and $d which mark ARM, Thumb and data ranges respectively.
 +// These symbols can be used by tools, for example, to pretty
 +// print instructions correctly.  Objdump will use them if they
 +// exist, but it will still work well without them.
 +// However, these extra symbols take space, so let's just generate
 +// one symbol which marks the whole .text section as code.
 +constexpr bool kGenerateSingleArmMappingSymbol = true;
 +
  template <typename ElfTypes>
  bool ElfWriterQuick<ElfTypes>::Create(File* elf_file,
                                        OatWriter* oat_writer,