initial commit
[freebsd-arm:freebsd-arm.git] / boot / arm / at91 / boot0 / linker.cfg
1 /*******************************************************************************
2  *
3  * Filename: linker.cfg
4  *
5  * linker config file used for internal RAM or eeprom images at address 0.
6  *
7  * Revision information:
8  *
9  * 20AUG2004    kb_admin        initial creation
10  * 12JAN2005    kb_admin        move data to SDRAM
11  *
12  * BEGIN_KBDD_BLOCK
13  * No warranty, expressed or implied, is included with this software.  It is
14  * provided "AS IS" and no warranty of any kind including statutory or aspects
15  * relating to merchantability or fitness for any purpose is provided.  All
16  * intellectual property rights of others is maintained with the respective
17  * owners.  This software is not copyrighted and is intended for reference
18  * only.
19  * END_BLOCK
20  *
21  * $FreeBSD$
22  ******************************************************************************/
23 OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm",
24               "elf32-littlearm")
25 OUTPUT_ARCH(arm)
26 ENTRY(start)
27  SEARCH_DIR(/usr/local/arm/2.95.3/arm-linux/lib);
28 SECTIONS
29 {
30   /* Read-only sections, merged into text segment: */
31   . = 0;
32   .text      :
33   {
34     *(.text)
35     *(.text.*)
36     *(.stub)
37     /* .gnu.warning sections are handled specially by elf32.em.  */
38     *(.gnu.warning)
39     *(.gnu.linkonce.t.*)
40     *(.glue_7t) *(.glue_7)
41   }
42   PROVIDE (__etext = .);
43   PROVIDE (_etext = .);
44   PROVIDE (etext = .);
45   .data    :
46   {
47     __data_start = . ;
48     *(.data)
49     *(.data.*)
50     *(.gnu.linkonce.d.*)
51     SORT(CONSTRUCTORS)
52   }
53   _edata = .;
54   PROVIDE (edata = .);
55   __bss_start = .;
56   __bss_start__ = .;
57   .sbss      :
58   {
59     PROVIDE (__sbss_start = .);
60     PROVIDE (___sbss_start = .);
61     *(.dynsbss)
62     *(.sbss)
63     *(.sbss.*)
64     *(.gnu.linkonce.sb.*)
65     *(.scommon)
66     PROVIDE (__sbss_end = .);
67     PROVIDE (___sbss_end = .);
68   }
69   .bss       :
70   {
71    *(.dynbss)
72    *(.bss)
73    *(.bss.*)
74    *(.gnu.linkonce.b.*)
75    *(COMMON)
76    /* Align here to ensure that the .bss section occupies space up to
77       _end.  Align after .bss to ensure correct alignment even if the
78       .bss section disappears because there are no input sections.  */
79    . = ALIGN(32 / 8);
80   }
81   . = ALIGN(32 / 8);
82   _end = .;
83   _bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
84   PROVIDE (end = .);
85 }