[VMS] Add support of -ffunction-sections /-fdata-sections on ia64-openvms

Tristan Gingold gingold@adacore.com
Mon Jul 8 13:02:00 GMT 2013


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



More information about the Binutils mailing list