The updates are to ensure that the .data section exists. This means
that we always have a data section. That means that we don't create a
RWX segment and avoid the corresponding warning.
We get this warning when testing aarch64-none-elf with -mcmodel=tiny.
N.b. this changes quite a few testcases from fail to pass.
. = 0x12340000;
.far : { *(.far) }
.ARM.attributes 0 : { *(.ARM.atttributes) }
+ /* Providing a .data section triggers a non-executable segment to be
+ generated, which gives somewhere else for the linker to put the TLS
+ segment without creating a RWX permissioned one. */
+ .data : { *(.data) }
}
. = 0x12340000;
.far : { *(.far) }
.ARM.attributes 0 : { *(.ARM.atttributes) }
+ /* Providing a .data section triggers a non-executable segment to be
+ generated, which gives somewhere else for the linker to put the TLS
+ segment without creating a RWX permissioned one. */
+ .data : { *(.data) }
}