| #
81248149 |
| 25-Jan-2018 |
mpi <mpi@openbsd.org> |
Use a new LDFLAGS variable to pass "-melf_i386_obsd" on amd64.
Makes the linker generate a correct i386 gap.o file.
ok kettenis@, deraadt@
|
| #
b166003f |
| 16-Jul-2017 |
visa <visa@openbsd.org> |
Pass the linker from make environment to makegap.sh. This is (only) a partial solution to cross compiling the kernel with KARL.
OK deraadt@ a while ago
|
| #
f1a3b71a |
| 26-Jun-2017 |
tb <tb@openbsd.org> |
RANDOM1 was subject to rather bad modulus bias. Improve the situation a bit by implementing an arc4random_uniform(3) clone with beloved jot(1) and using it.
discussed with and ok deraadt
|
| #
b0f5655c |
| 26-Jun-2017 |
deraadt <deraadt@openbsd.org> |
note.ABI-tag and .MIPS.options are not needed anymore when we use gapdummy.o
|
| #
e4fef933 |
| 25-Jun-2017 |
deraadt <deraadt@openbsd.org> |
lld's linker-script parser has to be fixed to accept ; after LONG() directives. binutils requires it, and binutils is the authoritative parser in this regard. This means arm64 +lld remains broken (
lld's linker-script parser has to be fixed to accept ; after LONG() directives. binutils requires it, and binutils is the authoritative parser in this regard. This means arm64 +lld remains broken (but all the other architectures work)
show more ...
|
| #
910b366f |
| 25-Jun-2017 |
otto <otto@openbsd.org> |
ldd is more strict wrt semicolons, they can only appear after an expression line. Removing the extra semicolons makes both ld and ldd accept the link script generated, although ldd produces a wrong o
ldd is more strict wrt semicolons, they can only appear after an expression line. Removing the extra semicolons makes both ld and ldd accept the link script generated, although ldd produces a wrong object file on arm64; ok kettenis@ deraadt@
show more ...
|
| #
226329da |
| 22-Jun-2017 |
deraadt <deraadt@openbsd.org> |
Generate a gap.link script, and use that to generate gap.o. On multi-ABI architectures we must also link against a gapdummy.o to repair the ABI of the resulting .o file. Woe is me. Also repair inst
Generate a gap.link script, and use that to generate gap.o. On multi-ABI architectures we must also link against a gapdummy.o to repair the ABI of the resulting .o file. Woe is me. Also repair install: target to update the linkkit & hash when a kernel is installed. ok rpe tb mlarkin and tested by others also
show more ...
|
| #
d212e934 |
| 05-Jun-2017 |
deraadt <deraadt@openbsd.org> |
include machine/param.h before machine.asm.h because uhm alpha.
|
| #
eb0b6ed2 |
| 05-Jun-2017 |
deraadt <deraadt@openbsd.org> |
Avoid use of _C_LABEL, since it is not portable to all our architectures. And anyways, everything is ELF now.
|
| #
9d829168 |
| 04-Jun-2017 |
deraadt <deraadt@openbsd.org> |
Don't need to provide a padbyte value for .bss, it will always be 0 pointed out by kettenis
|
| #
29b1319c |
| 03-Jun-2017 |
deraadt <deraadt@openbsd.org> |
".section .bss" is portable to more platforms than plain ".bss"
|
| #
a6d78bd1 |
| 03-Jun-2017 |
deraadt <deraadt@openbsd.org> |
use .balign instead of .align, it is portable to more architectures discussed with patrick
|
| #
ecee4c9a |
| 02-Jun-2017 |
deraadt <deraadt@openbsd.org> |
typo; meant to say locore0.S
|
| #
527d7fdf |
| 31-May-2017 |
deraadt <deraadt@openbsd.org> |
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 ke
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. Late during kernel boot, unmap the early startup code.
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 has been unmapped.
Ramdisk kernels cannot be compiled like this, because they are gzip'd. When the internal pointer references change, the compression dictionary bloats and results in poorer compression.
ok kettenis mlarkin visa, also thanks to tedu for getting me back to this
show more ...
|