genode/repos/base-okl4/src
Norman Feske a0abb093ed Remove output-section fill from linker scripts
The linker scripts use to fill alignment gaps within the text section
with the magic value 0x90909090, which correponds to the opcodes of four
nop instructions on x86. This patch removes this value because it
apparently solves no problem. If, for some reason (e.g., due to a dangling
pointer) a thread executes instructions within alignment paddings, NOP
instructions are not any better than any other instruction. The program
will eventually execute the instructions after the padding, which is
most likely fatal. It would be more reasonable to fill the padding with
the opcode of an illegal instruction so that such an error can be
immediately detected. That said, I cannot remember a single instance,
where the fill value has helped us during debugging.

Even if the mechanism served a purpose on x86, it is still better to
remove it because it does not equally work on the other architectures
where the linker scripts are used. I.e., on ARM, the opcode 0x90909090
is not a NOP instruction.
2015-01-20 11:25:59 +01:00
..
base thread API & CPU session: accounting of CPU quota 2014-11-28 12:02:37 +01:00
core thread API & CPU session: accounting of CPU quota 2014-11-28 12:02:37 +01:00
kernel base-okl4: migrate to new ports mechanism 2014-05-27 11:14:42 +02:00
test Remove output-section fill from linker scripts 2015-01-20 11:25:59 +01:00