mirror of
https://github.com/serge1/ELFIO.git
synced 2025-03-18 16:21:11 +00:00
Definition of constants
This commit is contained in:
parent
c050ae9bb9
commit
0ed413883d
4
.vscode/launch.json
vendored
4
.vscode/launch.json
vendored
@ -32,8 +32,8 @@
|
||||
"name": "Run ELF Dump",
|
||||
"type": "cppdbg",
|
||||
"request": "launch",
|
||||
"program": "${workspaceFolder}/examples/elfdump/elfdump",
|
||||
"args": ["tests/elf_examples/crash.elf"],
|
||||
"program": "${workspaceFolder}/build/examples/elfdump/elfdump",
|
||||
"args": ["tests/elf_examples/hello_32"],
|
||||
"stopAtEntry": false,
|
||||
"cwd": "${workspaceFolder}",
|
||||
"environment": [],
|
||||
|
2
.vscode/tasks.json
vendored
2
.vscode/tasks.json
vendored
@ -28,7 +28,7 @@
|
||||
"CXXFLAGS='-g -O0'"
|
||||
],
|
||||
"options": {
|
||||
"cwd": "${workspaceRoot}"
|
||||
"cwd": "${workspaceRoot}/build"
|
||||
},
|
||||
"group": {
|
||||
"kind": "build",
|
||||
|
@ -317,7 +317,7 @@ constexpr Elf_Half EM_NIOS32 = 0xFEBB; // "Altera Nios";
|
||||
constexpr Elf_Half EM_CYGNUS_MEP = 0xF00D; // "Toshiba MeP Media Engine";
|
||||
constexpr Elf_Half EM_ADAPTEVA_EPIPHANY = 0x1223; // "Adapteva EPIPHANY";
|
||||
constexpr Elf_Half EM_CYGNUS_FRV = 0x5441; // "Fujitsu FR-V";
|
||||
constexpr Elf_Half EM_S12Z = 0x4DEF; // "Freescale S12Z";
|
||||
constexpr Elf_Half EM_S12Z = 0x4DEF; // "Freescale S12Z";
|
||||
// clang-format on
|
||||
|
||||
// File version
|
||||
@ -550,11 +550,135 @@ constexpr unsigned char STB_MULTIDEF = 13;
|
||||
constexpr unsigned char STB_LOPROC = 13;
|
||||
constexpr unsigned char STB_HIPROC = 15;
|
||||
|
||||
// Note types
|
||||
constexpr Elf_Word NT_AMDGPU_METADATA = 1;
|
||||
constexpr Elf_Word NT_AMD_AMDGPU_HSA_METADATA = 10;
|
||||
constexpr Elf_Word NT_AMD_AMDGPU_ISA = 11;
|
||||
constexpr Elf_Word NT_AMD_AMDGPU_PAL_METADATA = 12;
|
||||
|
||||
// Values of note segment descriptor types for core files
|
||||
constexpr Elf_Word NT_PRSTATUS = 1; // Contains copy of prstatus struct
|
||||
constexpr Elf_Word NT_FPREGSET = 2; // Contains copy of fpregset struct
|
||||
constexpr Elf_Word NT_PRPSINFO = 3; // Contains copy of prpsinfo struct
|
||||
constexpr Elf_Word NT_TASKSTRUCT = 4; // Contains copy of task struct
|
||||
constexpr Elf_Word NT_AUXV = 6; // Contains copy of Elfxx_auxv_t
|
||||
constexpr Elf_Word NT_SIGINFO = 0x53494749; // Fields of siginfo_t.
|
||||
constexpr Elf_Word NT_FILE = 0x46494c45; // Description of mapped files.
|
||||
|
||||
// Note segments for core files on dir-style procfs systems.
|
||||
constexpr Elf_Word NT_PSTATUS = 10; // Has a struct pstatus
|
||||
constexpr Elf_Word NT_FPREGS = 12; // Has a struct fpregset
|
||||
constexpr Elf_Word NT_PSINFO = 13; // Has a struct psinfo
|
||||
constexpr Elf_Word NT_LWPSTATUS = 16; // Has a struct lwpstatus_t
|
||||
constexpr Elf_Word NT_LWPSINFO = 17; // Has a struct lwpsinfo_t
|
||||
constexpr Elf_Word NT_WIN32PSTATUS = 18; // Has a struct win32_pstatus
|
||||
|
||||
// clang-format off
|
||||
|
||||
// Note name must be "LINUX"
|
||||
constexpr Elf_Word NT_PRXFPREG = 0x46e62b7f; // Contains a user_xfpregs_struct;
|
||||
constexpr Elf_Word NT_PPC_VMX = 0x100; // PowerPC Altivec/VMX registers
|
||||
constexpr Elf_Word NT_PPC_VSX = 0x102; // PowerPC VSX registers
|
||||
constexpr Elf_Word NT_PPC_TAR = 0x103; // PowerPC Target Address Register
|
||||
constexpr Elf_Word NT_PPC_PPR = 0x104; // PowerPC Program Priority Register
|
||||
constexpr Elf_Word NT_PPC_DSCR = 0x105; // PowerPC Data Stream Control Register
|
||||
constexpr Elf_Word NT_PPC_EBB = 0x106; // PowerPC Event Based Branch Registers
|
||||
constexpr Elf_Word NT_PPC_PMU = 0x107; // PowerPC Performance Monitor Registers
|
||||
constexpr Elf_Word NT_PPC_TM_CGPR = 0x108; // PowerPC TM checkpointed GPR Registers
|
||||
constexpr Elf_Word NT_PPC_TM_CFPR = 0x109; // PowerPC TM checkpointed FPR Registers
|
||||
constexpr Elf_Word NT_PPC_TM_CVMX = 0x10a; // PowerPC TM checkpointed VMX Registers
|
||||
constexpr Elf_Word NT_PPC_TM_CVSX = 0x10b; // PowerPC TM checkpointed VSX Registers
|
||||
constexpr Elf_Word NT_PPC_TM_SPR = 0x10c; // PowerPC TM Special Purpose Registers
|
||||
constexpr Elf_Word NT_PPC_TM_CTAR = 0x10d; // PowerPC TM checkpointed TAR
|
||||
constexpr Elf_Word NT_PPC_TM_CPPR = 0x10e; // PowerPC TM checkpointed PPR
|
||||
constexpr Elf_Word NT_PPC_TM_CDSCR = 0x10f; // PowerPC TM checkpointed Data SCR
|
||||
constexpr Elf_Word NT_386_TLS = 0x200; // x86 TLS information
|
||||
constexpr Elf_Word NT_386_IOPERM = 0x201; // x86 io permissions
|
||||
constexpr Elf_Word NT_X86_XSTATE = 0x202; // x86 XSAVE extended state
|
||||
constexpr Elf_Word NT_X86_CET = 0x203; // x86 CET state.
|
||||
constexpr Elf_Word NT_S390_HIGH_GPRS = 0x300; // S/390 upper halves of GPRs
|
||||
constexpr Elf_Word NT_S390_TIMER = 0x301; // S390 timer
|
||||
constexpr Elf_Word NT_S390_TODCMP = 0x302; // S390 TOD clock comparator
|
||||
constexpr Elf_Word NT_S390_TODPREG = 0x303; // S390 TOD programmable register
|
||||
constexpr Elf_Word NT_S390_CTRS = 0x304; // S390 control registers
|
||||
constexpr Elf_Word NT_S390_PREFIX = 0x305; // S390 prefix register
|
||||
constexpr Elf_Word NT_S390_LAST_BREAK = 0x306; // S390 breaking event address
|
||||
constexpr Elf_Word NT_S390_SYSTEM_CALL = 0x307; // S390 system call restart data
|
||||
constexpr Elf_Word NT_S390_TDB = 0x308; // S390 transaction diagnostic block
|
||||
constexpr Elf_Word NT_S390_VXRS_LOW = 0x309; // S390 vector registers 0-15 upper half
|
||||
constexpr Elf_Word NT_S390_VXRS_HIGH = 0x30a; // S390 vector registers 16-31
|
||||
constexpr Elf_Word NT_S390_GS_CB = 0x30b; // s390 guarded storage registers
|
||||
constexpr Elf_Word NT_S390_GS_BC = 0x30c; // s390 guarded storage broadcast control block
|
||||
constexpr Elf_Word NT_ARM_VFP = 0x400; // ARM VFP registers
|
||||
constexpr Elf_Word NT_ARM_TLS = 0x401; // AArch TLS registers
|
||||
constexpr Elf_Word NT_ARM_HW_BREAK = 0x402; // AArch hardware breakpoint registers
|
||||
constexpr Elf_Word NT_ARM_HW_WATCH = 0x403; // AArch hardware watchpoint registers
|
||||
constexpr Elf_Word NT_ARM_SVE = 0x405; // AArch SVE registers.
|
||||
constexpr Elf_Word NT_ARM_PAC_MASK = 0x406; // AArch pointer authentication code masks
|
||||
constexpr Elf_Word NT_ARM_PACA_KEYS = 0x407; // ARM pointer authentication address keys
|
||||
constexpr Elf_Word NT_ARM_PACG_KEYS = 0x408; // ARM pointer authentication generic keys
|
||||
constexpr Elf_Word NT_ARM_TAGGED_ADDR_CTRL = 0x409; // AArch64 tagged address control (prctl())
|
||||
constexpr Elf_Word NT_ARM_PAC_ENABLED_KEYS = 0x40a; // AArch64 pointer authentication enabled keys (prctl())
|
||||
constexpr Elf_Word NT_ARC_V2 = 0x600; // ARC HS accumulator/extra registers.
|
||||
constexpr Elf_Word NT_LARCH_CPUCFG = 0xa00; // LoongArch CPU config registers
|
||||
constexpr Elf_Word NT_LARCH_CSR = 0xa01; // LoongArch Control State Registers
|
||||
constexpr Elf_Word NT_LARCH_LSX = 0xa02; // LoongArch SIMD eXtension registers
|
||||
constexpr Elf_Word NT_LARCH_LASX = 0xa03; // LoongArch Advanced SIMD eXtension registers
|
||||
constexpr Elf_Word NT_RISCV_CSR = 0x900; // RISC-V Control and Status Registers
|
||||
|
||||
// Note name must be "CORE"
|
||||
constexpr Elf_Word NT_LARCH_LBT = 0xa04; // LoongArch Binary Translation registers
|
||||
|
||||
/* The range 0xff000000 to 0xffffffff is set aside for notes that don't
|
||||
originate from any particular operating system. */
|
||||
constexpr Elf_Word NT_GDB_TDESC = 0xff000000; // Contains copy of GDB's target description XML.
|
||||
constexpr Elf_Word NT_MEMTAG = 0xff000001; // Contains a copy of the memory tags.
|
||||
/* ARM-specific NT_MEMTAG types. */
|
||||
constexpr Elf_Word NT_MEMTAG_TYPE_AARCH_MTE = 0x400; // MTE memory tags for AArch64.
|
||||
|
||||
/* Note segment for SystemTap probes. */
|
||||
#define NT_STAPSDT 3
|
||||
|
||||
// Note name is "FreeBSD"
|
||||
constexpr Elf_Word NT_FREEBSD_THRMISC = 7; // Thread miscellaneous info.
|
||||
constexpr Elf_Word NT_FREEBSD_PROCSTAT_PROC = 8; // Procstat proc data.
|
||||
constexpr Elf_Word NT_FREEBSD_PROCSTAT_FILES = 9; // Procstat files data.
|
||||
constexpr Elf_Word NT_FREEBSD_PROCSTAT_VMMAP = 10; // Procstat vmmap data.
|
||||
constexpr Elf_Word NT_FREEBSD_PROCSTAT_GROUPS = 11; // Procstat groups data.
|
||||
constexpr Elf_Word NT_FREEBSD_PROCSTAT_UMASK = 12; // Procstat umask data.
|
||||
constexpr Elf_Word NT_FREEBSD_PROCSTAT_RLIMIT = 13; // Procstat rlimit data.
|
||||
constexpr Elf_Word NT_FREEBSD_PROCSTAT_OSREL = 14; // Procstat osreldate data.
|
||||
constexpr Elf_Word NT_FREEBSD_PROCSTAT_PSSTRINGS = 15; // Procstat ps_strings data.
|
||||
constexpr Elf_Word NT_FREEBSD_PROCSTAT_AUXV = 16; // Procstat auxv data.
|
||||
constexpr Elf_Word NT_FREEBSD_PTLWPINFO = 17; // Thread ptrace miscellaneous info.
|
||||
|
||||
// Note name must start with "NetBSD-CORE"
|
||||
constexpr Elf_Word NT_NETBSDCORE_PROCINFO = 1; // Has a struct procinfo
|
||||
constexpr Elf_Word NT_NETBSDCORE_AUXV = 2; // Has auxv data
|
||||
constexpr Elf_Word NT_NETBSDCORE_LWPSTATUS = 24; // Has LWPSTATUS data
|
||||
constexpr Elf_Word NT_NETBSDCORE_FIRSTMACH = 32; // start of machdep note types
|
||||
|
||||
// Note name is "OpenBSD"
|
||||
constexpr Elf_Word NT_OPENBSD_PROCINFO = 10;
|
||||
constexpr Elf_Word NT_OPENBSD_AUXV = 11;
|
||||
constexpr Elf_Word NT_OPENBSD_REGS = 20;
|
||||
constexpr Elf_Word NT_OPENBSD_FPREGS = 21;
|
||||
constexpr Elf_Word NT_OPENBSD_XFPREGS = 22;
|
||||
constexpr Elf_Word NT_OPENBSD_WCOOKIE = 23;
|
||||
|
||||
// Note name must start with "SPU"
|
||||
constexpr Elf_Word NT_SPU = 1;
|
||||
|
||||
// Values of note segment descriptor types for object files
|
||||
constexpr Elf_Word NT_VERSION = 1; // Contains a version string.
|
||||
constexpr Elf_Word NT_ARCH = 2; // Contains an architecture string.
|
||||
constexpr Elf_Word NT_GO_BUILDID = 4; // Contains GO buildid data.
|
||||
|
||||
// Values for notes in non-core files using name "GNU"
|
||||
constexpr Elf_Word NT_GNU_ABI_TAG = 1;
|
||||
constexpr Elf_Word NT_GNU_HWCAP = 2; // Used by ld.so and kernel vDSO.
|
||||
constexpr Elf_Word NT_GNU_BUILD_ID = 3; // Generated by ld --build-id.
|
||||
constexpr Elf_Word NT_GNU_GOLD_VERSION = 4; // Generated by gold.
|
||||
constexpr Elf_Word NT_GNU_PROPERTY_TYPE_0 = 5; // Generated by gcc.
|
||||
// clang-format on
|
||||
|
||||
constexpr Elf_Word NT_GNU_BUILD_ATTRIBUTE_OPEN = 0x100;
|
||||
constexpr Elf_Word NT_GNU_BUILD_ATTRIBUTE_FUNC = 0x101;
|
||||
|
||||
// Symbol types
|
||||
constexpr Elf_Word STT_NOTYPE = 0;
|
||||
|
@ -479,6 +479,124 @@ static const struct dynamic_tag_t
|
||||
|
||||
};
|
||||
|
||||
// clang-format off
|
||||
static const struct note_tag_t
|
||||
{
|
||||
struct note_values_t
|
||||
{
|
||||
Elf64_Word type;
|
||||
std::string type_str;
|
||||
std::string description;
|
||||
};
|
||||
std::string name;
|
||||
std::vector<note_values_t> values;
|
||||
} note_tag_table[] = {
|
||||
{ "",
|
||||
{ { NT_PRSTATUS, "NT_PRSTATUS", "prstatus struct" },
|
||||
{ NT_FPREGSET, "NT_FPREGSET", "fpregset struct" },
|
||||
{ NT_PRPSINFO, "NT_PRPSINFO", "prpsinfo struct" },
|
||||
{ NT_TASKSTRUCT, "NT_TASKSTRUCT", "task struct" },
|
||||
{ NT_AUXV, "NT_AUXV", "Elfxx_auxv_t" }.
|
||||
{ NT_PSTATUS, "NT_PSTATUS", "pstatus struct" },
|
||||
{ NT_FPREGS, "NT_FPREGS", "fpregset struct" },
|
||||
{ NT_PSINFO, "NT_PSINFO", "psinfo struct" },
|
||||
{ NT_LWPSTATUS, "NT_LWPSTATUS", "lwpstatus_t struct" },
|
||||
{ NT_LWPSINFO, "NT_LWPSINFO", "lwpsinfo_t struct" },
|
||||
{ NT_WIN32PSTATUS, "NT_WIN32PSTATUS", "win32_pstatus struct" },
|
||||
} },
|
||||
{ "LINUX",
|
||||
{ { NT_PRXFPREG, "NT_PRXFPREG", "Contains a user_xfpregs_struct;" },
|
||||
{ NT_PPC_VMX, "NT_PPC_VMX", "PowerPC Altivec/VMX registers" },
|
||||
{ NT_PPC_VSX, "NT_PPC_VSX", "PowerPC VSX registers" },
|
||||
{ NT_PPC_TAR, "NT_PPC_TAR", "PowerPC Target Address Register" },
|
||||
{ NT_PPC_PPR, "NT_PPC_PPR", "PowerPC Program Priority Register" },
|
||||
{ NT_PPC_DSCR, "NT_PPC_DSCR", "PowerPC Data Stream Control Register" },
|
||||
{ NT_PPC_EBB, "NT_PPC_EBB", "PowerPC Event Based Branch Registers" },
|
||||
{ NT_PPC_PMU, "NT_PPC_PMU", "PowerPC Performance Monitor Registers" },
|
||||
{ NT_PPC_TM_CGPR, "NT_PPC_TM_CGPR", "PowerPC TM checkpointed GPR Registers" },
|
||||
{ NT_PPC_TM_CFPR, "NT_PPC_TM_CFPR", "PowerPC TM checkpointed FPR Registers" },
|
||||
{ NT_PPC_TM_CVMX, "NT_PPC_TM_CVMX", "PowerPC TM checkpointed VMX Registers" },
|
||||
{ NT_PPC_TM_CVSX, "NT_PPC_TM_CVSX", "PowerPC TM checkpointed VSX Registers" },
|
||||
{ NT_PPC_TM_SPR, "NT_PPC_TM_SPR", "PowerPC TM Special Purpose Registers" },
|
||||
{ NT_PPC_TM_CTAR, "NT_PPC_TM_CTAR", "PowerPC TM checkpointed TAR" },
|
||||
{ NT_PPC_TM_CPPR, "NT_PPC_TM_CPPR", "PowerPC TM checkpointed PPR" },
|
||||
{ NT_PPC_TM_CDSCR, "NT_PPC_TM_CDSCR", "PowerPC TM checkpointed Data SCR" },
|
||||
{ NT_386_TLS, "NT_386_TLS", "x86 TLS information" },
|
||||
{ NT_386_IOPERM, "NT_386_IOPERM", "x86 io permissions" },
|
||||
{ NT_X86_XSTATE, "NT_X86_XSTATE", "x86 XSAVE extended state" },
|
||||
{ NT_X86_CET, "NT_X86_CET", "x86 CET state" },
|
||||
{ NT_S390_HIGH_GPRS, "NT_S390_HIGH_GPRS", "S/390 upper halves of GPRs " },
|
||||
{ NT_S390_TIMER, "NT_S390_TIMER", "S390 timer" },
|
||||
{ NT_S390_TODCMP, "NT_S390_TODCMP", "S390 TOD clock comparator" },
|
||||
{ NT_S390_TODPREG, "NT_S390_TODPREG", "S390 TOD programmable register" },
|
||||
{ NT_S390_CTRS, "NT_S390_CTRS", "S390 control registers" },
|
||||
{ NT_S390_PREFIX, "NT_S390_PREFIX", "S390 prefix register" },
|
||||
{ NT_S390_LAST_BREAK, "NT_S390_LAST_BREAK", "S390 breaking event address" },
|
||||
{ NT_S390_SYSTEM_CALL, "NT_S390_SYSTEM_CALL", "S390 system call restart data" },
|
||||
{ NT_S390_TDB, "NT_S390_TDB", "S390 transaction diagnostic block" },
|
||||
{ NT_S390_VXRS_LOW, "NT_S390_VXRS_LOW", "S390 vector registers 0-15 upper half" },
|
||||
{ NT_S390_VXRS_HIGH, "NT_S390_VXRS_HIGH", "S390 vector registers 16-31" },
|
||||
{ NT_S390_GS_CB, "NT_S390_GS_CB", "s390 guarded storage registers" },
|
||||
{ NT_S390_GS_BC, "NT_S390_GS_BC", "s390 guarded storage broadcast control block" },
|
||||
{ NT_ARM_VFP, "NT_ARM_VFP", "ARM VFP registers" },
|
||||
{ NT_ARM_TLS, "NT_ARM_TLS", "AArch TLS registers" },
|
||||
{ NT_ARM_HW_BREAK, "NT_ARM_HW_BREAK", "AArch hardware breakpoint registers" },
|
||||
{ NT_ARM_HW_WATCH, "NT_ARM_HW_WATCH", "AArch hardware watchpoint registers" },
|
||||
{ NT_ARM_SVE, "NT_ARM_SVE", "AArch SVE registers. " },
|
||||
{ NT_ARM_PAC_MASK, "NT_ARM_PAC_MASK", "AArch pointer authentication code masks" },
|
||||
{ NT_ARM_PACA_KEYS, "NT_ARM_PACA_KEYS", "ARM pointer authentication address keys" },
|
||||
{ NT_ARM_PACG_KEYS, "NT_ARM_PACG_KEYS", "ARM pointer authentication generic keys" },
|
||||
{ NT_ARM_TAGGED_ADDR_CTRL, "NT_ARM_TAGGED_ADDR_CTRL", "AArch64 tagged address control (prctl())" },
|
||||
{ NT_ARM_PAC_ENABLED_KEYS, "NT_ARM_PAC_ENABLED_KEYS", "AArch64 pointer authentication enabled keys (prctl())" },
|
||||
{ NT_ARC_V2, "NT_ARC_V2", "ARC HS accumulator/extra registers. " },
|
||||
{ NT_LARCH_CPUCFG, "NT_LARCH_CPUCFG", "LoongArch CPU config registers" },
|
||||
{ NT_LARCH_CSR, "NT_LARCH_CSR", "LoongArch Control State Registers" },
|
||||
{ NT_LARCH_LSX, "NT_LARCH_LSX", "LoongArch SIMD eXtension registers" },
|
||||
{ NT_LARCH_LASX, "NT_LARCH_LASX", "LoongArch Advanced SIMD eXtension registers" },
|
||||
{ NT_RISCV_CSR, "NT_RISCV_CSR", "RISC-V Control and Status Registers" },
|
||||
} },
|
||||
{ "CORE", {NT_LARCH_LBT, "NT_LARCH_LBT", "LoongArch Binary Translation registers"}},
|
||||
{ "FreeBSD",
|
||||
{ { NT_FREEBSD_THRMISC, "NT_FREEBSD_THRMISC", "Thread miscellaneous info." },
|
||||
{ NT_FREEBSD_PROCSTAT_PROC, "NT_FREEBSD_PROCSTAT_PROC", "Procstat proc data." },
|
||||
{ NT_FREEBSD_PROCSTAT_FILES, "NT_FREEBSD_PROCSTAT_FILES", "Procstat files data." },
|
||||
{ NT_FREEBSD_PROCSTAT_VMMAP, "NT_FREEBSD_PROCSTAT_VMMAP", "Procstat vmmap data." },
|
||||
{ NT_FREEBSD_PROCSTAT_GROUPS, "NT_FREEBSD_PROCSTAT_GROUPS", "Procstat groups data." },
|
||||
{ NT_FREEBSD_PROCSTAT_UMASK, "NT_FREEBSD_PROCSTAT_UMASK", "Procstat umask data." },
|
||||
{ NT_FREEBSD_PROCSTAT_RLIMIT, "NT_FREEBSD_PROCSTAT_RLIMIT", "Procstat rlimit data." },
|
||||
{ NT_FREEBSD_PROCSTAT_OSREL, "NT_FREEBSD_PROCSTAT_OSREL", "Procstat osreldate data." },
|
||||
{ NT_FREEBSD_PROCSTAT_PSSTRINGS, "NT_FREEBSD_PROCSTAT_PSSTRINGS", "Procstat ps_strings data." },
|
||||
{ NT_FREEBSD_PROCSTAT_AUXV, "NT_FREEBSD_PROCSTAT_AUXV", "Procstat auxv data." },
|
||||
{ NT_FREEBSD_PTLWPINFO, "NT_FREEBSD_PTLWPINFO", "Thread ptrace miscellaneous info." },
|
||||
} },
|
||||
{ "NetBSD-CORE",
|
||||
{ { NT_NETBSDCORE_PROCINFO, "NT_NETBSDCORE_PROCINFO", "Has a struct procinfo" },
|
||||
{ NT_NETBSDCORE_AUXV, "NT_NETBSDCORE_AUXV", "Has auxv data" },
|
||||
{ NT_NETBSDCORE_LWPSTATUS, "NT_NETBSDCORE_LWPSTATUS", "Has LWPSTATUS data" },
|
||||
{ NT_NETBSDCORE_FIRSTMACH, "NT_NETBSDCORE_FIRSTMACH", "start of machdep note types" },
|
||||
} },
|
||||
{ "OpenBSD",
|
||||
{ { NT_OPENBSD_PROCINFO, "NT_OPENBSD_PROCINFO", "" },
|
||||
{ NT_OPENBSD_AUXV, "NT_OPENBSD_AUXV", "" },
|
||||
{ NT_OPENBSD_REGS, "NT_OPENBSD_REGS", "" },
|
||||
{ NT_OPENBSD_FPREGS, "NT_OPENBSD_FPREGS", "" },
|
||||
{ NT_OPENBSD_XFPREGS, "NT_OPENBSD_XFPREGS", "" },
|
||||
{ NT_OPENBSD_WCOOKIE, "NT_OPENBSD_WCOOKIE", "" },
|
||||
} },
|
||||
{ "SPU",
|
||||
{ { NT_SPU, "NT_SPU", "" }
|
||||
} },
|
||||
{ "GNU",
|
||||
{
|
||||
|
||||
} },
|
||||
}
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
#define NT_LARCH_LBT 0xa04 /* LoongArch Binary Translation registers */
|
||||
/* note name must be "CORE". */
|
||||
|
||||
static const ELFIO::Elf_Xword MAX_DATA_ENTRIES = 64;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@ -756,7 +874,7 @@ class dump
|
||||
if ( no > 0 ) {
|
||||
out << "Note section (" << sec->get_name() << ")"
|
||||
<< std::endl
|
||||
<< " No Type Name" << std::endl;
|
||||
<< " No Type Name Description" << std::endl;
|
||||
for ( Elf_Word j = 0; j < no_notes; ++j ) { // For all notes
|
||||
Elf_Word type;
|
||||
std::string name;
|
||||
@ -764,7 +882,7 @@ class dump
|
||||
Elf_Word descsz;
|
||||
|
||||
if ( notes.get_note( j, type, name, desc, descsz ) ) {
|
||||
// 'name' usually contains \0 at the end. Try to fix it
|
||||
// 'name' usually contains \0 at the end. Remove it
|
||||
name = name.c_str();
|
||||
note( out, j, type, name );
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user