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