diff options
author | David Blaikie <dblaikie@gmail.com> | 2014-07-25 17:11:58 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2014-07-25 17:11:58 +0000 |
commit | 29459ae83c8177c858f459a6392fdad37cbc1ef4 (patch) | |
tree | 9d2451ecaf622fe7f55e57b088e39e62336d0372 /llvm/lib/MC/MCObjectFileInfo.cpp | |
parent | 869b0a1fd457eb7131845725d2fc8c9577b467ed (diff) | |
download | bcm5719-llvm-29459ae83c8177c858f459a6392fdad37cbc1ef4.tar.gz bcm5719-llvm-29459ae83c8177c858f459a6392fdad37cbc1ef4.zip |
Reapply "DebugInfo: Don't put fission type units in comdat sections."
This recommits r208930, r208933, and r208975 (by reverting r209338) and
reverts r209529 (the FIXME to readd this functionality once the tools
were fixed) now that DWP has been fixed to cope with a single section
for all fission type units.
Original commit message:
"Since type units in the dwo file are handled by a debug aware tool,
they don't need to leverage the ELF comdat grouping to implement
deduplication. Avoid creating all the .group sections for these as a
space optimization."
llvm-svn: 213956
Diffstat (limited to 'llvm/lib/MC/MCObjectFileInfo.cpp')
-rw-r--r-- | llvm/lib/MC/MCObjectFileInfo.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/llvm/lib/MC/MCObjectFileInfo.cpp b/llvm/lib/MC/MCObjectFileInfo.cpp index ed6351866c0..df5787c7426 100644 --- a/llvm/lib/MC/MCObjectFileInfo.cpp +++ b/llvm/lib/MC/MCObjectFileInfo.cpp @@ -561,6 +561,9 @@ void MCObjectFileInfo::InitELFMCObjectFileInfo(Triple T) { DwarfInfoDWOSection = Ctx->getELFSection(".debug_info.dwo", ELF::SHT_PROGBITS, 0, SectionKind::getMetadata()); + DwarfTypesDWOSection = + Ctx->getELFSection(".debug_types.dwo", ELF::SHT_PROGBITS, 0, + SectionKind::getMetadata()); DwarfAbbrevDWOSection = Ctx->getELFSection(".debug_abbrev.dwo", ELF::SHT_PROGBITS, 0, SectionKind::getMetadata()); @@ -736,6 +739,10 @@ void MCObjectFileInfo::InitCOFFMCObjectFileInfo(Triple T) { COFF::IMAGE_SCN_MEM_DISCARDABLE | COFF::IMAGE_SCN_MEM_READ, SectionKind::getMetadata()); + DwarfTypesDWOSection = + Ctx->getCOFFSection(".debug_types.dwo", COFF::IMAGE_SCN_MEM_DISCARDABLE | + COFF::IMAGE_SCN_MEM_READ, + SectionKind::getMetadata()); DwarfAbbrevDWOSection = Ctx->getCOFFSection(".debug_abbrev.dwo", COFF::IMAGE_SCN_MEM_DISCARDABLE | @@ -847,13 +854,6 @@ const MCSection *MCObjectFileInfo::getDwarfTypesSection(uint64_t Hash) const { SectionKind::getMetadata(), 0, utostr(Hash)); } -const MCSection * -MCObjectFileInfo::getDwarfTypesDWOSection(uint64_t Hash) const { - return Ctx->getELFSection(".debug_types.dwo", ELF::SHT_PROGBITS, - ELF::SHF_GROUP, SectionKind::getMetadata(), 0, - utostr(Hash)); -} - void MCObjectFileInfo::InitEHFrameSection() { if (Env == IsMachO) EHFrameSection = |