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

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [gnu/] [binutils/] [ld/] [emulparams/] [criself.sh] - Blame information for rev 146

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

Line No. Rev Author Line
1 145 khays
# This is for embedded products (no MMU) with ELF.
2
MACHINE=
3
SCRIPT_NAME=elf
4
TEMPLATE_NAME=elf32
5
 
6
# Symbols have underscore prepended.
7
OUTPUT_FORMAT="elf32-us-cris"
8
NO_REL_RELOCS=yes
9
ARCH=cris
10
MAXPAGESIZE=32
11
ENTRY=__start
12
EMBEDDED=yes
13
ALIGNMENT=32
14
TEXT_START_ADDR=0
15
 
16
# Put crt0 for flash/eprom etc. in this section.
17
INITIAL_READONLY_SECTIONS=
18
if test -z "${CREATE_SHLIB}"; then
19
  INITIAL_READONLY_SECTIONS=".interp       ${RELOCATING-0} : { *(.interp) }"
20
fi
21
INITIAL_READONLY_SECTIONS="${INITIAL_READONLY_SECTIONS}
22
  .startup : { KEEP(*(.startup)) }"
23
 
24
# Setting __Stext to . in TEXT_START_SYMBOLS doesn't get what we want
25
# most of the time, which is the start of all read-only sections;
26
# there's at least .startup and .init before it.  We have to resort to
27
# trickery.  Note that __Stext is always defined, not PROVIDE:d, since
28
# external tools look for it.
29
TEXT_START_SYMBOLS='__Stext = ADDR (.startup);'
30
 
31
# The __start dance is to get us through assumptions about entry
32
# symbols, and to clear _start for normal use with sane programs.
33
EXECUTABLE_SYMBOLS='
34
__start = DEFINED(__start) ? __start :
35
  DEFINED(_start) ? _start :
36
    DEFINED(start) ? start :
37
      DEFINED(.startup) ? .startup + 2 : 2;
38
'
39
 
40
# Smuggle an "OTHER_TEXT_END_SYMBOLS" here.
41
OTHER_READONLY_SECTIONS="${RELOCATING+PROVIDE (__Etext = .);}"
42
DATA_START_SYMBOLS='PROVIDE (__Sdata = .);'
43
 
44
# Smuggle an "OTHER_DATA_END_SYMBOLS" here.
45
OTHER_SDATA_SECTIONS="${RELOCATING+PROVIDE (__Edata = .);}"
46
 
47
# If .bss does not immediately follow .data but has its own start
48
# address, we can't get to it with OTHER_BSS_SYMBOLS, neither can we
49
# use ADDR(.bss) there.  Instead, we use the symbol support for the
50
# end symbol.
51
OTHER_BSS_END_SYMBOLS='
52
 PROVIDE (__Ebss = .);
53
 __Sbss = ADDR (.bss);
54
 PROVIDE (_bss_start = __Sbss);
55
'
56
OTHER_END_SYMBOLS='PROVIDE (__end = .);'
57
 
58
INIT_START='
59
 . = ALIGN(2);
60
 ___init__start = .;
61
 PROVIDE (___do_global_ctors = .);
62
'
63
 
64
INIT_END='
65
 PROVIDE (__init__end = .);
66
 PROVIDE (___init__end = .);
67
'
68
 
69
FINI_START='
70
 . = ALIGN (2);
71
 ___fini__start = .;
72
 PROVIDE (___do_global_dtors = .);
73
'
74
 
75
FINI_END='
76
 PROVIDE (__fini__end = .);
77
 ___fini__end = .;
78
'
79
 
80
CTOR_START='
81
 PROVIDE (___ctors = .);
82
 ___elf_ctors_dtors_begin = .;
83
'
84
 
85
CTOR_END='
86
 PROVIDE (___ctors_end = .);
87
'
88
 
89
DTOR_START='
90
 PROVIDE (___dtors = .);
91
'
92
 
93
CTOR_END='
94
 PROVIDE (___dtors_end = .);
95
 ___elf_ctors_dtors_end = .;
96
'
97
 
98
# Also add the other symbols provided for rsim/xsim and elinux.
99
OTHER_SYMBOLS='
100
  PROVIDE (__Eall = .);
101
  PROVIDE (__Endmem = 0x10000000);
102
  PROVIDE (__Stacksize = 0);
103
'
104
NO_SMALL_DATA=yes

powered by: WebSVN 2.1.0

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