| 1 | # Linker script for Alpha VMS systems. |
| 2 | # Tristan Gingold <gingold@adacore.com>. |
| 3 | # |
| 4 | # Copyright (C) 2014-2020 Free Software Foundation, Inc. |
| 5 | # |
| 6 | # Copying and distribution of this file, with or without modification, |
| 7 | # are permitted in any medium without royalty provided the copyright |
| 8 | # notice and this notice are preserved. |
| 9 | |
| 10 | PAGESIZE=0x10000 |
| 11 | |
| 12 | cat <<EOF |
| 13 | /* Copyright (C) 2014-2020 Free Software Foundation, Inc. |
| 14 | |
| 15 | Copying and distribution of this script, with or without modification, |
| 16 | are permitted in any medium without royalty provided the copyright |
| 17 | notice and this notice are preserved. */ |
| 18 | |
| 19 | OUTPUT_FORMAT("${OUTPUT_FORMAT}") |
| 20 | ${LIB_SEARCH_DIRS} |
| 21 | |
| 22 | SECTIONS |
| 23 | { |
| 24 | ${RELOCATING+. = ${PAGESIZE};} |
| 25 | |
| 26 | /* RW initialized data. */ |
| 27 | \$DATA\$ ALIGN (${PAGESIZE}) : { |
| 28 | *(\$DATA\$) |
| 29 | } |
| 30 | /* RW data unmodified (zero-initialized). */ |
| 31 | \$BSS\$ ALIGN (${PAGESIZE}) : { |
| 32 | *(\$BSS\$) |
| 33 | } |
| 34 | /* RO, executable code. */ |
| 35 | \$CODE\$ ALIGN (${PAGESIZE}) : { |
| 36 | *(\$CODE\$${RELOCATING+ *\$CODE*}) |
| 37 | } |
| 38 | /* RO initialized data. */ |
| 39 | \$LITERAL\$ ALIGN (${PAGESIZE}) : { |
| 40 | ${RELOCATING+*(\$LINK\$)} |
| 41 | *(\$LITERAL\$) |
| 42 | ${RELOCATING+*(\$READONLY\$) |
| 43 | *(\$READONLY_ADDR\$) |
| 44 | *(eh_frame) |
| 45 | *(jcr) |
| 46 | *(ctors) |
| 47 | *(dtors) |
| 48 | *(gcc_except_table) |
| 49 | |
| 50 | /* LIB$INITIALIZE stuff. */ |
| 51 | *(LIB\$INITIALIZDZ) /* Start marker. */ |
| 52 | *(LIB\$INITIALIZD_) /* Hi priority. */ |
| 53 | *(LIB\$INITIALIZE) /* User. */ |
| 54 | *(LIB\$INITIALIZE$) /* End marker. */} |
| 55 | } |
| 56 | |
| 57 | \$DWARF\$ ALIGN (${PAGESIZE}) : { |
| 58 | ${RELOCATING+\$dwarf2.debug_pubtypes = .; |
| 59 | *(debug_pubtypes) |
| 60 | \$dwarf2.debug_ranges = .; |
| 61 | *(debug_ranges) |
| 62 | |
| 63 | \$dwarf2.debug_abbrev = .; |
| 64 | *(debug_abbrev) |
| 65 | \$dwarf2.debug_aranges = .; |
| 66 | *(debug_aranges) |
| 67 | \$dwarf2.debug_frame = .; |
| 68 | *(debug_frame) |
| 69 | \$dwarf2.debug_info = .; |
| 70 | *(debug_info) |
| 71 | \$dwarf2.debug_line = .; |
| 72 | *(debug_line) |
| 73 | \$dwarf2.debug_loc = .; |
| 74 | *(debug_loc) |
| 75 | \$dwarf2.debug_macinfo = .; |
| 76 | *(debug_macinfo) |
| 77 | \$dwarf2.debug_macro = .; |
| 78 | *(debug_macro) |
| 79 | \$dwarf2.debug_pubnames = .; |
| 80 | *(debug_pubnames) |
| 81 | \$dwarf2.debug_str = .; |
| 82 | *(debug_str) |
| 83 | \$dwarf2.debug_zzzzzz = .;} |
| 84 | } |
| 85 | |
| 86 | \$DST\$ 0 : { |
| 87 | *(\$DST\$) |
| 88 | } |
| 89 | } |
| 90 | EOF |