aboutsummaryrefslogblamecommitdiffstats
path: root/erts/emulator/sys/ose/gcc_4.4.3_lm_ppc.lcf
blob: a19d23facf517944cacc8e6abe94d369f769857c (plain) (tree)






























                                                                                

























































                                                                



                  
























































































                                                         
/*******************************************************************************
 * Copyright (C) 2013-2014 by Enea Software AB,
 * 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.
 *
 * 3. Neither the name of the copyright holder nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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.
 ******************************************************************************/

OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc", "elf32-powerpc")
OUTPUT_ARCH("powerpc")
ENTRY("crt0_lm")
MEMORY
{
 rom : ORIGIN = 0x01000000, LENGTH = 0x01000000
 ram : ORIGIN = 0x02000000, LENGTH = 0x01000000
}
PHDRS
{
  ph_conf PT_LOAD ;
 ph_rom PT_LOAD ;
 ph_ram PT_LOAD ;
}
SECTIONS
{
 .text :
 {
  *(.text_first)
  *(.text)
  *(.text.*)
  *(.stub)
  *(oscode)
  *(.init*)
  *(.fini*)
  *(.gnu.warning)
  *(.gnu.linkonce.t.*)
  *(.glue_7t)
  *(.glue_7)
 } > rom :ph_rom = 0
 .ose_sfk_biosentry :
 {
  *(.ose_sfk_biosentry)
        } > rom :ph_rom
 .ctors :
 {
  __CTOR_LIST__ = .;
  *(.ctors)
  *(SORT(.ctors.*))
  __CTOR_END__ = .;
 } > rom :ph_rom
 .dtors :
 {
  __DTOR_LIST__ = .;
  *(.dtors)
  *(SORT(.dtors.*))
  __DTOR_END__ = .;
 } > rom :ph_rom
 OSESYMS :
 {
  *(.osesyms)
 } > rom :ph_rom
 .rodata :
 {
  *(.rodata)
  *(.rodata.*)
  *(.gnu.linkonce.r.*)
 } > rom :ph_rom
 .eh_frame_hdr :
 {
  *(.eh_frame_hdr)
 } > rom :ph_rom
 .eh_frame :
 {
  __EH_FRAME_BEGIN__ = .;
  *(.eh_frame)
  LONG(0)
  __EH_FRAME_END__ = .;
 } > rom :ph_rom
 .gcc_except_table :
 {
  *(.gcc_except_table .gcc_except_table.*)
 } > rom :ph_rom
 .sdata2 :
 {
  PROVIDE (_SDA2_BASE_ = .);
  *(.sdata2)
  *(.sdata2.*)
  *(.gnu.linkonce.s2.*)
 } > rom :ph_rom
 .sbss2 :
 {
  *(.sbss2)
  *(.sbss2.*)
  *(.gnu.linkonce.sb2.*)
 } > rom :ph_rom
 LMCONF :
 {
  obj/?*?/ose_confd.o(.rodata)
  *(LMCONF)
 } > rom :ph_conf
 .data :
 {
  LONG(0xDEADBABE)
  *(.data)
  *(.data.*)
  *(.gnu.linkonce.d.*)
  SORT(CONSTRUCTORS)
  . = ALIGN(0x10);
 } > ram :ph_ram = 0
        .sdata2 :
   {
         _SDA2_BASE_ = .;
             *(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
   }> ram :ph_ram
 .sdata :
 {
         PROVIDE (_SDA_BASE_ = .);
  *(.sdata)
  *(.sdata.*)
  *(.gnu.linkonce.s.*)
 } > ram :ph_ram
 .sbss :
 {
  *(.sbss)
  *(.sbss.*)
  *(.scommon)
  *(.gnu.linkonce.sb.*)
 } > ram :ph_ram
 .bss (NOLOAD) :
 {
  *(.bss)
  *(.bss.*)
  *(COMMON)
  *(.gnu.linkonce.b.*)
  *(.osvars)
 } > ram :ph_ram
 .ignore (NOLOAD) :
 {
  *(.rel.dyn)
 } > ram :ph_ram
 .debug 0 : { *(.debug) }
 .line 0 : { *(.line) }
 .debug_srcinfo 0 : { *(.debug_srcinfo) }
 .debug_sfnames 0 : { *(.debug_sfnames) }
 .debug_aranges 0 : { *(.debug_aranges) }
 .debug_pubnames 0 : { *(.debug_pubnames) }
 .debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) }
 .debug_abbrev 0 : { *(.debug_abbrev) }
 .debug_line 0 : { *(.debug_line) }
 .debug_frame 0 : { *(.debug_frame) }
 .debug_str 0 : { *(.debug_str) }
 .debug_loc 0 : { *(.debug_loc) }
 .debug_macinfo 0 : { *(.debug_macinfo) }
 .debug_weaknames 0 : { *(.debug_weaknames) }
 .debug_funcnames 0 : { *(.debug_funcnames) }
 .debug_typenames 0 : { *(.debug_typenames) }
 .debug_varnames 0 : { *(.debug_varnames) }
}
__OSESYMS_START = ADDR(OSESYMS);
__OSESYMS_END = ADDR(OSESYMS) + SIZEOF(OSESYMS);