correctly mark code segments as code in SELF
In bios_log, find that the first segment of the payload is shown as code rather than data. Sample: Got a payload Loading segment from rom address 0xfff29378 code (compression=1) ... Change-Id: I82eaad23f08c02f4ed75744affa8835255cf5c17 Signed-off-by: Stefan Reinauer <reinauer@google.com> Reviewed-on: http://review.coreboot.org/767 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
This commit is contained in:
parent
c44de4999f
commit
51f6a20680
|
@ -161,7 +161,10 @@ int parse_elf_to_payload(unsigned char *input, unsigned char **output,
|
|||
continue;
|
||||
}
|
||||
|
||||
segs[segments].type = PAYLOAD_SEGMENT_DATA;
|
||||
if (phdr[i].p_flags & PF_X)
|
||||
segs[segments].type = PAYLOAD_SEGMENT_CODE;
|
||||
else
|
||||
segs[segments].type = PAYLOAD_SEGMENT_DATA;
|
||||
segs[segments].load_addr = (uint64_t)htonll(phdr[i].p_paddr);
|
||||
segs[segments].mem_len = (uint32_t)htonl(phdr[i].p_memsz);
|
||||
segs[segments].compression = htonl(algo);
|
||||
|
|
Loading…
Reference in New Issue