mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-21 06:33:31 +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. |
||
---|---|---|
.. | ||
contrib/generated | ||
doc | ||
etc | ||
include | ||
lib/mk | ||
mk | ||
patches | ||
ports | ||
run | ||
src | ||
tool | ||
Makefile | ||
README |
This repository contains the implementation of Genode for the OKL4 kernel version 2.1. For further information, please refer to the following documents: :[http://genode.org/community/wiki/GenodeOnOKL4 - Genode on OKL4 Wiki page]: This Wiki page contains the information on how to build and use Genode with OKL4. :[http://genode.org/documentation/articles/genode-on-okl4 - Bringing Genode to OKL4]: This article explains the OKL4-specific porting work.