That way, data source address does not depend on any other unrelated change in
linker script.
This also fixes cases when .data input section is aligned on 8 bytes. The new
version does not provide any address for the output section so that it is
aligned to the strictest input section. The _data_loadaddr symbol will
always take this alignment into account.
This fixes a problem where the linker included some padding
bytes between the end of the .text section (_etext) and the
start of the .data section.
The C runtime copies from _etext, so all static initialised data
was corrupted. This change forces the .data section to be written
at _etext to avoid this problem.