With ld from binutils v2.40 I currently get warning messages like this: ld: warning: arm/spinlock-test.elf has a LOAD segment with RWX permissions ld: warning: arm/selftest.elf has a LOAD segment with RWX permissions ld: warning: arm/pci-test.elf has a LOAD segment with RWX permissions ld: warning: arm/pmu.elf has a LOAD segment with RWX permissions ... Seems like these can be silenced by explicitly specifying the program headers with the appropriate flags (like we did in commit 0a06949aafac4a4 on x86 and in commit 5126732d73aa75 on powerpc already). Signed-off-by: Thomas Huth <thuth@xxxxxxxxxx> --- arm/flat.lds | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/arm/flat.lds b/arm/flat.lds index 47fcb649..f722c650 100644 --- a/arm/flat.lds +++ b/arm/flat.lds @@ -22,10 +22,16 @@ * +----------------------+ <-- physical address 0x0 */ +PHDRS +{ + text PT_LOAD FLAGS(5); + data PT_LOAD FLAGS(6); +} + SECTIONS { PROVIDE(_text = .); - .text : { *(.init) *(.text) *(.text.*) } + .text : { *(.init) *(.text) *(.text.*) } :text . = ALIGN(64K); PROVIDE(etext = .); @@ -39,8 +45,8 @@ SECTIONS .got : { *(.got) *(.got.plt) } .eh_frame : { *(.eh_frame) } - .rodata : { *(.rodata*) } - .data : { *(.data) } + .rodata : { *(.rodata*) } :data + .data : { *(.data) } :data . = ALIGN(16); PROVIDE(bss = .); .bss : { *(.bss) } -- 2.39.3