OpenCores
URL https://opencores.org/ocsvn/open8_urisc/open8_urisc/trunk

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [gnu/] [binutils/] [ld/] [scripttempl/] [armcoff.sc] - Blame information for rev 299

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 145 khays
# Linker script for ARM COFF.
2
# Based on i386coff.sc by Ian Taylor .
3
test -z "$ENTRY" && ENTRY=_start
4
if test -z "${DATA_ADDR}"; then
5
  if test "$LD_FLAG" = "N" || test "$LD_FLAG" = "n"; then
6
    DATA_ADDR=.
7
  fi
8
fi
9
 
10
# These are substituted in as variables in order to get '}' in a shell
11
# conditional expansion.
12
CTOR='.ctor : {
13
    *(SORT(.ctors.*))
14
    *(.ctor)
15
  }'
16
DTOR='.dtor : {
17
    *(SORT(.dtors.*))
18
    *(.dtor)
19
  }'
20
 
21
cat <
22
OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}", "${LITTLE_OUTPUT_FORMAT}")
23
${LIB_SEARCH_DIRS}
24
 
25
${RELOCATING+ENTRY (${ENTRY})}
26
 
27
SECTIONS
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
}
84
EOF

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.