It seems like the loader file was copied over from another architecture which has a different page size (64K) than s390 (4K). Let's use a 4k alignment instead of the 64k one and remove unneeded entries. Signed-off-by: Janosch Frank <frankja@xxxxxxxxxxxxx> --- s390x/flat.lds | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/s390x/flat.lds b/s390x/flat.lds index de9da1a8..952f6cd4 100644 --- a/s390x/flat.lds +++ b/s390x/flat.lds @@ -24,20 +24,8 @@ SECTIONS *(.text) *(.text.*) } - . = ALIGN(64K); + . = ALIGN(4K); etext = .; - .opd : { *(.opd) } - . = ALIGN(16); - .dynamic : { - dynamic_start = .; - *(.dynamic) - } - .dynsym : { - dynsym_start = .; - *(.dynsym) - } - .rela.dyn : { *(.rela*) } - . = ALIGN(16); .data : { *(.data) *(.data.rel*) @@ -48,10 +36,11 @@ SECTIONS __bss_start = .; .bss : { *(.bss) } __bss_end = .; - . = ALIGN(64K); + . = ALIGN(4K); edata = .; + /* Reserve 64K for the stack */ . += 64K; - . = ALIGN(64K); + . = ALIGN(4K); /* * stackptr set with initial stack frame preallocated */ -- 2.34.1