46d00b8af1
2010-06-01 Tristan Gingold <gingold@adacore.com> * vms-alpha.c (struct vms_private_data_struct): Add transfer_address field. Remove unused dst_info field. (alpha_vms_write_exec): Use transfer_address. (_bfd_vms_write_egsd): Add a comment about LIB$INITIALIZE. (alpha_vms_bfd_final_link): Set transfer_address. ld/ 2010-06-01 Tristan Gingold <gingold@adacore.com> * scripttempl/alphavms.sc: Add comments. Move $LINK$ to the readonly output-section. Handle LIB$INITIALIZE and sections created by gcc. * emultempl/vms.em (vms_place_orphan): Add comments.
50 lines
952 B
Scala
50 lines
952 B
Scala
# 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\$)
|
|
}
|
|
/* 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. */
|
|
}
|
|
|
|
\$DST\$ 0 : {
|
|
*(\$DST\$)
|
|
}
|
|
}
|
|
EOF
|