Merge branch 'master' of git://www.denx.de/git/u-boot-cfi-flash
[platform/kernel/u-boot.git] / board / rsdproto / u-boot.lds
1 /*
2  * (C) Copyright 2000
3  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4  *
5  * SPDX-License-Identifier:     GPL-2.0+
6  */
7
8 OUTPUT_ARCH(powerpc)
9 /* Do we need any of these for elf?
10    __DYNAMIC = 0;    */
11 SECTIONS
12 {
13   /* Read-only sections, merged into text segment: */
14   . = + SIZEOF_HEADERS;
15   .interp : { *(.interp) }
16   .hash          : { *(.hash)           }
17   .dynsym        : { *(.dynsym)         }
18   .dynstr        : { *(.dynstr)         }
19   .rel.text      : { *(.rel.text)               }
20   .rela.text     : { *(.rela.text)      }
21   .rel.data      : { *(.rel.data)               }
22   .rela.data     : { *(.rela.data)      }
23   .rel.rodata    : { *(.rel.rodata)     }
24   .rela.rodata   : { *(.rela.rodata)    }
25   .rel.got       : { *(.rel.got)                }
26   .rela.got      : { *(.rela.got)               }
27   .rel.ctors     : { *(.rel.ctors)      }
28   .rela.ctors    : { *(.rela.ctors)     }
29   .rel.dtors     : { *(.rel.dtors)      }
30   .rela.dtors    : { *(.rela.dtors)     }
31   .rel.bss       : { *(.rel.bss)                }
32   .rela.bss      : { *(.rela.bss)               }
33   .rel.plt       : { *(.rel.plt)                }
34   .rela.plt      : { *(.rela.plt)               }
35   .init          : { *(.init)   }
36   .plt : { *(.plt) }
37   .text      :
38   {
39     arch/powerpc/cpu/mpc8260/start.o    (.text)
40     *(.text)
41     *(.got1)
42     /*. = env_offset; */
43   }
44   _etext = .;
45   PROVIDE (etext = .);
46   .rodata    :
47   {
48     *(.eh_frame)
49     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
50   }
51   .fini      : { *(.fini)    } =0
52   .ctors     : { *(.ctors)   }
53   .dtors     : { *(.dtors)   }
54
55   /* Read-write section, merged into data segment: */
56   . = (. + 0x0FFF) & 0xFFFFF000;
57   _erotext = .;
58   PROVIDE (erotext = .);
59   .reloc   :
60   {
61     _GOT2_TABLE_ = .;
62     KEEP(*(.got2))
63     KEEP(*(.got))
64     PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
65     _FIXUP_TABLE_ = .;
66     KEEP(*(.fixup))
67   }
68   __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
69   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
70
71   .data    :
72   {
73     *(.data)
74     *(.data1)
75     *(.sdata)
76     *(.sdata2)
77     *(.dynamic)
78     CONSTRUCTORS
79   }
80   _edata  =  .;
81   PROVIDE (edata = .);
82
83   . = .;
84
85   . = ALIGN(4);
86   .u_boot_list : {
87         KEEP(*(SORT(.u_boot_list*)));
88   }
89
90
91   . = .;
92   __start___ex_table = .;
93   __ex_table : { *(__ex_table) }
94   __stop___ex_table = .;
95
96   . = ALIGN(4096);
97   __init_begin = .;
98   .text.init : { *(.text.init) }
99   .data.init : { *(.data.init) }
100   . = ALIGN(4096);
101   __init_end = .;
102
103   __bss_start = .;
104   .bss (NOLOAD)       :
105   {
106    *(.sbss) *(.scommon)
107    *(.dynbss)
108    *(.bss)
109    *(COMMON)
110    . = ALIGN(4);
111   }
112   __bss_end = . ;
113   PROVIDE (end = .);
114 }