History log of /openbsd-src/sys/conf/makegap.sh (Results 1 – 14 of 14)
Revision Date Author Comments
# 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 ...