/* $OpenBSD: ld.script,v 1.19 2017/06/21 23:21:35 deraadt Exp $ */ /* * Copyright (c) 2003 Michael Shalayeff * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR OR HIS RELATIVES BE LIABLE FOR ANY DIRECT, * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF MIND, USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. */ OUTPUT_FORMAT("elf32-hppa") OUTPUT_ARCH(hppa) ENTRY($start) SECTIONS { . = + SIZEOF_HEADERS; .text : { kernel_text = . ; *(.text) *(.text.*) *(.reginfo) *(.init) *(.stub) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) . = ALIGN(4096); etext = ABSOLUTE(.); } =0x00000000 . = 0x600000; .rodata : { __rodata_start = .; *(.rodata) *(.rodata1) . = ALIGN(8); __unwind_start = .; *(.PARISC.unwind) __unwind_end = .; . = ALIGN(4096); __rodata_end = .; } =0x00000000 __data_start = ABSOLUTE(.); .data : { $global$ = . ; . += 4; *(.data) CONSTRUCTORS . = ALIGN(4096); edata = ABSOLUTE(.); } =0x00000000 .ctors : { *(.ctors) } .dtors : { *(.dtors) } __bss_start = .; /* .sbss : { *(.sbss) *(.scommon) } */ .bss : { *(.dynbss) *(.bss) *(COMMON) *($COMMON$) . = ALIGN(4096); } end = ABSOLUTE(.); }