Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions llvm/include/llvm/BinaryFormat/ELF.h
Original file line number Diff line number Diff line change
Expand Up @@ -1185,6 +1185,7 @@ enum : unsigned {
SHT_LLVM_LTO = 0x6fff4c0c, // .llvm.lto for fat LTO.
SHT_LLVM_JT_SIZES = 0x6fff4c0d, // LLVM jump tables sizes.
SHT_LLVM_CFI_JUMP_TABLE = 0x6fff4c0e, // LLVM CFI jump table.
SHT_LLVM_CALL_GRAPH_SECTION = 0x6fff4c0f, // LLVM Call Graph Section.
// Android's experimental support for SHT_RELR sections.
// https://android.googlesource.com/platform/bionic/+/b7feec74547f84559a1467aca02708ff61346d2a/libc/include/elf.h#512
SHT_ANDROID_RELR = 0x6fffff00, // Relocation entries; only offsets.
Expand Down
2 changes: 2 additions & 0 deletions llvm/lib/MC/MCAsmInfoELF.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,8 @@ void MCAsmInfoELF::printSwitchToSection(const MCSection &Section,
OS << "llvm_jt_sizes";
else if (Sec.Type == ELF::SHT_LLVM_CFI_JUMP_TABLE)
OS << "llvm_cfi_jump_table";
else if (Sec.Type == ELF::SHT_LLVM_CALL_GRAPH_SECTION)
OS << "llvm_call_graph_section";
else
OS << "0x" << Twine::utohexstr(Sec.Type);

Expand Down
6 changes: 3 additions & 3 deletions llvm/lib/MC/MCObjectFileInfo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -553,8 +553,8 @@ void MCObjectFileInfo::initELFMCObjectFileInfo(const Triple &T, bool Large) {
SFrameSection =
Ctx->getELFSection(".sframe", ELF::SHT_GNU_SFRAME, ELF::SHF_ALLOC);

CallGraphSection =
Ctx->getELFSection(".llvm.callgraph", ELF::SHT_PROGBITS, 0);
CallGraphSection = Ctx->getELFSection(".llvm.callgraph",
ELF::SHT_LLVM_CALL_GRAPH_SECTION, 0);

StackSizesSection = Ctx->getELFSection(".stack_sizes", ELF::SHT_PROGBITS, 0);

Expand Down Expand Up @@ -1172,7 +1172,7 @@ MCObjectFileInfo::getCallGraphSection(const MCSection &TextSec) const {
}

return Ctx->getELFSection(
".llvm.callgraph", ELF::SHT_PROGBITS, Flags, 0, GroupName,
".llvm.callgraph", ELF::SHT_LLVM_CALL_GRAPH_SECTION, Flags, 0, GroupName,
/*IsComdat=*/true, ElfSec.getUniqueID(),
static_cast<const MCSymbolELF *>(TextSec.getBeginSymbol()));
}
Expand Down
2 changes: 2 additions & 0 deletions llvm/lib/MC/MCParser/ELFAsmParser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -637,6 +637,8 @@ bool ELFAsmParser::parseSectionArguments(bool IsPush, SMLoc loc) {
Type = ELF::SHT_LLVM_JT_SIZES;
else if (TypeName == "llvm_cfi_jump_table")
Type = ELF::SHT_LLVM_CFI_JUMP_TABLE;
else if (TypeName == "llvm_call_graph_section")
Type = ELF::SHT_LLVM_CALL_GRAPH_SECTION;
else if (TypeName.getAsInteger(0, Type))
return TokError("unknown section type");
}
Expand Down
1 change: 1 addition & 0 deletions llvm/lib/Object/ELF.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -322,6 +322,7 @@ StringRef llvm::object::getELFSectionTypeName(uint32_t Machine, unsigned Type) {
STRINGIFY_ENUM_CASE(ELF, SHT_LLVM_LTO);
STRINGIFY_ENUM_CASE(ELF, SHT_LLVM_JT_SIZES)
STRINGIFY_ENUM_CASE(ELF, SHT_LLVM_CFI_JUMP_TABLE)
STRINGIFY_ENUM_CASE(ELF, SHT_LLVM_CALL_GRAPH_SECTION);
STRINGIFY_ENUM_CASE(ELF, SHT_GNU_SFRAME);
STRINGIFY_ENUM_CASE(ELF, SHT_GNU_ATTRIBUTES);
STRINGIFY_ENUM_CASE(ELF, SHT_GNU_HASH);
Expand Down
2 changes: 1 addition & 1 deletion llvm/test/CodeGen/ARM/call-graph-section-addrtaken.ll
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ entry:
!1 = !{i64 0, !"_ZTSFivE.generalized"}
!2 = !{i64 0, !"_ZTSFviE.generalized"}

; CHECK: .section .llvm.callgraph,"o",%progbits,.text
; CHECK: .section .llvm.callgraph,"o",%llvm_call_graph_section,.text
;; Version
; CHECK-NEXT: .byte 0
;; Flags -- Potential indirect target so LSB is set to 1. Other bits are 0.
Expand Down
2 changes: 1 addition & 1 deletion llvm/test/CodeGen/ARM/call-graph-section-assembly.ll
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ entry:
!4 = !{!5}
!5 = !{i64 0, !"_ZTSFPvS_E.generalized"}

; CHECK: .section .llvm.callgraph,"o",%progbits,.text
; CHECK: .section .llvm.callgraph,"o",%llvm_call_graph_section,.text
;; Version
; CHECK-NEXT: .byte 0
;; Flags
Expand Down
2 changes: 1 addition & 1 deletion llvm/test/CodeGen/X86/call-graph-section-addrtaken.ll
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ entry:
!1 = !{i64 0, !"_ZTSFivE.generalized"}
!2 = !{i64 0, !"_ZTSFviE.generalized"}

; CHECK: .section .llvm.callgraph,"o",@progbits,.text
; CHECK: .section .llvm.callgraph,"o",@llvm_call_graph_section,.text
;; Version
; CHECK-NEXT: .byte 0
;; Flags -- Potential indirect target so LSB is set to 1. Other bits are 0.
Expand Down
2 changes: 1 addition & 1 deletion llvm/test/CodeGen/X86/call-graph-section-assembly.ll
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ entry:
!4 = !{!5}
!5 = !{i64 0, !"_ZTSFPvS_E.generalized"}

; CHECK: .section .llvm.callgraph,"o",@progbits,.text
; CHECK: .section .llvm.callgraph,"o",@llvm_call_graph_section,.text
;; Version
; CHECK-NEXT: .byte 0
;; Flags
Expand Down