/* * * Copyright (C) 2008 Advanced Micro Devices, Inc. * * 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. * 3. The name of the author may not be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 CONTRIBUTORS 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 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. */ #if CONFIG(LP_ARCH_X86_64) OUTPUT_FORMAT(elf64-x86-64) OUTPUT_ARCH(x86_64) #else OUTPUT_FORMAT(elf32-i386) OUTPUT_ARCH(i386) #endif ENTRY(_entry) SECTIONS { . = CONFIG_LP_BASE_ADDRESS; . = ALIGN(16); _start = .; .text : { _text = .; *(.text._entry) *(.text) *(.text.*) _etext = .; } .rodata : { _rodata = .; *(.rodata) *(.rodata.*) _erodata = .; } .data : { _data = .; *(.data) *(.data.*) _edata = .; } .bss : { _bss = .; *(.sbss) *(.sbss.*) *(.bss) *(.bss.*) *(COMMON) _ebss = .; /* Stack and heap */ . = ALIGN(16); _heap = .; . += CONFIG_LP_HEAP_SIZE; . = ALIGN(16); _eheap = .; _stack = .; . += CONFIG_LP_STACK_SIZE; . = ALIGN(16); _estack = .; } _end = .; /DISCARD/ : { *(.comment) *(.note*) } }