summaryrefslogtreecommitdiffstats
path: root/llvm/tools/yaml2obj
diff options
context:
space:
mode:
authorChris Bieneman <beanz@apple.com>2016-12-20 22:36:42 +0000
committerChris Bieneman <beanz@apple.com>2016-12-20 22:36:42 +0000
commitabecaa2f8c41cf44ab9362c90bfc059a22e90991 (patch)
treecd5dfd854afd0fa9436d6acc1063d2de5780b2f6 /llvm/tools/yaml2obj
parentbd463120aba8c188c11aef17325876957b41bb7a (diff)
downloadbcm5719-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.cpp126
-rw-r--r--llvm/tools/yaml2obj/yaml2macho.cpp2
-rw-r--r--llvm/tools/yaml2obj/yaml2obj.h1
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
OpenPOWER on IntegriCloud