MCPcopy Create free account
hub / github.com/LPC4/Full-Stack / elf_program_headers_keep_page_alignment

Function elf_program_headers_keep_page_alignment

tests/integration/linker.rs:174–196  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

172
173#[test]
174fn elf_program_headers_keep_page_alignment() {
175 let (_assembled, elf) = compile_sample();
176 let phoff = read_u64(&elf, 32) as usize;
177 let phentsize = read_u16(&elf, 54) as usize;
178 let phnum = read_u16(&elf, 56) as usize;
179
180 assert!(phnum > 0, "expected at least one PT_LOAD segment");
181
182 for i in 0..phnum {
183 let base = phoff + i * phentsize;
184 let p_type = read_u32(&elf, base);
185 if p_type != 1 {
186 continue;
187 }
188 let p_offset = read_u64(&elf, base + 8);
189 let p_vaddr = read_u64(&elf, base + 16);
190 let p_filesz = read_u64(&elf, base + 32);
191 let p_memsz = read_u64(&elf, base + 40);
192
193 assert_eq!(p_offset % 0x1000, p_vaddr % 0x1000, "PT_LOAD segment {i} is not page-aligned");
194 assert!(p_filesz <= p_memsz, "PT_LOAD segment {i} has filesz > memsz");
195 }
196}
197
198#[test]
199fn elf_symbol_table_marks_globals_and_locals() {

Callers

nothing calls this directly

Calls 4

compile_sampleFunction · 0.85
read_u64Function · 0.70
read_u16Function · 0.70
read_u32Function · 0.70

Tested by

no test coverage detected