From 6de650fa02903da15ead7b3f12972d48c3b0af53 Mon Sep 17 00:00:00 2001 From: christos Date: Fri, 1 Nov 2013 00:19:04 +0000 Subject: [PATCH] provide an ldscript for booters that strips the unwind sections. XXX: untested --- sys/arch/i386/conf/stand.ldscript | 64 +++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 sys/arch/i386/conf/stand.ldscript diff --git a/sys/arch/i386/conf/stand.ldscript b/sys/arch/i386/conf/stand.ldscript new file mode 100644 index 000000000000..e00af53c984a --- /dev/null +++ b/sys/arch/i386/conf/stand.ldscript @@ -0,0 +1,64 @@ +/* $NetBSD: stand.ldscript,v 1.1 2013/11/01 00:19:04 christos Exp $ */ + +OUTPUT_FORMAT("elf32-i386", "elf32-i386", + "elf32-i386") +OUTPUT_ARCH(i386) +ENTRY(_start) +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.*) + } + + __data_start = . ; + .data : + AT (LOADADDR(.text) + (ADDR(.data) - ADDR(.text))) + { + *(.data) + } + .data.cacheline_aligned : + AT (LOADADDR(.text) + (ADDR(.data.cacheline_aligned) - ADDR(.text))) + { + *(.data.cacheline_aligned) + } + .data.read_mostly : + AT (LOADADDR(.text) + (ADDR(.data.read_mostly) - ADDR(.text))) + { + *(.data.read_mostly) + } + _edata = . ; + PROVIDE (edata = .) ; + __bss_start = . ; + .bss : + AT (LOADADDR(.text) + (ADDR(.bss) - ADDR(.text))) + { + *(.bss) + *(.bss.*) + *(COMMON) + . = ALIGN(32 / 8); + } + . = ALIGN(32 / 8); + _end = . ; + PROVIDE (end = .) ; + /DISCARD/ : { + *(.eh_frame_hdr) + *(.eh_frame) + *(.rel.eh_frame) + *(.rela.eh_frame) + *(.note.netbsd.ident) + } +}