mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-19 21:57:55 +00:00
a0abb093ed
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. |
||
---|---|---|
.. | ||
config | ||
doc | ||
etc | ||
include | ||
lib | ||
mk | ||
patches | ||
run | ||
src | ||
tool | ||
Makefile | ||
README |
This repository contains the port of Genode to the Codezero microkernel For instructions about using Genode with Codezero, please refer to 'doc/codezero.txt'.