genode/repos/base-codezero
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
..
config Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
doc Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
etc Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
include base: introduce caching attributes (fix #1184) 2014-06-26 10:57:26 +02:00
lib base-codezero: Add dummy functions to syscall library 2014-10-30 13:36:14 +01:00
mk Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
patches Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
run Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
src Remove output-section fill from linker scripts 2015-01-20 11:25:59 +01:00
tool Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
Makefile Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
README Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00

This repository contains the port of Genode to the Codezero microkernel
For instructions about using Genode with Codezero, please refer to
'doc/codezero.txt'.