summaryrefslogtreecommitdiff
path: root/ld/scripttempl/alphavms.sc
blob: 0a1771176c8a2eabaa2f9e3de99418ab13a5f6c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# Linker script for Alpha VMS systems.
# Tristan Gingold <gingold@adacore.com>.

PAGESIZE=0x10000

cat <<EOF
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
${LIB_SEARCH_DIRS}

SECTIONS
{
  ${RELOCATING+. = ${PAGESIZE};}

  /* RW initialized data.  */
  \$DATA\$ ALIGN (${PAGESIZE}) : {
    *(\$DATA\$)
  }
  /* RW data unmodified (zero-initialized).  */
  \$BSS\$ ALIGN (${PAGESIZE}) : {
    *(\$BSS\$)
  }
  /* RO, executable code.  */
  \$CODE\$ ALIGN (${PAGESIZE}) : {
    *(\$CODE\$ *\$CODE*)
  }
  /* RO initialized data.  */
  \$LITERAL\$ ALIGN (${PAGESIZE}) : {
    *(\$LINK\$)
    *(\$LITERAL\$)
    *(\$READONLY\$)
    *(\$READONLY_ADDR\$)
    *(eh_frame)
    *(jcr)
    *(ctors)
    *(dtors)
    *(gcc_except_table)

    /* LIB$INITIALIZE stuff.  */
    *(LIB\$INITIALIZDZ)	/* Start marker.  */
    *(LIB\$INITIALIZD_)	/* Hi priority.  */
    *(LIB\$INITIALIZE)	/* User.  */
    *(LIB\$INITIALIZE$)	/* End marker.  */
  }

  \$DWARF\$ ALIGN (${PAGESIZE}) : {
    \$dwarf2.debug_pubtypes = .;
    *(debug_pubtypes)
    \$dwarf2.debug_ranges = .;
    *(debug_ranges)

    \$dwarf2.debug_abbrev = .;
    *(debug_abbrev)
    \$dwarf2.debug_aranges = .;
    *(debug_aranges)
    \$dwarf2.debug_frame = .;
    *(debug_frame)
    \$dwarf2.debug_info = .;
    *(debug_info)
    \$dwarf2.debug_line = .;
    *(debug_line)
    \$dwarf2.debug_loc = .;
    *(debug_loc)
    \$dwarf2.debug_macinfo = .;
    *(debug_macinfo)
    \$dwarf2.debug_macro = .;
    *(debug_macro)
    \$dwarf2.debug_pubnames = .;
    *(debug_pubnames)
    \$dwarf2.debug_str = .;
    *(debug_str)
    \$dwarf2.debug_zzzzzz = .;
  }

  \$DST\$ 0 : {
    *(\$DST\$)
  }
}
EOF