Skip to content

Commit 8f40cca

Browse files
committed
Add AVR e_flags constants and more relocation types
1 parent 451efef commit 8f40cca

File tree

1 file changed

+116
-0
lines changed

1 file changed

+116
-0
lines changed

src/elf.rs

+116
Original file line numberDiff line numberDiff line change
@@ -4238,12 +4238,128 @@ pub const R_AARCH64_TLSDESC: u32 = 1031;
42384238
/// STT_GNU_IFUNC relocation.
42394239
pub const R_AARCH64_IRELATIVE: u32 = 1032;
42404240

4241+
// AVR values for `FileHeader*::e_flags`.
4242+
4243+
/// Bitmask for `EF_AVR_MACH_*`.
4244+
pub const EF_AVR_MACH: u32 = 0x7F;
4245+
4246+
/// If set, it is assumed that the elf file uses local symbols as reference
4247+
/// for the relocations so that linker relaxation is possible.
4248+
pub const EF_AVR_LINKRELAX_PREPARED: u32 = 0x80;
4249+
4250+
#[allow(missing_docs)]
4251+
pub const EF_AVR_MACH_AVR1: u32 = 1;
4252+
#[allow(missing_docs)]
4253+
pub const EF_AVR_MACH_AVR2: u32 = 2;
4254+
#[allow(missing_docs)]
4255+
pub const EF_AVR_MACH_AVR25: u32 = 25;
4256+
#[allow(missing_docs)]
4257+
pub const EF_AVR_MACH_AVR3: u32 = 3;
4258+
#[allow(missing_docs)]
4259+
pub const EF_AVR_MACH_AVR31: u32 = 31;
4260+
#[allow(missing_docs)]
4261+
pub const EF_AVR_MACH_AVR35: u32 = 35;
4262+
#[allow(missing_docs)]
4263+
pub const EF_AVR_MACH_AVR4: u32 = 4;
4264+
#[allow(missing_docs)]
4265+
pub const EF_AVR_MACH_AVR5: u32 = 5;
4266+
#[allow(missing_docs)]
4267+
pub const EF_AVR_MACH_AVR51: u32 = 51;
4268+
#[allow(missing_docs)]
4269+
pub const EF_AVR_MACH_AVR6: u32 = 6;
4270+
#[allow(missing_docs)]
4271+
pub const EF_AVR_MACH_AVRTINY: u32 = 100;
4272+
#[allow(missing_docs)]
4273+
pub const EF_AVR_MACH_XMEGA1: u32 = 101;
4274+
#[allow(missing_docs)]
4275+
pub const EF_AVR_MACH_XMEGA2: u32 = 102;
4276+
#[allow(missing_docs)]
4277+
pub const EF_AVR_MACH_XMEGA3: u32 = 103;
4278+
#[allow(missing_docs)]
4279+
pub const EF_AVR_MACH_XMEGA4: u32 = 104;
4280+
#[allow(missing_docs)]
4281+
pub const EF_AVR_MACH_XMEGA5: u32 = 105;
4282+
#[allow(missing_docs)]
4283+
pub const EF_AVR_MACH_XMEGA6: u32 = 106;
4284+
#[allow(missing_docs)]
4285+
pub const EF_AVR_MACH_XMEGA7: u32 = 107;
4286+
42414287
// AVR values for `Rel*::r_type`.
42424288

4289+
#[allow(missing_docs)]
4290+
pub const R_AVR_NONE: u32 = 0;
42434291
/// Direct 32 bit
42444292
pub const R_AVR_32: u32 = 1;
4293+
#[allow(missing_docs)]
4294+
pub const R_AVR_7_PCREL: u32 = 2;
4295+
#[allow(missing_docs)]
4296+
pub const R_AVR_13_PCREL: u32 = 3;
42454297
/// Direct 16 bit
42464298
pub const R_AVR_16: u32 = 4;
4299+
#[allow(missing_docs)]
4300+
pub const R_AVR_16_PM: u32 = 5;
4301+
#[allow(missing_docs)]
4302+
pub const R_AVR_LO8_LDI: u32 = 6;
4303+
#[allow(missing_docs)]
4304+
pub const R_AVR_HI8_LDI: u32 = 7;
4305+
#[allow(missing_docs)]
4306+
pub const R_AVR_HH8_LDI: u32 = 8;
4307+
#[allow(missing_docs)]
4308+
pub const R_AVR_LO8_LDI_NEG: u32 = 9;
4309+
#[allow(missing_docs)]
4310+
pub const R_AVR_HI8_LDI_NEG: u32 = 10;
4311+
#[allow(missing_docs)]
4312+
pub const R_AVR_HH8_LDI_NEG: u32 = 11;
4313+
#[allow(missing_docs)]
4314+
pub const R_AVR_LO8_LDI_PM: u32 = 12;
4315+
#[allow(missing_docs)]
4316+
pub const R_AVR_HI8_LDI_PM: u32 = 13;
4317+
#[allow(missing_docs)]
4318+
pub const R_AVR_HH8_LDI_PM: u32 = 14;
4319+
#[allow(missing_docs)]
4320+
pub const R_AVR_LO8_LDI_PM_NEG: u32 = 15;
4321+
#[allow(missing_docs)]
4322+
pub const R_AVR_HI8_LDI_PM_NEG: u32 = 16;
4323+
#[allow(missing_docs)]
4324+
pub const R_AVR_HH8_LDI_PM_NEG: u32 = 17;
4325+
#[allow(missing_docs)]
4326+
pub const R_AVR_CALL: u32 = 18;
4327+
#[allow(missing_docs)]
4328+
pub const R_AVR_LDI: u32 = 19;
4329+
#[allow(missing_docs)]
4330+
pub const R_AVR_6: u32 = 20;
4331+
#[allow(missing_docs)]
4332+
pub const R_AVR_6_ADIW: u32 = 21;
4333+
#[allow(missing_docs)]
4334+
pub const R_AVR_MS8_LDI: u32 = 22;
4335+
#[allow(missing_docs)]
4336+
pub const R_AVR_MS8_LDI_NEG: u32 = 23;
4337+
#[allow(missing_docs)]
4338+
pub const R_AVR_LO8_LDI_GS: u32 = 24;
4339+
#[allow(missing_docs)]
4340+
pub const R_AVR_HI8_LDI_GS: u32 = 25;
4341+
#[allow(missing_docs)]
4342+
pub const R_AVR_8: u32 = 26;
4343+
#[allow(missing_docs)]
4344+
pub const R_AVR_8_LO8: u32 = 27;
4345+
#[allow(missing_docs)]
4346+
pub const R_AVR_8_HI8: u32 = 28;
4347+
#[allow(missing_docs)]
4348+
pub const R_AVR_8_HLO8: u32 = 29;
4349+
#[allow(missing_docs)]
4350+
pub const R_AVR_DIFF8: u32 = 30;
4351+
#[allow(missing_docs)]
4352+
pub const R_AVR_DIFF16: u32 = 31;
4353+
#[allow(missing_docs)]
4354+
pub const R_AVR_DIFF32: u32 = 32;
4355+
#[allow(missing_docs)]
4356+
pub const R_AVR_LDS_STS_16: u32 = 33;
4357+
#[allow(missing_docs)]
4358+
pub const R_AVR_PORT6: u32 = 34;
4359+
#[allow(missing_docs)]
4360+
pub const R_AVR_PORT5: u32 = 35;
4361+
#[allow(missing_docs)]
4362+
pub const R_AVR_32_PCREL: u32 = 36;
42474363

42484364
// MSP430 values for `Rel*::r_type`.
42494365

0 commit comments

Comments
 (0)