diff options
author | Nick Clifton <nickc@redhat.com> | 2012-04-12 07:35:07 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2012-04-12 07:35:07 +0000 |
commit | 202e23565d36f4696d5e836ec06d4c685c30fb16 (patch) | |
tree | a6fc6863b9383d5611012636e9fc80c58c2330e6 /ld/scripttempl | |
parent | 81eb0a20fcefcddb5863de3b53ffdc93df2881be (diff) | |
download | gdb-202e23565d36f4696d5e836ec06d4c685c30fb16.zip gdb-202e23565d36f4696d5e836ec06d4c685c30fb16.tar.gz gdb-202e23565d36f4696d5e836ec06d4c685c30fb16.tar.bz2 |
* configure.ac (ia64*-*-*vms*): Add support for ld.
* configure: Regenerate.
* scripttempl/ia64vms.sc: New file.
* emultempl/vms.em (_before_parse): Support for ia64.
(elf64-ia64-vms): New fragment for ia64.
* emulparams/elf64_ia64_vms.sh: New file.
* configure.tgt (ia64-*-*vms*): Add.
* Makefile.am (ALL_64_EMULATION_SOURCES): Add eelf64_ia64_vms.c
(eelf64_ia64_vms.c): New rule.
* Makefile.in: Regenerate.
* elflink.c (elf_link_output_extsym): Add a guard.
(bfd_elf_final_link): Remove assertion.
(bfd_elf_final_link): Add a guard.
* elfnn-ia64.c (INCLUDE_IA64_VMS): Removed.
(elfNN_vms_section_from_shdr, elfNN_vms_object_p)
(elfNN_vms_post_process_headers, elfNN_vms_section_processing)
(elfNN_vms_final_write_processing, elfNN_vms_close_and_cleanup):
Remove.
(elfNN-ia64-vms target): Move to ...
* elf64-ia64-vms.c: New file.
* configure.in (bfd_elf64_ia64_vms_vec): Add elf64-ia64-vms.lo
* Makefile.am (BFD64_BACKENDS): Add elf64-ia64-vms.lo.
(BFD64_BACKENDS_CFILES): Ad elf64-ia64-vms.c.
* configure: Regenerate.
* Makefile.in: Regenerate.
Diffstat (limited to 'ld/scripttempl')
-rw-r--r-- | ld/scripttempl/ia64vms.sc | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/ld/scripttempl/ia64vms.sc b/ld/scripttempl/ia64vms.sc new file mode 100644 index 0000000..b0b1c42 --- /dev/null +++ b/ld/scripttempl/ia64vms.sc @@ -0,0 +1,129 @@ +# Linker script for Itanium VMS systems. +# Tristan Gingold <gingold@adacore.com>. + +PAGESIZE=0x10000 +BLOCKSIZE=0x200 + +cat <<EOF +OUTPUT_FORMAT("${OUTPUT_FORMAT}") +${LIB_SEARCH_DIRS} +ENTRY(__entry) + +SECTIONS +{ + /* RW segment. */ + ${RELOCATING+. = ${PAGESIZE};} + + \$DATA\$ ALIGN (${BLOCKSIZE}) : { + *(\$DATA\$ .data .data.*) + *(\$BSS\$ .bss) + } + + /* Code segment. Note: name must be \$CODE\$ */ + ${RELOCATING+. = ALIGN (${PAGESIZE});} + + \$CODE\$ ALIGN (${BLOCKSIZE}) : { + *(\$CODE\$ .text) + } + .plt ALIGN (8) : { + *(.plt) + } + + /* RO segment. */ + ${RELOCATING+. = ALIGN (${PAGESIZE});} + + /* RO initialized data. */ + \$LITERAL\$ ALIGN (${BLOCKSIZE}) : { + *(\$LITERAL\$) + *(\$READONLY\$ .rodata) + *(.jcr) + *(.ctors) + *(.dtors) + *(.opd) + *(.gcc_except_table) + + /* LIB$INITIALIZE stuff. */ + *(LIB\$INITIALIZDZ) /* Start marker. */ + *(LIB\$INITIALIZD_) /* Hi priority. */ + *(LIB\$INITIALIZE) /* User. */ + *(LIB\$INITIALIZE$) /* End marker. */ + } + + /* Short segment. */ + ${RELOCATING+. = ALIGN (${PAGESIZE});} + + .srodata : { + *(.srodata) + } + .got ALIGN (8) : { + *(.got) + } + .IA_64.pltoff ALIGN (16) : { + *(.IA_64.pltoff) + } + \$TFR\$ ALIGN (16) : { + /* Tranfer vector. */ + __entry = .; + *(.transfer) + } + + ${RELOCATING+. = ALIGN (${PAGESIZE});} + + \$RW_SHORT\$ ALIGN (${BLOCKSIZE}) : { + *(.sdata .sdata.*) + *(.sbss) + } + + ${RELOCATING+. = ALIGN (${PAGESIZE});} + + .IA_64.unwind ALIGN (${BLOCKSIZE}) : { + *(.IA_64.unwind .IA_64.unwind.*) + } + + .IA_64.unwind_info ALIGN (8) : { + *(.IA_64.unwind_info .IA_64.unwind_info.*) + } + + ${RELOCATING+. = ALIGN (${PAGESIZE});} + + .dynamic /* \$DYNAMIC\$ */ ALIGN (${BLOCKSIZE}) : { + *(.dynamic) + *(.vmsdynstr) + *(.fixups) + } + + ${RELOCATING+. = ALIGN (${PAGESIZE});} + + .dynstr : { *(.dynstr) } + + .dynsym ${RELOCATING-0} : { *(.dynsym) } + .rela.got : { *(.rela.got) } + .got.plt : { *(.got.plt) } + .gnu.version_d : { *(.gnu.version_d) } + .gnu.version : { *(.gnu.version) } + .gnu.version_r : { *(.gnu.version_r) } + .rela.IA_64.pltoff : { *(.rela.IA_64.pltoff) } + + /* DWARF 2 */ + .debug_info 0 : { *(.debug_info${RELOCATING+ .gnu.linkonce.wi.*}) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .trace_info 0 : { *(.trace_info) } + .trace_abbrev 0 : { *(.trace_abbrev) } + .trace_aranges 0 : { *(.trace_aranges) } + + /* DWARF 3 */ + .debug_pubtypes 0 : { *(.debug_pubtypes) } + .debug_ranges 0 : { *(.debug_ranges) } + + .note : { *(.vms.note) } + + /DISCARD/ : { *(.note) } +} +EOF |