This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[VMS] Add support of -ffunction-sections /-fdata-sections on ia64-openvms
- From: Tristan Gingold <gingold at adacore dot com>
- To: "binutils at sourceware dot org Development" <binutils at sourceware dot org>
- Date: Mon, 8 Jul 2013 15:02:14 +0200
- Subject: [VMS] Add support of -ffunction-sections /-fdata-sections on ia64-openvms
Hi,
there are no real use of it, but it is necessary to correctly link objects
created with -ffunction/-fdata -sections.
Committed on trunk.
Tristan.
ld/
2013-07-08 Tristan Gingold <gingold@adacore.com>
* scripttempl/ia64vms.sc: Add support of per data and per function
sections.
Index: scripttempl/ia64vms.sc
===================================================================
RCS file: /cvs/src/src/ld/scripttempl/ia64vms.sc,v
retrieving revision 1.4
diff -c -r1.4 ia64vms.sc
*** scripttempl/ia64vms.sc 28 Apr 2013 14:52:54 -0000 1.4
--- scripttempl/ia64vms.sc 8 Jul 2013 12:59:17 -0000
***************
*** 16,29 ****
\$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)
--- 16,29 ----
\$DATA\$ ALIGN (${BLOCKSIZE}) : {
*(\$DATA\$ .data .data.*)
! *(\$BSS\$ .bss .bss.*)
}
/* Code segment. Note: name must be \$CODE\$ */
${RELOCATING+. = ALIGN (${PAGESIZE});}
\$CODE\$ ALIGN (${BLOCKSIZE}) : {
! *(\$CODE\$ .text .text.*)
}
.plt ALIGN (8) : {
*(.plt)
***************
*** 35,41 ****
/* RO initialized data. */
\$LITERAL\$ ALIGN (${BLOCKSIZE}) : {
*(\$LITERAL\$)
! *(\$READONLY\$ .rodata)
*(.jcr)
*(.ctors)
*(.dtors)
--- 35,41 ----
/* RO initialized data. */
\$LITERAL\$ ALIGN (${BLOCKSIZE}) : {
*(\$LITERAL\$)
! *(\$READONLY\$ .rodata .rodata.*)
*(.jcr)
*(.ctors)
*(.dtors)
***************
*** 53,59 ****
${RELOCATING+. = ALIGN (${PAGESIZE});}
.srodata : {
! *(.srodata)
}
.got ALIGN (8) : {
*(.got)
--- 53,59 ----
${RELOCATING+. = ALIGN (${PAGESIZE});}
.srodata : {
! *(.srodata .srodata.*)
}
.got ALIGN (8) : {
*(.got)
***************
*** 71,77 ****
\$RW_SHORT\$ ALIGN (${BLOCKSIZE}) : {
*(.sdata .sdata.*)
! *(.sbss)
}
${RELOCATING+. = ALIGN (${PAGESIZE});}
--- 71,77 ----
\$RW_SHORT\$ ALIGN (${BLOCKSIZE}) : {
*(.sdata .sdata.*)
! *(.sbss .sbss.*)
}
${RELOCATING+. = ALIGN (${PAGESIZE});}
***************
*** 111,116 ****
cat <<EOF
.note : { *(.vms.note) }
! /DISCARD/ : { *(.note) }
}
EOF
--- 111,116 ----
cat <<EOF
.note : { *(.vms.note) }
! /DISCARD/ : { *(.note) *(.vms_display_name_info) }
}
EOF