summaryrefslogtreecommitdiff
path: root/usr/src/uts
diff options
context:
space:
mode:
authorRichard Lowe <richlowe@richlowe.net>2021-11-21 21:16:25 -0600
committerRichard Lowe <richlowe@richlowe.net>2022-01-24 15:47:11 -0600
commitff4c9ae3835ad2c0d7c85544aad7de6fe35d4e30 (patch)
tree3a966a909d6d3c1364fe67f7a2ce96ca83edf158 /usr/src/uts
parentcc7a5a3be88241742ab4e0d7a14a0291f4e32183 (diff)
downloadillumos-joyent-ff4c9ae3835ad2c0d7c85544aad7de6fe35d4e30.tar.gz
14401 elfdump should understand LLVM section types
Reviewed by: Robert Mustacchi <rm@fingolfin.org> Reviewed by: Toomas Soome <tsoome@me.com> Approved by: Dan McDonald <danmcd@joyent.com>
Diffstat (limited to 'usr/src/uts')
-rw-r--r--usr/src/uts/common/sys/elf.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/usr/src/uts/common/sys/elf.h b/usr/src/uts/common/sys/elf.h
index 581d898c1d..3d053de531 100644
--- a/usr/src/uts/common/sys/elf.h
+++ b/usr/src/uts/common/sys/elf.h
@@ -615,6 +615,21 @@ typedef struct {
#define SHT_GNU_LIBLIST 0x6ffffff7 /* Prelink library list */
#define SHT_CHECKSUM 0x6ffffff8 /* Checksum for DSO content */
+/*
+ * LLVM-specific section types, actually independent of any (ELF) OS.
+ * See: https://llvm.org/docs/Extensions.html
+ */
+#define SHT_LLVM_ODRTAB 0x6fff4c00 /* ODR Table */
+#define SHT_LLVM_LINKER_OPTIONS 0x6fff4c01 /* Linker options */
+#define SHT_LLVM_UNKNOWN1 0x6fff4c02 /* previously call graph profile */
+#define SHT_LLVM_ADDRSIG 0x6fff4c03 /* significant address table */
+#define SHT_LLVM_DEPENDENT_LIBRARIES 0x6fff4c04 /* dependent libraries. */
+#define SHT_LLVM_SYMPART 0x6fff4c05 /* symbol partition specs. */
+#define SHT_LLVM_PART_EHDR 0x6fff4c06 /* ehdr for loadable part. */
+#define SHT_LLVM_PART_PHDR 0x6fff4c07 /* phdrs for loadable part. */
+#define SHT_LLVM_BB_ADDR_MAP 0x6fff4c08 /* basic block addr map */
+#define SHT_LLVM_CALL_GRAPH_PROFILE 0x6fff4c09 /* call graph profile */
+
#define SHT_LOPROC 0x70000000 /* processor specific range */
#define SHT_HIPROC 0x7fffffff