source: trunk/binutils/ld/scripttempl/armcoff.sc@ 3003

Last change on this file since 3003 was 610, checked in by bird, 22 years ago

This commit was generated by cvs2svn to compensate for changes in r609,
which included commits to RCS files with non-trunk default branches.

  • Property cvs2svn:cvs-rev set to 1.1.1.2
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 2.0 KB
Line 
1# Linker script for ARM COFF.
2# Based on i386coff.sc by Ian Taylor <ian@cygnus.com>.
3test -z "$ENTRY" && ENTRY=_start
4if test -z "${DATA_ADDR}"; then
5 if test "$LD_FLAG" = "N" || test "$LD_FLAG" = "n"; then
6 DATA_ADDR=.
7 fi
8fi
9
10# These are substituted in as variables in order to get '}' in a shell
11# conditional expansion.
12CTOR='.ctor : {
13 *(SORT(.ctors.*))
14 *(.ctor)
15 }'
16DTOR='.dtor : {
17 *(SORT(.dtors.*))
18 *(.dtor)
19 }'
20
21cat <<EOF
22OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}", "${LITTLE_OUTPUT_FORMAT}")
23${LIB_SEARCH_DIRS}
24
25ENTRY(${ENTRY})
26
27SECTIONS
28{
29 /* We start at 0x8000 because gdb assumes it (see FRAME_CHAIN).
30 This is an artifact of the ARM Demon monitor using the bottom 32k
31 as workspace (shared with the FP instruction emulator if
32 present): */
33 .text ${RELOCATING+ 0x8000} : {
34 *(.init)
35 *(.text*)
36 *(.glue_7t)
37 *(.glue_7)
38 *(.rdata)
39 ${CONSTRUCTING+ ___CTOR_LIST__ = .; __CTOR_LIST__ = . ;
40 LONG (-1); *(.ctors); *(.ctor); LONG (0); }
41 ${CONSTRUCTING+ ___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
42 LONG (-1); *(.dtors); *(.dtor); LONG (0); }
43 *(.fini)
44 ${RELOCATING+ etext = .;}
45 ${RELOCATING+ _etext = .;}
46 }
47 .data ${RELOCATING+${DATA_ADDR-0x40000 + (ALIGN(0x8) & 0xfffc0fff)}} : {
48 ${RELOCATING+ __data_start__ = . ;}
49 *(.data*)
50
51 ${RELOCATING+*(.gcc_exc*)}
52 ${RELOCATING+___EH_FRAME_BEGIN__ = . ;}
53 ${RELOCATING+*(.eh_fram*)}
54 ${RELOCATING+___EH_FRAME_END__ = . ;}
55 ${RELOCATING+LONG(0);}
56
57 ${RELOCATING+ __data_end__ = . ;}
58 ${RELOCATING+ edata = .;}
59 ${RELOCATING+ _edata = .;}
60 }
61 ${CONSTRUCTING+${RELOCATING-$CTOR}}
62 ${CONSTRUCTING+${RELOCATING-$DTOR}}
63 .bss ${RELOCATING+ ALIGN(0x8)} :
64 {
65 ${RELOCATING+ __bss_start__ = . ;}
66 *(.bss)
67 *(COMMON)
68 ${RELOCATING+ __bss_end__ = . ;}
69 }
70
71 ${RELOCATING+ end = .;}
72 ${RELOCATING+ _end = .;}
73 ${RELOCATING+ __end__ = .;}
74
75 .stab 0 ${RELOCATING+(NOLOAD)} :
76 {
77 [ .stab ]
78 }
79 .stabstr 0 ${RELOCATING+(NOLOAD)} :
80 {
81 [ .stabstr ]
82 }
83}
84EOF
Note: See TracBrowser for help on using the repository browser.