diff options
author | Patrick Wildt <patrick@cvs.openbsd.org> | 2017-10-04 21:04:57 +0000 |
---|---|---|
committer | Patrick Wildt <patrick@cvs.openbsd.org> | 2017-10-04 21:04:57 +0000 |
commit | e9f636fa532b453e47b0e8aa23011caf8f5f201f (patch) | |
tree | 45dbd77a2e2ee135225195eda69f9aeefe46ddb9 /sys/arch/arm64/conf | |
parent | e37af64d796a530b8ec3607443f3dc9232490560 (diff) |
Due to changes in LLD where sections are sorted in a different way,
the .got section was put into the randomdata segment. This caused
the bootloader to overwrite parts of the .got and leads to broken
pointers. Explicitly put the .got section into the .data segment.
ok kettenis@
Diffstat (limited to 'sys/arch/arm64/conf')
-rw-r--r-- | sys/arch/arm64/conf/kern.ldscript | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/arch/arm64/conf/kern.ldscript b/sys/arch/arm64/conf/kern.ldscript index 9a4dd31ba86..f4420390c03 100644 --- a/sys/arch/arm64/conf/kern.ldscript +++ b/sys/arch/arm64/conf/kern.ldscript @@ -1,4 +1,4 @@ -/* $OpenBSD: kern.ldscript,v 1.5 2017/03/22 10:47:29 kettenis Exp $ */ +/* $OpenBSD: kern.ldscript,v 1.6 2017/10/04 21:04:56 patrick Exp $ */ /* $NetBSD: ldscript.evbarm,v 1.2 2003/03/05 23:54:22 thorpej Exp $ */ OUTPUT_ARCH(aarch64) @@ -45,6 +45,10 @@ SECTIONS { *(.openbsd.randomdata) } :openbsd_randomize :data + .got : + { + *(.got .got.*) + } :data .data : { *(.data .data.*) |