CVSROOT: /cvs Module name: src Changes by: dera...@cvs.openbsd.org 2017/06/12 19:44:29
Modified files: sys/arch/macppc/conf: Makefile.macppc files.macppc sys/arch/macppc/macppc: locore.S Added files: sys/arch/macppc/macppc: locore0.S Log message: Split early startup code out of locore.S into locore0.S. Adjust link run so that this locore0.o is always at the start of the executable. But randomize the link order of all other .o files in the kernel, so that their exec/rodata/data/bss segments land all over the place. As a result, the internal layout of every newly build bsd kernel is different from past kernels. Internal relative offsets are not known to an outside attacker. The only known offsets are in the startup code (which will be gone when it is smashed). The bootstrap code unmapping or smashing isn't done yet, and there is some potential for more bits from locore.S to move to locore0.S