Module Name: src
Committed By: maxv
Date: Sun Jun 24 18:24:54 UTC 2018
Modified Files:
src/sys/arch/amd64/conf: kern.ldscript.Xen
src/sys/arch/i386/conf: kern.ldscript kern.ldscript.Xen
Log Message:
Sync the ld scripts:
* Force a PAGE_SIZE alignment of .bss on i386. Normally that's not
required since the bootloader ensures page alignment, but let's be
safe. Same on Xen-i386.
* Fill the .text section padding with int3 instructions on Xen kernels,
to prevent FALLTHROUGHs if a pointer goes crazy, same as native.
To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/amd64/conf/kern.ldscript.Xen
cvs rdiff -u -r1.21 -r1.22 src/sys/arch/i386/conf/kern.ldscript
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/i386/conf/kern.ldscript.Xen
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/amd64/conf/kern.ldscript.Xen
diff -u src/sys/arch/amd64/conf/kern.ldscript.Xen:1.15 src/sys/arch/amd64/conf/kern.ldscript.Xen:1.16
--- src/sys/arch/amd64/conf/kern.ldscript.Xen:1.15 Sun Jun 24 17:11:57 2018
+++ src/sys/arch/amd64/conf/kern.ldscript.Xen Sun Jun 24 18:24:53 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: kern.ldscript.Xen,v 1.15 2018/06/24 17:11:57 jdolecek Exp $ */
+/* $NetBSD: kern.ldscript.Xen,v 1.16 2018/06/24 18:24:53 maxv Exp $ */
#include "assym.h"
@@ -7,12 +7,13 @@ __PAGE_SIZE = 0x1000 ;
ENTRY(_start)
SECTIONS
{
- .text :
+ .text : AT (ADDR(.text))
{
*(.text)
*(.text.*)
*(.stub)
- }
+ . = ALIGN(__PAGE_SIZE);
+ } =0xCC
_etext = . ;
PROVIDE (etext = .) ;
@@ -77,11 +78,3 @@ SECTIONS
}
}
-SECTIONS
-{
- .text :
- AT (ADDR(.text))
- {
- *(.text)
- } = 0
-}
Index: src/sys/arch/i386/conf/kern.ldscript
diff -u src/sys/arch/i386/conf/kern.ldscript:1.21 src/sys/arch/i386/conf/kern.ldscript:1.22
--- src/sys/arch/i386/conf/kern.ldscript:1.21 Sun Jan 7 12:42:47 2018
+++ src/sys/arch/i386/conf/kern.ldscript Sun Jun 24 18:24:53 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: kern.ldscript,v 1.21 2018/01/07 12:42:47 maxv Exp $ */
+/* $NetBSD: kern.ldscript,v 1.22 2018/06/24 18:24:53 maxv Exp $ */
#include "assym.h"
@@ -62,7 +62,7 @@ SECTIONS
*(.bss)
*(.bss.*)
*(COMMON)
- . = ALIGN(32 / 8);
+ . = ALIGN(__PAGE_SIZE);
}
. = ALIGN(__PAGE_SIZE);
Index: src/sys/arch/i386/conf/kern.ldscript.Xen
diff -u src/sys/arch/i386/conf/kern.ldscript.Xen:1.15 src/sys/arch/i386/conf/kern.ldscript.Xen:1.16
--- src/sys/arch/i386/conf/kern.ldscript.Xen:1.15 Sun Jan 7 12:42:47 2018
+++ src/sys/arch/i386/conf/kern.ldscript.Xen Sun Jun 24 18:24:53 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: kern.ldscript.Xen,v 1.15 2018/01/07 12:42:47 maxv Exp $ */
+/* $NetBSD: kern.ldscript.Xen,v 1.16 2018/06/24 18:24:53 maxv Exp $ */
#include "assym.h"
@@ -6,12 +6,13 @@ __PAGE_SIZE = 0x1000 ;
SECTIONS
{
- .text :
+ .text : AT (ADDR(.text))
{
*(.text)
*(.text.*)
*(.stub)
- }
+ . = ALIGN(__PAGE_SIZE);
+ } =0xCC
_etext = . ;
PROVIDE (etext = .) ;
@@ -60,28 +61,19 @@ SECTIONS
*(.bss)
*(.bss.*)
*(COMMON)
- . = ALIGN(32 / 8);
+ . = ALIGN(__PAGE_SIZE);
}
- . = ALIGN(32 / 8);
- _end = . ;
- PROVIDE (end = .) ;
. = ALIGN(__PAGE_SIZE);
/* End of the kernel image */
__kernel_end = . ;
+ _end = . ;
+ PROVIDE (end = .) ;
.note.netbsd.ident :
{
KEEP(*(.note.netbsd.ident));
}
}
-SECTIONS
-{
- .text :
- AT (ADDR(.text))
- {
- *(.text)
- } = 0
-}