This is the mail archive of the binutils@sourceware.cygnus.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: update for djgpp linker script



There was a typo in the last patch. I removed KEEP from .ctors.* and 
didn't realize the parenthesis with it should have been deleted too. 

 ld/Changelog:   1999-08-19 Mark Elbrecht <snowball3@bigfoot.com>   
* scripttempl/i386go32.sc (___EH_FRAME_BEGIN__,  
___EH_FRAME_END__): Delete.    (_etext, _end): Move the semicolon 
inside the brace.   * scripttempl/i386go32.sc: Support the g++ attribute 
'init_priority'.    Add a period to link once section names.  

*** scripttempl\i386go32.sc.orig	Mon Aug  9 23:07:46 1999 --- 
scripttempl\i386go32.sc	Tue Aug 24 12:00:16 1999 *************** 
EXE=${CONSTRUCTING+${RELOCATING+-exe}} *** 5,12 **** 
    # These are substituted in as variables in order to get '}' in a shell   # 
conditional expansion. ! CTOR='.ctor : { *(.ctor) }' ! DTOR='.dtor : { 
*(.dtor) }'     cat <<EOF   
OUTPUT_FORMAT("${OUTPUT_FORMAT}${EXE}") --- 5,20 ---- 
    # These are substituted in as variables in order to get '}' in a shell   # 
conditional expansion. ! # Support the g++ attribute 'init_priority' from 
GCC 2.95 and above ! # by sorting sections starting with '.ctors.' and 
'.dtors.' 
! CTOR='.ctor : { 
!     *(SORT(.ctors.*)) 
!     *(.ctor) 
!   }' 
! DTOR='.dtor : { 
!     *(SORT(.dtors.*)) 
!     *(.dtor) 
!   }' 
  
  cat <<EOF 
  OUTPUT_FORMAT("${OUTPUT_FORMAT}${EXE}") 
*************** SECTIONS 
*** 17,46 **** 
  { 
    .text ${RELOCATING+ ${TARGET_PAGE_SIZE}+SIZEOF_HEADERS} : { 
      *(.text) 
!     ${RELOCATING+*(.gnu.linkonce.t*)} 
      *(.const*) 
      *(.ro*) 
!     ${RELOCATING+*(.gnu.linkonce.r*)} 
      ${RELOCATING+etext  =  . ; _etext = .}; 
      ${RELOCATING+. = ALIGN(${SEGMENT_SIZE});} 
    } 
    .data ${RELOCATING+ ${DATA_ALIGNMENT}} : { 
      ${RELOCATING+djgpp_first_ctor = . ; 
      *(.ctor) 
      djgpp_last_ctor = . ;} 
      ${RELOCATING+djgpp_first_dtor = . ; 
      *(.dtor) 
      djgpp_last_dtor = . ;} 
      *(.data) 
  
      ${RELOCATING+*(.gcc_exc*)} 
-     ${RELOCATING+___EH_FRAME_BEGIN__ = . ;} 
      ${RELOCATING+*(.eh_fram*)} 
-     ${RELOCATING+___EH_FRAME_END__ = . ;} 
      ${RELOCATING+LONG(0);} 
  
!     ${RELOCATING+*(.gnu.linkonce.d*)} 
!     ${RELOCATING+edata  =  . ; _edata = .}; 
      ${RELOCATING+. = ALIGN(${SEGMENT_SIZE});} 
    } 
    ${CONSTRUCTING+${RELOCATING-$CTOR}} 
--- 25,54 ---- 
  { 
    .text ${RELOCATING+ ${TARGET_PAGE_SIZE}+SIZEOF_HEADERS} : { 
      *(.text) 
!     ${RELOCATING+*(.gnu.linkonce.t.*)} 
      *(.const*) 
      *(.ro*) 
!     ${RELOCATING+*(.gnu.linkonce.r.*)} 
      ${RELOCATING+etext  =  . ; _etext = .}; 
      ${RELOCATING+. = ALIGN(${SEGMENT_SIZE});} 
    } 
    .data ${RELOCATING+ ${DATA_ALIGNMENT}} : { 
      ${RELOCATING+djgpp_first_ctor = . ; 
+     *(SORT(.ctors.*)) 
      *(.ctor) 
      djgpp_last_ctor = . ;} 
      ${RELOCATING+djgpp_first_dtor = . ; 
+     *(SORT(.dtors.*)) 
      *(.dtor) 
      djgpp_last_dtor = . ;} 
      *(.data) 
  
      ${RELOCATING+*(.gcc_exc*)} 
      ${RELOCATING+*(.eh_fram*)} 
      ${RELOCATING+LONG(0);} 
  
!     ${RELOCATING+*(.gnu.linkonce.d.*)} 
!     ${RELOCATING+edata  =  . ; _edata = . ;} 
      ${RELOCATING+. = ALIGN(${SEGMENT_SIZE});} 
    } 
    ${CONSTRUCTING+${RELOCATING-$CTOR}} 
*************** SECTIONS 
*** 49,55 **** 
    { 					 
      *(.bss) 
      *(COMMON) 
!     ${RELOCATING+ end = . ; _end = .}; 
      ${RELOCATING+ . = ALIGN(${SEGMENT_SIZE});} 
    } 
  } 
--- 57,63 ---- 
    { 					 
      *(.bss) 
      *(COMMON) 
!     ${RELOCATING+ end = . ; _end = . ;} 
      ${RELOCATING+ . = ALIGN(${SEGMENT_SIZE});} 
    } 
  } 


--- 
Mark Elbrecht, snowball3@bigfoot.com
http://snowball.frogspace.net/

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]