source: rtems/c/src/lib/libbsp/arm/nds/coproc/coproc.ld @ 311dfa6

4.104.114.95
Last change on this file since 311dfa6 was 311dfa6, checked in by Joel Sherrill <joel.sherrill@…>, on 04/16/08 at 18:37:33

2008-04-16 Matthieu Bucchianeri <mbucchia@…>

  • ChangeLog?, Makefile.am, README, bsp_specs, configure.ac, mk_libnds.sh, patch.libnds, preinstall.am, block/block.c, clock/clock.c, console/console.c, coproc/coproc.S, coproc/coproc.c, coproc/coproc.ld, dswifi/dswifi_license.txt, dswifi/makefile, dswifi/arm7/makefile, dswifi/arm7/source/wifi_arm7.c, dswifi/arm7/source/wifi_arm7.h, dswifi/arm9/makefile, dswifi/arm9/source/sgIP.c, dswifi/arm9/source/sgIP.h, dswifi/arm9/source/sgIP_ARP.c, dswifi/arm9/source/sgIP_ARP.h, dswifi/arm9/source/sgIP_Config.h, dswifi/arm9/source/sgIP_DHCP.c, dswifi/arm9/source/sgIP_DHCP.h, dswifi/arm9/source/sgIP_DNS.c, dswifi/arm9/source/sgIP_DNS.h, dswifi/arm9/source/sgIP_Hub.c, dswifi/arm9/source/sgIP_Hub.h, dswifi/arm9/source/sgIP_ICMP.c, dswifi/arm9/source/sgIP_ICMP.h, dswifi/arm9/source/sgIP_IP.c, dswifi/arm9/source/sgIP_IP.h, dswifi/arm9/source/sgIP_TCP.c, dswifi/arm9/source/sgIP_TCP.h, dswifi/arm9/source/sgIP_UDP.c, dswifi/arm9/source/sgIP_UDP.h, dswifi/arm9/source/sgIP_memblock.c, dswifi/arm9/source/sgIP_memblock.h, dswifi/arm9/source/sgIP_sockets.c, dswifi/arm9/source/sgIP_sockets.h, dswifi/arm9/source/wifi_arm9.c, dswifi/arm9/source/wifi_arm9.h, dswifi/common/source/dsregs.h, dswifi/common/source/spinlock.h, dswifi/common/source/spinlock.s, dswifi/common/source/wifi_shared.h, dswifi/include/dswifi7.h, dswifi/include/dswifi9.h, dswifi/include/dswifi_version.h, dswifi/include/netdb.h, dswifi/include/sgIP_errno.h, dswifi/include/netinet/in.h, fb/fb.c, fb/fb.h, include/bsp.h, include/my_ipc.h, include/tm27.h, include/types.h, include/sys/iosupport.h, irq/irq.c, irq/irq.h, libfat/gba/include/fat.h, libfat/include/fat.h, libfat/nds/include/fat.h, libfat/source/bit_ops.h, libfat/source/cache.c, libfat/source/cache.h, libfat/source/common.h, libfat/source/directory.c, libfat/source/directory.h, libfat/source/fatdir.c, libfat/source/fatdir.h, libfat/source/fatfile.c, libfat/source/fatfile.h, libfat/source/file_allocation_table.c, libfat/source/file_allocation_table.h, libfat/source/filetime.c, libfat/source/filetime.h, libfat/source/libfat.c, libfat/source/mem_allocate.h, libfat/source/partition.c, libfat/source/partition.h, libfat/source/disc_io/disc.c, libfat/source/disc_io/disc.h, libfat/source/disc_io/disc_io.h, libfat/source/disc_io/io_cf_common.c, libfat/source/disc_io/io_cf_common.h, libfat/source/disc_io/io_dldi.h, libfat/source/disc_io/io_dldi.s, libfat/source/disc_io/io_efa2.c, libfat/source/disc_io/io_efa2.h, libfat/source/disc_io/io_fcsr.c, libfat/source/disc_io/io_fcsr.h, libfat/source/disc_io/io_m3_common.c, libfat/source/disc_io/io_m3_common.h, libfat/source/disc_io/io_m3cf.c, libfat/source/disc_io/io_m3cf.h, libfat/source/disc_io/io_m3sd.c, libfat/source/disc_io/io_m3sd.h, libfat/source/disc_io/io_mpcf.c, libfat/source/disc_io/io_mpcf.h, libfat/source/disc_io/io_njsd.c, libfat/source/disc_io/io_njsd.h, libfat/source/disc_io/io_nmmc.c, libfat/source/disc_io/io_nmmc.h, libfat/source/disc_io/io_sc_common.c, libfat/source/disc_io/io_sc_common.h, libfat/source/disc_io/io_sccf.c, libfat/source/disc_io/io_sccf.h, libfat/source/disc_io/io_scsd.c, libfat/source/disc_io/io_scsd.h, libfat/source/disc_io/io_scsd_s.s, libfat/source/disc_io/io_sd_common.c, libfat/source/disc_io/io_sd_common.h, libnds/Makefile.arm7, libnds/Makefile.arm9, libnds/libnds_license.txt, libnds/basicARM7/source/defaultARM7.c, libnds/include/default_font_bin.h, libnds/include/gbfs.h, libnds/include/nds.h, libnds/include/nds/bios.h, libnds/include/nds/card.h, libnds/include/nds/dma.h, libnds/include/nds/interrupts.h, libnds/include/nds/ipc.h, libnds/include/nds/jtypes.h, libnds/include/nds/memory.h, libnds/include/nds/registers_alt.h, libnds/include/nds/reload.h, libnds/include/nds/system.h, libnds/include/nds/timers.h, libnds/include/nds/arm7/audio.h, libnds/include/nds/arm7/clock.h, libnds/include/nds/arm7/serial.h, libnds/include/nds/arm7/touch.h, libnds/include/nds/arm9/background.h, libnds/include/nds/arm9/boxtest.h, libnds/include/nds/arm9/cache.h, libnds/include/nds/arm9/console.h, libnds/include/nds/arm9/exceptions.h, libnds/include/nds/arm9/image.h, libnds/include/nds/arm9/input.h, libnds/include/nds/arm9/math.h, libnds/include/nds/arm9/ndsmotion.h, libnds/include/nds/arm9/pcx.h, libnds/include/nds/arm9/postest.h, libnds/include/nds/arm9/rumble.h, libnds/include/nds/arm9/sound.h, libnds/include/nds/arm9/sprite.h, libnds/include/nds/arm9/trig_lut.h, libnds/include/nds/arm9/video.h, libnds/include/nds/arm9/videoGL.h, libnds/source/arm7/audio.c, libnds/source/arm7/clock.c, libnds/source/arm7/microphone.c, libnds/source/arm7/spi.c, libnds/source/arm7/touch.c, libnds/source/arm7/userSettings.c, libnds/source/arm9/COS.bin, libnds/source/arm9/COS.s, libnds/source/arm9/SIN.bin, libnds/source/arm9/SIN.s, libnds/source/arm9/TAN.bin, libnds/source/arm9/TAN.s, libnds/source/arm9/boxtest.c, libnds/source/arm9/console.c, libnds/source/arm9/dcache.s, libnds/source/arm9/default_font.bin, libnds/source/arm9/default_font.s, libnds/source/arm9/exceptionHandler.S, libnds/source/arm9/exceptionHandler.s, libnds/source/arm9/exceptions.c, libnds/source/arm9/gurumeditation.c, libnds/source/arm9/icache.s, libnds/source/arm9/image.c, libnds/source/arm9/initSystem.c, libnds/source/arm9/keys.c, libnds/source/arm9/ndsmotion.c, libnds/source/arm9/pcx.c, libnds/source/arm9/rumble.c, libnds/source/arm9/sound.c, libnds/source/arm9/system.c, libnds/source/arm9/touch.c, libnds/source/arm9/video.c, libnds/source/arm9/videoGL.c, libnds/source/common/biosCalls.s, libnds/source/common/card.c, libnds/source/common/gbfs.c, libnds/source/common/interruptDispatcher.s, libnds/source/common/interrupts.c, rtc/rtc.c, sound/sound.c, sound/sound.h, start/start.S, startup/linkcmds, startup/start.c, timer/timer.c, tools/Makefile.am, tools/bin2s, tools/bin2s.c, tools/configure.ac, tools/runtest, tools/ndstool/include/arm7_sha1_homebrew.h, tools/ndstool/include/arm7_sha1_nintendo.h, tools/ndstool/include/banner.h, tools/ndstool/include/bigint.h, tools/ndstool/include/crc.h, tools/ndstool/include/default_icon.h, tools/ndstool/include/encryption.h, tools/ndstool/include/header.h, tools/ndstool/include/hook.h, tools/ndstool/include/little.h, tools/ndstool/include/loadme.h, tools/ndstool/include/logo.h, tools/ndstool/include/ndscreate.h, tools/ndstool/include/ndsextract.h, tools/ndstool/include/ndstool.h, tools/ndstool/include/ndstree.h, tools/ndstool/include/overlay.h, tools/ndstool/include/passme.h, tools/ndstool/include/passme_sram.h, tools/ndstool/include/passme_vhd1.h, tools/ndstool/include/passme_vhd2.h, tools/ndstool/include/raster.h, tools/ndstool/include/sha1.h, tools/ndstool/include/types.h, tools/ndstool/source/arm7_sha1_homebrew.c, tools/ndstool/source/arm7_sha1_nintendo.c, tools/ndstool/source/banner.cpp, tools/ndstool/source/bigint.cpp, tools/ndstool/source/compile_date.c, tools/ndstool/source/crc.cpp, tools/ndstool/source/default_icon.c, tools/ndstool/source/encryption.cpp, tools/ndstool/source/header.cpp, tools/ndstool/source/hook.cpp, tools/ndstool/source/loadme.c, tools/ndstool/source/logo.cpp, tools/ndstool/source/ndscodes.cpp, tools/ndstool/source/ndscreate.cpp, tools/ndstool/source/ndsextract.cpp, tools/ndstool/source/ndstool.cpp, tools/ndstool/source/ndstree.cpp, tools/ndstool/source/passme.cpp, tools/ndstool/source/passme_sram.c, tools/ndstool/source/raster.cpp, tools/ndstool/source/sha1.cpp, touchscreen/README.reco, touchscreen/parser.c, touchscreen/reco.c, touchscreen/reco.h, touchscreen/touchscreen.c, touchscreen/touchscreen.h, wifi/compat.c, wifi/compat.h, wifi/wifi.c: New files.
  • Property mode set to 100644
File size: 4.9 KB
Line 
1OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
2OUTPUT_ARCH(arm)
3ENTRY(_start)
4
5MEMORY {
6
7        rom     : ORIGIN = 0x08000000, LENGTH = 32M
8        iwram   : ORIGIN = 0x037f8000, LENGTH = 96K
9}
10
11__iwram_start   =       ORIGIN(iwram);
12__iwram_top     =       ORIGIN(iwram)+ LENGTH(iwram);
13__sp_irq        =       __iwram_top - 0x60;
14__sp_svc        =       __sp_irq - 0x100;
15__sp_usr        =       __sp_svc - 0x100;
16
17__irq_flags     =       __iwram_top - 8;
18__irq_vector    =       __iwram_top - 4;
19
20SECTIONS
21{
22        .init   :
23        {
24                __text_start = . ;
25                KEEP (*(.init))
26                . = ALIGN(4);  /* REQUIRED. LD is flaky without it. */
27                } >iwram = 0xff
28        .plt : { *(.plt) } >iwram = 0xff
29
30        .text :   /* ALIGN (4): */
31        {
32
33                *(.text*)
34                *(.stub)
35                /* .gnu.warning sections are handled specially by elf32.em.  */
36                *(.gnu.warning)
37                *(.gnu.linkonce.t*)
38                *(.glue_7)
39                *(.glue_7t)
40                . = ALIGN(4);  /* REQUIRED. LD is flaky without it. */
41        } >iwram = 0xff
42
43        .fini           :
44        {
45                KEEP (*(.fini))
46        } >iwram =0xff
47
48        __text_end = . ;
49
50        .rodata :
51        {
52                *(.rodata)
53                *all.rodata*(*)
54                *(.roda)
55                *(.rodata.*)
56                *(.gnu.linkonce.r*)
57                SORT(CONSTRUCTORS)
58                . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
59        } >iwram = 0xff
60
61        .ARM.extab   : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >iwram
62        __exidx_start = .;
63        .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >iwram
64        __exidx_end = .;
65
66/* Ensure the __preinit_array_start label is properly aligned.  We
67   could instead move the label definition inside the section, but
68   the linker would then create the section even if it turns out to
69   be empty, which isn't pretty.  */
70        . = ALIGN(32 / 8);
71        PROVIDE (__preinit_array_start = .);
72        .preinit_array     : { KEEP (*(.preinit_array)) } >iwram = 0xff
73        PROVIDE (__preinit_array_end = .);
74        PROVIDE (__init_array_start = .);
75        .init_array     : { KEEP (*(.init_array)) } >iwram = 0xff
76        PROVIDE (__init_array_end = .);
77        PROVIDE (__fini_array_start = .);
78        .fini_array     : { KEEP (*(.fini_array)) } >iwram = 0xff
79        PROVIDE (__fini_array_end = .);
80
81        .ctors :
82        {
83        /* gcc uses crtbegin.o to find the start of the constructors, so
84                we make sure it is first.  Because this is a wildcard, it
85                doesn't matter if the user does not actually link against
86                crtbegin.o; the linker won't look for a file to match a
87                wildcard.  The wildcard also means that it doesn't matter which
88                directory crtbegin.o is in.  */
89                KEEP (*crtbegin.o(.ctors))
90                KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
91                KEEP (*(SORT(.ctors.*)))
92                KEEP (*(.ctors))
93                . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
94        } >iwram = 0xff
95
96        .dtors :
97        {
98                KEEP (*crtbegin.o(.dtors))
99                KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
100                KEEP (*(SORT(.dtors.*)))
101                KEEP (*(.dtors))
102                . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
103        } >iwram = 0xff
104
105        .eh_frame :
106        {
107                KEEP (*(.eh_frame))
108                . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
109        } >iwram = 0xff
110
111        .gcc_except_table :
112        {
113                *(.gcc_except_table)
114                . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
115        } >iwram = 0xff
116        .jcr            : { KEEP (*(.jcr)) } >iwram = 0
117        .got            : { *(.got.plt) *(.got) } >iwram = 0
118
119
120        .iwram ALIGN(4) :
121        {
122                __iwram_start = ABSOLUTE(.) ;
123                *(.iwram)
124                *iwram.*(.text)
125                . = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
126                __iwram_end = ABSOLUTE(.) ;
127        } >iwram = 0xff
128
129
130        .data ALIGN(4) :        {
131                __data_start = ABSOLUTE(.);
132                *(.data)
133                *(.data.*)
134                *(.gnu.linkonce.d*)
135                CONSTRUCTORS
136                . = ALIGN(4);
137                __data_end = ABSOLUTE(.) ;
138        } >iwram = 0xff
139
140
141
142        .bss ALIGN(4) :
143        {
144                __bss_start = ABSOLUTE(.);
145                __bss_start__ = ABSOLUTE(.);
146                *(.dynbss)
147                *(.gnu.linkonce.b*)
148                *(.bss*)
149                *(COMMON)
150                . = ALIGN(4);    /* REQUIRED. LD is flaky without it. */
151        } >iwram
152
153        __bss_end = . ;
154        __bss_end__ = . ;
155
156        _end = . ;
157        __end__ = . ;
158        PROVIDE (end = _end);
159
160        /* Stabs debugging sections.  */
161        .stab 0 : { *(.stab) }
162        .stabstr 0 : { *(.stabstr) }
163        .stab.excl 0 : { *(.stab.excl) }
164        .stab.exclstr 0 : { *(.stab.exclstr) }
165        .stab.index 0 : { *(.stab.index) }
166        .stab.indexstr 0 : { *(.stab.indexstr) }
167        .comment 0 : { *(.comment) }
168        /*      DWARF debug sections.
169                Symbols in the DWARF debugging sections are relative to the beginning
170                of the section so we begin them at 0.  */
171        /* DWARF 1 */
172        .debug          0 : { *(.debug) }
173        .line           0 : { *(.line) }
174        /* GNU DWARF 1 extensions */
175        .debug_srcinfo  0 : { *(.debug_srcinfo) }
176        .debug_sfnames  0 : { *(.debug_sfnames) }
177        /* DWARF 1.1 and DWARF 2 */
178        .debug_aranges  0 : { *(.debug_aranges) }
179        .debug_pubnames 0 : { *(.debug_pubnames) }
180        /* DWARF 2 */
181        .debug_info     0 : { *(.debug_info) }
182        .debug_abbrev   0 : { *(.debug_abbrev) }
183        .debug_line     0 : { *(.debug_line) }
184        .debug_frame    0 : { *(.debug_frame) }
185        .debug_str      0 : { *(.debug_str) }
186        .debug_loc      0 : { *(.debug_loc) }
187        .debug_macinfo  0 : { *(.debug_macinfo) }
188        /* SGI/MIPS DWARF 2 extensions */
189        .debug_weaknames 0 : { *(.debug_weaknames) }
190        .debug_funcnames 0 : { *(.debug_funcnames) }
191        .debug_typenames 0 : { *(.debug_typenames) }
192        .debug_varnames  0 : { *(.debug_varnames) }
193        .stack 0x80000 : { _stack = .; *(.stack) }
194        /* These must appear regardless of  .  */
195}
Note: See TracBrowser for help on using the repository browser.