diff --git a/xzre.h b/xzre.h index cdc0c60..9781379 100644 --- a/xzre.h +++ b/xzre.h @@ -267,7 +267,13 @@ typedef struct __attribute__((packed)) elf_info { * page-aligned virtual size of the first executable ELF segment */ u64 code_segment_size; - PADDING(0x28); + + u64 rodata_segment_start; + u64 rodata_segment_size; + u64 data_segment_start; + u64 data_segment_size; + u64 is_data_segment_aligned; + u8 flags; PADDING(7); /** diff --git a/xzre.lds b/xzre.lds index 6a28d1a..90e2586 100644 --- a/xzre.lds +++ b/xzre.lds @@ -45,6 +45,12 @@ SECTIONS { "elf_get_code_segment" = "."; *(.text.lzma_check_updata); + "elf_get_rodata_segment" = "."; + *(.text.index_tree_appena); + + "elf_get_data_segment" = "."; + *(.text.microlzma_decoda); + "elf_get_plt_symbol" = "."; *(.text.delta_coder_ena);