readobj: support RISC-V constants (#810)

This commit is contained in:
Philip Craig
2025-10-21 19:36:51 +10:00
committed by GitHub
parent c22ef7a8a2
commit 63f4cb45e1
+8
View File
@@ -128,6 +128,7 @@ fn print_program_headers<Elf: FileHeader>(
EM_PARISC => FLAGS_PT_PARISC,
EM_ARM => FLAGS_PT_ARM,
EM_IA_64 => FLAGS_PT_IA_64,
EM_RISCV => FLAGS_PT_RISCV,
_ => &[],
};
let os = match elf.e_ident().os_abi {
@@ -272,6 +273,7 @@ fn print_section_headers<Elf: FileHeader>(
EM_CSKY => FLAGS_SHT_CSKY,
EM_IA_64 => FLAGS_SHT_IA_64,
EM_X86_64 => FLAGS_SHT_X86_64,
EM_RISCV => FLAGS_SHT_RISCV,
_ => &[],
};
p.field_enums("Type", section.sh_type(endian), &[FLAGS_SHT, proc]);
@@ -426,6 +428,7 @@ fn print_section_symbols<Elf: FileHeader>(
match elf.e_machine(endian) {
EM_MIPS => p.flags(other, 0, FLAGS_STO_MIPS),
EM_ALPHA => p.flags(other, 0, FLAGS_STO_ALPHA),
EM_RISCV => p.flags(other, 0, FLAGS_STO_RISCV),
EM_PPC64 => p.field_hex(
"Local",
(other & STO_PPC64_LOCAL_MASK) >> STO_PPC64_LOCAL_BIT,
@@ -779,6 +782,7 @@ fn print_dynamic<Elf: FileHeader>(
EM_PPC64 => FLAGS_DT_PPC64,
EM_IA_64 => FLAGS_DT_IA_64,
EM_ALTERA_NIOS2 => FLAGS_DT_NIOS2,
EM_RISCV => FLAGS_DT_RISCV,
_ => &[],
};
for d in dynamic {
@@ -1410,6 +1414,7 @@ const FLAGS_PT_MIPS: &[Flag<u32>] = &flags!(
const FLAGS_PT_PARISC: &[Flag<u32>] = &flags!(PT_PARISC_ARCHEXT, PT_PARISC_UNWIND);
const FLAGS_PT_ARM: &[Flag<u32>] = &flags!(PT_ARM_EXIDX);
const FLAGS_PT_IA_64: &[Flag<u32>] = &flags!(PT_IA_64_ARCHEXT, PT_IA_64_UNWIND);
const FLAGS_PT_RISCV: &[Flag<u32>] = &flags!(PT_RISCV_ATTRIBUTES);
const FLAGS_PF: &[Flag<u32>] = &flags!(PF_X, PF_W, PF_R);
const FLAGS_PF_HP: &[Flag<u32>] = &flags!(
PF_HP_PAGE_SIZE,
@@ -1503,6 +1508,7 @@ const FLAGS_SHT_ARM: &[Flag<u32>] = &flags!(SHT_ARM_EXIDX, SHT_ARM_PREEMPTMAP, S
const FLAGS_SHT_CSKY: &[Flag<u32>] = &flags!(SHT_CSKY_ATTRIBUTES);
const FLAGS_SHT_IA_64: &[Flag<u32>] = &flags!(SHT_IA_64_EXT, SHT_IA_64_UNWIND);
const FLAGS_SHT_X86_64: &[Flag<u32>] = &flags!(SHT_X86_64_UNWIND);
const FLAGS_SHT_RISCV: &[Flag<u32>] = &flags!(SHT_RISCV_ATTRIBUTES);
const FLAGS_SHF: &[Flag<u32>] = &flags!(
SHF_WRITE,
SHF_ALLOC,
@@ -1554,6 +1560,7 @@ const FLAGS_STB_MIPS: &[Flag<u8>] = &flags!(STB_MIPS_SPLIT_COMMON);
const FLAGS_STV: &[Flag<u8>] = &flags!(STV_DEFAULT, STV_INTERNAL, STV_HIDDEN, STV_PROTECTED);
const FLAGS_STO_MIPS: &[Flag<u8>] = &flags!(STO_MIPS_PLT);
const FLAGS_STO_ALPHA: &[Flag<u8>] = &flags!(STO_ALPHA_NOPV, STO_ALPHA_STD_GPLOAD);
const FLAGS_STO_RISCV: &[Flag<u8>] = &flags!(STO_RISCV_VARIANT_CC);
const FLAGS_SHN: &[Flag<u16>] = &flags!(SHN_UNDEF, SHN_ABS, SHN_COMMON, SHN_XINDEX);
const FLAGS_SHN_MIPS: &[Flag<u16>] = &flags!(
SHN_MIPS_ACOMMON,
@@ -3583,6 +3590,7 @@ const FLAGS_DT_PPC64: &[Flag<u32>] =
&flags!(DT_PPC64_GLINK, DT_PPC64_OPD, DT_PPC64_OPDSZ, DT_PPC64_OPT);
const FLAGS_DT_IA_64: &[Flag<u32>] = &flags!(DT_IA_64_PLT_RESERVE);
const FLAGS_DT_NIOS2: &[Flag<u32>] = &flags!(DT_NIOS2_GP);
const FLAGS_DT_RISCV: &[Flag<u32>] = &flags!(DT_RISCV_VARIANT_CC);
const FLAGS_DF: &[Flag<u32>] = &flags!(
DF_ORIGIN,
DF_SYMBOLIC,