Module Name: src Committed By: uebayasi Date: Thu Aug 20 09:34:54 UTC 2015
Modified Files: src/sys/arch/i386/conf: kern.ldscript kern.ldscript.4MB kern.ldscript.Xen Log Message: Simplify these by doing AT () relocation once. To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/sys/arch/i386/conf/kern.ldscript cvs rdiff -u -r1.13 -r1.14 src/sys/arch/i386/conf/kern.ldscript.4MB cvs rdiff -u -r1.7 -r1.8 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/i386/conf/kern.ldscript diff -u src/sys/arch/i386/conf/kern.ldscript:1.12 src/sys/arch/i386/conf/kern.ldscript:1.13 --- src/sys/arch/i386/conf/kern.ldscript:1.12 Thu Aug 20 07:00:48 2015 +++ src/sys/arch/i386/conf/kern.ldscript Thu Aug 20 09:34:54 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: kern.ldscript,v 1.12 2015/08/20 07:00:48 uebayasi Exp $ */ +/* $NetBSD: kern.ldscript,v 1.13 2015/08/20 09:34:54 uebayasi Exp $ */ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") @@ -8,17 +8,15 @@ SECTIONS { /* Read-only sections, merged into text segment: */ .text : - AT (ADDR(.text) & 0x0fffffff) { *(.text) *(.text.*) *(.stub) - } =0 + } _etext = . ; PROVIDE (etext = .) ; .rodata : - AT (LOADADDR(.text) + (ADDR(.rodata) - ADDR(.text))) { *(.rodata) *(.rodata.*) @@ -29,19 +27,16 @@ SECTIONS . = ALIGN(0x1000) + (. & (0x1000 - 1)); __data_start = . ; .data : - AT (LOADADDR(.text) + (ADDR(.data) - ADDR(.text))) { *(.data) } . = ALIGN(64); /* COHERENCY_UNIT */ .data.cacheline_aligned : - AT (LOADADDR(.text) + (ADDR(.data.cacheline_aligned) - ADDR(.text))) { *(.data.cacheline_aligned) } . = ALIGN(64); /* COHERENCY_UNIT */ .data.read_mostly : - AT (LOADADDR(.text) + (ADDR(.data.read_mostly) - ADDR(.text))) { *(.data.read_mostly) } @@ -50,7 +45,6 @@ SECTIONS PROVIDE (edata = .) ; __bss_start = . ; .bss : - AT (LOADADDR(.text) + (ADDR(.bss) - ADDR(.text))) { *(.bss) *(.bss.*) @@ -65,3 +59,11 @@ SECTIONS KEEP(*(.note.netbsd.ident)); } } +SECTIONS +{ + .text : + AT (ADDR(.text) & 0x0fffffff) + { + *(.text) + } =0 +} Index: src/sys/arch/i386/conf/kern.ldscript.4MB diff -u src/sys/arch/i386/conf/kern.ldscript.4MB:1.13 src/sys/arch/i386/conf/kern.ldscript.4MB:1.14 --- src/sys/arch/i386/conf/kern.ldscript.4MB:1.13 Thu Aug 20 07:00:48 2015 +++ src/sys/arch/i386/conf/kern.ldscript.4MB Thu Aug 20 09:34:54 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: kern.ldscript.4MB,v 1.13 2015/08/20 07:00:48 uebayasi Exp $ */ +/* $NetBSD: kern.ldscript.4MB,v 1.14 2015/08/20 09:34:54 uebayasi Exp $ */ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") @@ -8,17 +8,15 @@ SECTIONS { /* Read-only sections, merged into text segment: */ .text : - AT (ADDR(.text) & 0x0fffffff) { *(.text) *(.text.*) *(.stub) - } =0 + } _etext = . ; PROVIDE (etext = .) ; .rodata : - AT (LOADADDR(.text) + (ADDR(.rodata) - ADDR(.text))) { *(.rodata) *(.rodata.*) @@ -30,19 +28,16 @@ SECTIONS . = ALIGN(0x400000); __data_start = . ; .data : - AT (LOADADDR(.text) + (ADDR(.data) - ADDR(.text))) { *(.data) } . = ALIGN(64); /* COHERENCY_UNIT */ .data.cacheline_aligned : - AT (LOADADDR(.text) + (ADDR(.data.cacheline_aligned) - ADDR(.text))) { *(.data.cacheline_aligned) } . = ALIGN(64); /* COHERENCY_UNIT */ .data.read_mostly : - AT (LOADADDR(.text) + (ADDR(.data.read_mostly) - ADDR(.text))) { *(.data.read_mostly) } @@ -51,7 +46,6 @@ SECTIONS PROVIDE (edata = .) ; __bss_start = . ; .bss : - AT (LOADADDR(.text) + (ADDR(.bss) - ADDR(.text))) { *(.bss) *(.bss.*) @@ -66,3 +60,11 @@ SECTIONS KEEP(*(.note.netbsd.ident)); } } +SECTIONS +{ + .text : + AT (ADDR(.text) & 0x0fffffff) + { + *(.text) + } =0 +} Index: src/sys/arch/i386/conf/kern.ldscript.Xen diff -u src/sys/arch/i386/conf/kern.ldscript.Xen:1.7 src/sys/arch/i386/conf/kern.ldscript.Xen:1.8 --- src/sys/arch/i386/conf/kern.ldscript.Xen:1.7 Thu Aug 20 07:00:48 2015 +++ src/sys/arch/i386/conf/kern.ldscript.Xen Thu Aug 20 09:34:54 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: kern.ldscript.Xen,v 1.7 2015/08/20 07:00:48 uebayasi Exp $ */ +/* $NetBSD: kern.ldscript.Xen,v 1.8 2015/08/20 09:34:54 uebayasi Exp $ */ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") @@ -11,7 +11,7 @@ SECTIONS *(.text) *(.text.*) *(.stub) - } =0 + } _etext = . ; PROVIDE (etext = .) ; @@ -31,13 +31,11 @@ SECTIONS } . = ALIGN(64); /* COHERENCY_UNIT */ .data.cacheline_aligned : - AT (LOADADDR(.text) + (ADDR(.data.cacheline_aligned) - ADDR(.text))) { *(.data.cacheline_aligned) } . = ALIGN(64); /* COHERENCY_UNIT */ .data.read_mostly : - AT (LOADADDR(.text) + (ADDR(.data.read_mostly) - ADDR(.text))) { *(.data.read_mostly) } @@ -60,3 +58,11 @@ SECTIONS KEEP(*(.note.netbsd.ident)); } } +SECTIONS +{ + .text : + AT (ADDR(.text)) + { + *(.text) + } =0 +}