diff options
Diffstat (limited to 'tools/yaml2obj')
-rw-r--r-- | tools/yaml2obj/yaml2coff.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/tools/yaml2obj/yaml2coff.cpp b/tools/yaml2obj/yaml2coff.cpp index 5b758471bd..d800b90791 100644 --- a/tools/yaml2obj/yaml2coff.cpp +++ b/tools/yaml2obj/yaml2coff.cpp @@ -129,9 +129,8 @@ static bool layoutCOFF(COFFParser &CP) { for (std::vector<COFFYAML::Section>::iterator i = CP.Obj.Sections.begin(), e = CP.Obj.Sections.end(); i != e; ++i) { - StringRef SecData = i->SectionData.getHex(); - if (!SecData.empty()) { - i->Header.SizeOfRawData = SecData.size()/2; + if (i->SectionData.binary_size() > 0) { + i->Header.SizeOfRawData = i->SectionData.binary_size(); i->Header.PointerToRawData = CurrentSectionDataOffset; CurrentSectionDataOffset += i->Header.SizeOfRawData; if (!i->Relocations.empty()) { @@ -154,7 +153,7 @@ static bool layoutCOFF(COFFParser &CP) { for (std::vector<COFFYAML::Symbol>::iterator i = CP.Obj.Symbols.begin(), e = CP.Obj.Symbols.end(); i != e; ++i) { - unsigned AuxBytes = i->AuxiliaryData.getHex().size() / 2; + unsigned AuxBytes = i->AuxiliaryData.binary_size(); if (AuxBytes % COFF::SymbolSize != 0) { errs() << "AuxiliaryData size not a multiple of symbol size!\n"; return false; |