1/*
2 * (C) Copyright 2006
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)
25SECTIONS
26{
27  /* Read-only sections, merged into text segment: */
28  . = + SIZEOF_HEADERS;
29  .interp : { *(.interp) }
30  .hash          : { *(.hash)		}
31  .dynsym        : { *(.dynsym)		}
32  .dynstr        : { *(.dynstr)		}
33  .rel.text      : { *(.rel.text)		}
34  .rela.text     : { *(.rela.text)	}
35  .rel.data      : { *(.rel.data)		}
36  .rela.data     : { *(.rela.data)	}
37  .rel.rodata    : { *(.rel.rodata)	}
38  .rela.rodata   : { *(.rela.rodata)	}
39  .rel.got       : { *(.rel.got)		}
40  .rela.got      : { *(.rela.got)		}
41  .rel.ctors     : { *(.rel.ctors)	}
42  .rela.ctors    : { *(.rela.ctors)	}
43  .rel.dtors     : { *(.rel.dtors)	}
44  .rela.dtors    : { *(.rela.dtors)	}
45  .rel.bss       : { *(.rel.bss)		}
46  .rela.bss      : { *(.rela.bss)		}
47  .rel.plt       : { *(.rel.plt)		}
48  .rela.plt      : { *(.rela.plt)		}
49  .init          : { *(.init)	}
50  .plt : { *(.plt) }
51  .text      :
52  {
53    arch/powerpc/cpu/mpc83xx/start.o	(.text)
54    *(.text)
55    *(.got1)
56    . = ALIGN(16);
57    *(.eh_frame)
58    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
59  }
60  .fini      : { *(.fini)    } =0
61  .ctors     : { *(.ctors)   }
62  .dtors     : { *(.dtors)   }
63
64  /* Read-write section, merged into data segment: */
65  . = (. + 0x0FFF) & 0xFFFFF000;
66  _erotext = .;
67  PROVIDE (erotext = .);
68  .reloc   :
69  {
70    *(.got)
71    _GOT2_TABLE_ = .;
72    *(.got2)
73    _FIXUP_TABLE_ = .;
74    *(.fixup)
75  }
76  __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2;
77  __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
78
79  .data    :
80  {
81    *(.data)
82    *(.data1)
83    *(.sdata)
84    *(.sdata2)
85    *(.dynamic)
86    CONSTRUCTORS
87  }
88  _edata  =  .;
89  PROVIDE (edata = .);
90
91  . = .;
92  __u_boot_cmd_start = .;
93  .u_boot_cmd : { *(.u_boot_cmd) }
94  __u_boot_cmd_end = .;
95
96
97  . = .;
98  __start___ex_table = .;
99  __ex_table : { *(__ex_table) }
100  __stop___ex_table = .;
101
102  . = ALIGN(4096);
103  __init_begin = .;
104  .text.init : { *(.text.init) }
105  .data.init : { *(.data.init) }
106  . = ALIGN(4096);
107  __init_end = .;
108
109  __bss_start = .;
110  .bss (NOLOAD)       :
111  {
112   *(.sbss) *(.scommon)
113   *(.dynbss)
114   *(.bss)
115   *(COMMON)
116   . = ALIGN(4);
117  }
118  _end = . ;
119  PROVIDE (end = .);
120}
121ENTRY(_start)
122