From 645f330b1200e5d32232cce0e5c976d955a83e38 Mon Sep 17 00:00:00 2001 From: Michael Shalayeff Date: Tue, 20 Apr 1999 20:34:22 +0000 Subject: workaroun ld overflow bug; general cleanup, alignments, pads, and needed sections/symbols --- sys/arch/hppa/conf/ld.script | 42 ++++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/sys/arch/hppa/conf/ld.script b/sys/arch/hppa/conf/ld.script index b2b5c67fbd6..c7ddf28c75f 100644 --- a/sys/arch/hppa/conf/ld.script +++ b/sys/arch/hppa/conf/ld.script @@ -1,4 +1,4 @@ -/* $OpenBSD: ld.script,v 1.2 1999/02/25 16:42:42 mickey Exp $ */ +/* $OpenBSD: ld.script,v 1.3 1999/04/20 20:34:21 mickey Exp $ */ OUTPUT_FORMAT("elf32-hppa") OUTPUT_ARCH(hppa) @@ -7,39 +7,41 @@ SECTIONS { /* Read-only sections, merged into text segment: */ . = + SIZEOF_HEADERS; - .text : + .text BLOCK(4096) : { kernel_text = . ; - *(.text) - *($CODE$) - *(.rodata) - *(.rodata1) + *(.text) *($text$) + *(.rodata) *(.rodata1) *(.reginfo) *(.init) *(.stub) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) - } = 0 - etext = .; + __unwind_start = .; + *(.PARISC.unwind) + __unwind_end = .; + } = 0 /* 0x08000240 nop filled, does not work */ + etext = ABSOLUTE(.); - .data : + .data BLOCK(4096) : { kernel_data = . ; - *(.data) + [a-ps-z]*(.data) r[a-ce-z]*(.data) *libkern.o(.data) + rd_root.o(.data) /* there is an overflow bug in ld */ CONSTRUCTORS - } - .ctors : { *(.ctors) } - .dtors : { *(.dtors) } - edata = .; + . = ALIGN(4096); + } = 0 + .ctors : { *(.ctors) } + .dtors : { *(.dtors) } + edata = ABSOLUTE(.); __bss_start = .; .sbss : { *(.sbss) *(.scommon) } - .bss : + .bss BLOCK(4096) : { - *(.dynbss) - *(.bss) - *(COMMON) - *($COMMON$) + *(.dynbss) *(.bss) + *(COMMON) *($COMMON$) + . = ALIGN(4096); } - end = .; + end = ABSOLUTE(.); } -- cgit v1.2.3