diff options
| author | Chris Bieneman <beanz@apple.com> | 2016-12-20 22:36:42 +0000 |
|---|---|---|
| committer | Chris Bieneman <beanz@apple.com> | 2016-12-20 22:36:42 +0000 |
| commit | abecaa2f8c41cf44ab9362c90bfc059a22e90991 (patch) | |
| tree | cd5dfd854afd0fa9436d6acc1063d2de5780b2f6 /llvm/tools/yaml2obj | |
| parent | bd463120aba8c188c11aef17325876957b41bb7a (diff) | |
| download | bcm5719-llvm-abecaa2f8c41cf44ab9362c90bfc059a22e90991.tar.gz bcm5719-llvm-abecaa2f8c41cf44ab9362c90bfc059a22e90991.zip | |
Revert "[ObjectYAML] Support for DWARF debug_info section"
This reverts commit r290204.
Still breaking bots... In a meeting now, so I can't fix it immediately.
Bot URL:
http://lab.llvm.org:8011/builders/clang-s390x-linux/builds/2415
llvm-svn: 290209
Diffstat (limited to 'llvm/tools/yaml2obj')
| -rw-r--r-- | llvm/tools/yaml2obj/yaml2dwarf.cpp | 126 | ||||
| -rw-r--r-- | llvm/tools/yaml2obj/yaml2macho.cpp | 2 | ||||
| -rw-r--r-- | llvm/tools/yaml2obj/yaml2obj.h | 1 |
3 files changed, 0 insertions, 129 deletions
diff --git a/llvm/tools/yaml2obj/yaml2dwarf.cpp b/llvm/tools/yaml2obj/yaml2dwarf.cpp index 063a71adcf8..6096f4c5f19 100644 --- a/llvm/tools/yaml2obj/yaml2dwarf.cpp +++ b/llvm/tools/yaml2obj/yaml2dwarf.cpp @@ -17,8 +17,6 @@ #include "llvm/Support/LEB128.h" #include "llvm/Support/raw_ostream.h" -#include <algorithm> - using namespace llvm; void ZeroFillBytes(raw_ostream &OS, size_t Size) { @@ -82,127 +80,3 @@ void yaml2pubsection(raw_ostream &OS, const DWARFYAML::PubSection &Sect) { OS.write('\0'); } } - -void yaml2debug_info(raw_ostream &OS, const DWARFYAML::Data &DI) { - - for (auto CU : DI.CompileUnits) { - OS.write(reinterpret_cast<char *>(&CU.Length), 4); - OS.write(reinterpret_cast<char *>(&CU.Version), 2); - OS.write(reinterpret_cast<char *>(&CU.AbbrOffset), 4); - OS.write(reinterpret_cast<char *>(&CU.AddrSize), 1); - - auto FirstAbbrevCode = CU.Entries[0].AbbrCode; - - for (auto Entry : CU.Entries) { - encodeULEB128(Entry.AbbrCode, OS); - if(Entry.AbbrCode == 0u) - continue; - bool Indirect = false; - assert(Entry.AbbrCode-FirstAbbrevCode < DI.AbbrevDecls.size() && - "Out of range AbbCode"); - auto &Abbrev = DI.AbbrevDecls[Entry.AbbrCode-FirstAbbrevCode]; - - auto FormVal = Entry.Values.begin(); - auto AbbrForm = Abbrev.Attributes.begin(); - for (; - FormVal != Entry.Values.end() && AbbrForm != Abbrev.Attributes.end(); - ++FormVal, ++AbbrForm) { - dwarf::Form Form = AbbrForm->Form; - do { - bool Indirect = false; - switch (Form) { - case dwarf::DW_FORM_addr: - OS.write(reinterpret_cast<char *>(&FormVal->Value), CU.AddrSize); - break; - case dwarf::DW_FORM_ref_addr: { - // TODO: Handle DWARF32/DWARF64 after Line Table data is done - auto writeSize = CU.Version == 2 ? CU.AddrSize : 4; - OS.write(reinterpret_cast<char *>(&FormVal->Value), writeSize); - break; - } - case dwarf::DW_FORM_exprloc: - case dwarf::DW_FORM_block: - encodeULEB128(FormVal->BlockData.size(), OS); - OS.write(reinterpret_cast<char *>(&FormVal->BlockData[0]), - FormVal->BlockData.size()); - break; - case dwarf::DW_FORM_block1: { - auto writeSize = FormVal->BlockData.size(); - OS.write(reinterpret_cast<char *>(&writeSize), 1); - OS.write(reinterpret_cast<char *>(&FormVal->BlockData[0]), - FormVal->BlockData.size()); - break; - } - case dwarf::DW_FORM_block2: { - auto writeSize = FormVal->BlockData.size(); - OS.write(reinterpret_cast<char *>(&writeSize), 2); - OS.write(reinterpret_cast<char *>(&FormVal->BlockData[0]), - FormVal->BlockData.size()); - break; - } - case dwarf::DW_FORM_block4: { - auto writeSize = FormVal->BlockData.size(); - OS.write(reinterpret_cast<char *>(&writeSize), 4); - OS.write(reinterpret_cast<char *>(&FormVal->BlockData[0]), - FormVal->BlockData.size()); - break; - } - case dwarf::DW_FORM_data1: - case dwarf::DW_FORM_ref1: - case dwarf::DW_FORM_flag: - OS.write(reinterpret_cast<char *>(&FormVal->Value), 1); - break; - case dwarf::DW_FORM_data2: - case dwarf::DW_FORM_ref2: - OS.write(reinterpret_cast<char *>(&FormVal->Value), 2); - break; - case dwarf::DW_FORM_data4: - case dwarf::DW_FORM_ref4: - OS.write(reinterpret_cast<char *>(&FormVal->Value), 4); - break; - case dwarf::DW_FORM_data8: - case dwarf::DW_FORM_ref8: - OS.write(reinterpret_cast<char *>(&FormVal->Value), 8); - break; - case dwarf::DW_FORM_sdata: - encodeSLEB128(FormVal->Value, OS); - break; - case dwarf::DW_FORM_udata: - case dwarf::DW_FORM_ref_udata: - encodeULEB128(FormVal->Value, OS); - break; - case dwarf::DW_FORM_string: - OS.write(FormVal->CStr.data(), FormVal->CStr.size()); - OS.write('\0'); - break; - case dwarf::DW_FORM_indirect: - encodeULEB128(FormVal->Value, OS); - Indirect = true; - Form = static_cast<dwarf::Form>((uint64_t)FormVal->Value); - ++FormVal; - break; - case dwarf::DW_FORM_strp: - case dwarf::DW_FORM_sec_offset: - case dwarf::DW_FORM_GNU_ref_alt: - case dwarf::DW_FORM_GNU_strp_alt: - case dwarf::DW_FORM_line_strp: - case dwarf::DW_FORM_strp_sup: - case dwarf::DW_FORM_ref_sup: - // TODO: Handle DWARF32/64 - OS.write(reinterpret_cast<char *>(&FormVal->Value), 4); - break; - case dwarf::DW_FORM_ref_sig8: - OS.write(reinterpret_cast<char *>(&FormVal->Value), 8); - break; - case dwarf::DW_FORM_GNU_addr_index: - case dwarf::DW_FORM_GNU_str_index: - encodeULEB128(FormVal->Value, OS); - break; - default: - break; - } - } while (Indirect); - } - } - } -} diff --git a/llvm/tools/yaml2obj/yaml2macho.cpp b/llvm/tools/yaml2obj/yaml2macho.cpp index 5bad9a803ea..3fdf3cf43bd 100644 --- a/llvm/tools/yaml2obj/yaml2macho.cpp +++ b/llvm/tools/yaml2obj/yaml2macho.cpp @@ -398,8 +398,6 @@ Error MachOWriter::writeDWARFData(raw_ostream &OS, yaml2pubsection(OS, Obj.DWARF.PubNames); } else if (0 == strncmp(&Section.sectname[0], "__debug_pubtypes", 16)) { yaml2pubsection(OS, Obj.DWARF.PubTypes); - } else if (0 == strncmp(&Section.sectname[0], "__debug_info", 16)) { - yaml2debug_info(OS, Obj.DWARF); } } return Error::success(); diff --git a/llvm/tools/yaml2obj/yaml2obj.h b/llvm/tools/yaml2obj/yaml2obj.h index c472041eedf..f36166abfce 100644 --- a/llvm/tools/yaml2obj/yaml2obj.h +++ b/llvm/tools/yaml2obj/yaml2obj.h @@ -46,6 +46,5 @@ void yaml2debug_str(llvm::raw_ostream &OS, void yaml2debug_aranges(llvm::raw_ostream &OS, const llvm::DWARFYAML::Data &DI); void yaml2pubsection(llvm::raw_ostream &OS, const llvm::DWARFYAML::PubSection &Sect); -void yaml2debug_info(llvm::raw_ostream &OS, const llvm::DWARFYAML::Data &DI); #endif |

