uboot/board/hermes/u-boot.lds
<<
>>
Prefs
   1/*
   2 * (C) Copyright 2000
   3 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   4 *
   5 * See file CREDITS for list of people who contributed to this
   6 * project.
   7 *
   8 * This program is free software; you can redistribute it and/or
   9 * modify it under the terms of the GNU General Public License as
  10 * published by the Free Software Foundation; either version 2 of
  11 * the License, or (at your option) any later version.
  12 *
  13 * This program is distributed in the hope that it will be useful,
  14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16 * GNU General Public License for more details.
  17 *
  18 * You should have received a copy of the GNU General Public License
  19 * along with this program; if not, write to the Free Software
  20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  21 * MA 02111-1307 USA
  22 */
  23
  24OUTPUT_ARCH(powerpc)
  25/* Do we need any of these for elf?
  26   __DYNAMIC = 0;    */
  27SECTIONS
  28{
  29  /* Read-only sections, merged into text segment: */
  30  . = + SIZEOF_HEADERS;
  31  .interp : { *(.interp) }
  32  .hash          : { *(.hash)           }
  33  .dynsym        : { *(.dynsym)         }
  34  .dynstr        : { *(.dynstr)         }
  35  .rel.text      : { *(.rel.text)               }
  36  .rela.text     : { *(.rela.text)      }
  37  .rel.data      : { *(.rel.data)               }
  38  .rela.data     : { *(.rela.data)      }
  39  .rel.rodata    : { *(.rel.rodata)     }
  40  .rela.rodata   : { *(.rela.rodata)    }
  41  .rel.got       : { *(.rel.got)                }
  42  .rela.got      : { *(.rela.got)               }
  43  .rel.ctors     : { *(.rel.ctors)      }
  44  .rela.ctors    : { *(.rela.ctors)     }
  45  .rel.dtors     : { *(.rel.dtors)      }
  46  .rela.dtors    : { *(.rela.dtors)     }
  47  .rel.bss       : { *(.rel.bss)                }
  48  .rela.bss      : { *(.rela.bss)               }
  49  .rel.plt       : { *(.rel.plt)                }
  50  .rela.plt      : { *(.rela.plt)               }
  51  .init          : { *(.init)   }
  52  .plt : { *(.plt) }
  53  .text      :
  54  {
  55    /* WARNING - the following is hand-optimized to fit within  */
  56    /* the sector layout of our flash chips!    XXX FIXME XXX   */
  57
  58    arch/powerpc/cpu/mpc8xx/start.o             (.text)
  59    common/dlmalloc.o           (.text)
  60    arch/powerpc/cpu/mpc8xx/interrupts.o        (.text)
  61    arch/powerpc/lib/time.o             (.text)
  62    arch/powerpc/lib/ticks.o            (.text)
  63    arch/powerpc/lib/cache.o            (.text)
  64    lib/crc32.o         (.text)
  65    . = env_offset;
  66    common/env_embedded.o(.text)
  67
  68    *(.text)
  69    *(.got1)
  70  }
  71  _etext = .;
  72  PROVIDE (etext = .);
  73  .rodata    :
  74  {
  75    *(.eh_frame)
  76    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
  77  }
  78  .fini      : { *(.fini)    } =0
  79  .ctors     : { *(.ctors)   }
  80  .dtors     : { *(.dtors)   }
  81
  82  /* Read-write section, merged into data segment: */
  83  . = (. + 0x00FF) & 0xFFFFFF00;
  84  _erotext = .;
  85  PROVIDE (erotext = .);
  86  .reloc   :
  87  {
  88    *(.got)
  89    _GOT2_TABLE_ = .;
  90    *(.got2)
  91    _FIXUP_TABLE_ = .;
  92    *(.fixup)
  93  }
  94  __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
  95  __fixup_entries = (. - _FIXUP_TABLE_)>>2;
  96
  97  .data    :
  98  {
  99    *(.data)
 100    *(.data1)
 101    *(.sdata)
 102    *(.sdata2)
 103    *(.dynamic)
 104    CONSTRUCTORS
 105  }
 106  _edata  =  .;
 107  PROVIDE (edata = .);
 108
 109  . = .;
 110  __u_boot_cmd_start = .;
 111  .u_boot_cmd : { *(.u_boot_cmd) }
 112  __u_boot_cmd_end = .;
 113
 114
 115  . = .;
 116  __start___ex_table = .;
 117  __ex_table : { *(__ex_table) }
 118  __stop___ex_table = .;
 119
 120  . = ALIGN(256);
 121  __init_begin = .;
 122  .text.init : { *(.text.init) }
 123  .data.init : { *(.data.init) }
 124  . = ALIGN(256);
 125  __init_end = .;
 126
 127  __bss_start = .;
 128  .bss (NOLOAD)       :
 129  {
 130   *(.sbss) *(.scommon)
 131   *(.dynbss)
 132   *(.bss)
 133   *(COMMON)
 134   . = ALIGN(4);
 135  }
 136  _end = . ;
 137  PROVIDE (end = .);
 138}
 139