mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-16 08:08:01 +00:00
Add the gnu pubnames and pubtypes sections to the mc object file
handling. llvm-svn: 190344
This commit is contained in:
parent
20fbf5e9c0
commit
477b8fbcea
@ -125,6 +125,10 @@ protected:
|
||||
const MCSection *DwarfStrOffDWOSection;
|
||||
const MCSection *DwarfAddrSection;
|
||||
|
||||
/// Sections for newer gnu pubnames and pubtypes.
|
||||
const MCSection *DwarfGnuPubNamesSection;
|
||||
const MCSection *DwarfGnuPubTypesSection;
|
||||
|
||||
// Extra TLS Variable Data section. If the target needs to put additional
|
||||
// information for a TLS variable, it'll go here.
|
||||
const MCSection *TLSExtraDataSection;
|
||||
@ -223,6 +227,12 @@ public:
|
||||
const MCSection *getDwarfFrameSection() const { return DwarfFrameSection; }
|
||||
const MCSection *getDwarfPubNamesSection() const{return DwarfPubNamesSection;}
|
||||
const MCSection *getDwarfPubTypesSection() const{return DwarfPubTypesSection;}
|
||||
const MCSection *getDwarfGnuPubNamesSection() const {
|
||||
return DwarfGnuPubNamesSection;
|
||||
}
|
||||
const MCSection *getDwarfGnuPubTypesSection() const {
|
||||
return DwarfGnuPubTypesSection;
|
||||
}
|
||||
const MCSection *getDwarfDebugInlineSection() const {
|
||||
return DwarfDebugInlineSection;
|
||||
}
|
||||
|
@ -199,6 +199,14 @@ void MCObjectFileInfo::InitMachOMCObjectFileInfo(Triple T) {
|
||||
Ctx->getMachOSection("__DWARF", "__debug_pubtypes",
|
||||
MCSectionMachO::S_ATTR_DEBUG,
|
||||
SectionKind::getMetadata());
|
||||
DwarfGnuPubNamesSection =
|
||||
Ctx->getMachOSection("__DWARF", "__debug_gnu_pubn",
|
||||
MCSectionMachO::S_ATTR_DEBUG,
|
||||
SectionKind::getMetadata());
|
||||
DwarfGnuPubTypesSection =
|
||||
Ctx->getMachOSection("__DWARF", "__debug_gnu_pubt",
|
||||
MCSectionMachO::S_ATTR_DEBUG,
|
||||
SectionKind::getMetadata());
|
||||
DwarfStrSection =
|
||||
Ctx->getMachOSection("__DWARF", "__debug_str",
|
||||
MCSectionMachO::S_ATTR_DEBUG,
|
||||
@ -435,6 +443,12 @@ void MCObjectFileInfo::InitELFMCObjectFileInfo(Triple T) {
|
||||
DwarfPubTypesSection =
|
||||
Ctx->getELFSection(".debug_pubtypes", ELF::SHT_PROGBITS, 0,
|
||||
SectionKind::getMetadata());
|
||||
DwarfGnuPubNamesSection =
|
||||
Ctx->getELFSection(".debug_gnu_pubnames", ELF::SHT_PROGBITS, 0,
|
||||
SectionKind::getMetadata());
|
||||
DwarfGnuPubTypesSection =
|
||||
Ctx->getELFSection(".debug_gnu_pubtypes", ELF::SHT_PROGBITS, 0,
|
||||
SectionKind::getMetadata());
|
||||
DwarfStrSection =
|
||||
Ctx->getELFSection(".debug_str", ELF::SHT_PROGBITS,
|
||||
ELF::SHF_MERGE | ELF::SHF_STRINGS,
|
||||
@ -591,6 +605,16 @@ void MCObjectFileInfo::InitCOFFMCObjectFileInfo(Triple T) {
|
||||
COFF::IMAGE_SCN_MEM_DISCARDABLE |
|
||||
COFF::IMAGE_SCN_MEM_READ,
|
||||
SectionKind::getMetadata());
|
||||
DwarfPubNamesSection =
|
||||
Ctx->getCOFFSection(".debug_gnu_pubnames",
|
||||
COFF::IMAGE_SCN_MEM_DISCARDABLE |
|
||||
COFF::IMAGE_SCN_MEM_READ,
|
||||
SectionKind::getMetadata());
|
||||
DwarfPubTypesSection =
|
||||
Ctx->getCOFFSection(".debug_gnu_pubtypes",
|
||||
COFF::IMAGE_SCN_MEM_DISCARDABLE |
|
||||
COFF::IMAGE_SCN_MEM_READ,
|
||||
SectionKind::getMetadata());
|
||||
DwarfStrSection =
|
||||
Ctx->getCOFFSection(".debug_str",
|
||||
COFF::IMAGE_SCN_MEM_DISCARDABLE |
|
||||
|
Loading…
Reference in New Issue
Block a user