diff --git a/crates/examples/src/readobj/elf.rs b/crates/examples/src/readobj/elf.rs index 3eb3cb5..adb8749 100644 --- a/crates/examples/src/readobj/elf.rs +++ b/crates/examples/src/readobj/elf.rs @@ -128,6 +128,7 @@ fn print_program_headers( 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( 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( 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( 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] = &flags!( const FLAGS_PT_PARISC: &[Flag] = &flags!(PT_PARISC_ARCHEXT, PT_PARISC_UNWIND); const FLAGS_PT_ARM: &[Flag] = &flags!(PT_ARM_EXIDX); const FLAGS_PT_IA_64: &[Flag] = &flags!(PT_IA_64_ARCHEXT, PT_IA_64_UNWIND); +const FLAGS_PT_RISCV: &[Flag] = &flags!(PT_RISCV_ATTRIBUTES); const FLAGS_PF: &[Flag] = &flags!(PF_X, PF_W, PF_R); const FLAGS_PF_HP: &[Flag] = &flags!( PF_HP_PAGE_SIZE, @@ -1503,6 +1508,7 @@ const FLAGS_SHT_ARM: &[Flag] = &flags!(SHT_ARM_EXIDX, SHT_ARM_PREEMPTMAP, S const FLAGS_SHT_CSKY: &[Flag] = &flags!(SHT_CSKY_ATTRIBUTES); const FLAGS_SHT_IA_64: &[Flag] = &flags!(SHT_IA_64_EXT, SHT_IA_64_UNWIND); const FLAGS_SHT_X86_64: &[Flag] = &flags!(SHT_X86_64_UNWIND); +const FLAGS_SHT_RISCV: &[Flag] = &flags!(SHT_RISCV_ATTRIBUTES); const FLAGS_SHF: &[Flag] = &flags!( SHF_WRITE, SHF_ALLOC, @@ -1554,6 +1560,7 @@ const FLAGS_STB_MIPS: &[Flag] = &flags!(STB_MIPS_SPLIT_COMMON); const FLAGS_STV: &[Flag] = &flags!(STV_DEFAULT, STV_INTERNAL, STV_HIDDEN, STV_PROTECTED); const FLAGS_STO_MIPS: &[Flag] = &flags!(STO_MIPS_PLT); const FLAGS_STO_ALPHA: &[Flag] = &flags!(STO_ALPHA_NOPV, STO_ALPHA_STD_GPLOAD); +const FLAGS_STO_RISCV: &[Flag] = &flags!(STO_RISCV_VARIANT_CC); const FLAGS_SHN: &[Flag] = &flags!(SHN_UNDEF, SHN_ABS, SHN_COMMON, SHN_XINDEX); const FLAGS_SHN_MIPS: &[Flag] = &flags!( SHN_MIPS_ACOMMON, @@ -3583,6 +3590,7 @@ const FLAGS_DT_PPC64: &[Flag] = &flags!(DT_PPC64_GLINK, DT_PPC64_OPD, DT_PPC64_OPDSZ, DT_PPC64_OPT); const FLAGS_DT_IA_64: &[Flag] = &flags!(DT_IA_64_PLT_RESERVE); const FLAGS_DT_NIOS2: &[Flag] = &flags!(DT_NIOS2_GP); +const FLAGS_DT_RISCV: &[Flag] = &flags!(DT_RISCV_VARIANT_CC); const FLAGS_DF: &[Flag] = &flags!( DF_ORIGIN, DF_SYMBOLIC,