View | Details | Raw Unified | Return to bug 11539 | Differences between
and this patch

Collapse All | Expand All

(-)binutils-2.21.1/ld/scripttempl/pe.sc (-21 / +21 lines)
Lines 24-48 Link Here
24
             *(SORT(.rdata$*))'
24
             *(SORT(.rdata$*))'
25
  fi
25
  fi
26
  R_IDATA234='
26
  R_IDATA234='
27
    SORT(*)(.idata$2)
27
    KEEP(SORT(*)(.idata$2))
28
    SORT(*)(.idata$3)
28
    KEEP(SORT(*)(.idata$3))
29
    /* These zeroes mark the end of the import list.  */
29
    /* These zeroes mark the end of the import list.  */
30
    LONG (0); LONG (0); LONG (0); LONG (0); LONG (0);
30
    LONG (0); LONG (0); LONG (0); LONG (0); LONG (0);
31
    SORT(*)(.idata$4)'
31
    KEEP(SORT(*)(.idata$4))'
32
  R_IDATA5='SORT(*)(.idata$5)'
32
  R_IDATA5='KEEP(SORT(*)(.idata$5))'
33
  R_IDATA67='
33
  R_IDATA67='
34
    SORT(*)(.idata$6)
34
    KEEP(SORT(*)(.idata$6))
35
    SORT(*)(.idata$7)'
35
    KEEP(SORT(*)(.idata$7))'
36
  R_CRT_XC='*(SORT(.CRT$XC*))  /* C initialization */'
36
  R_CRT_XC='KEEP(*(SORT(.CRT$XC*)))  /* C initialization */'
37
  R_CRT_XI='*(SORT(.CRT$XI*))  /* C++ initialization */'
37
  R_CRT_XI='KEEP(*(SORT(.CRT$XI*)))  /* C++ initialization */'
38
  R_CRT_XL='*(SORT(.CRT$XL*))  /* TLS callbacks */'
38
  R_CRT_XL='KEEP(*(SORT(.CRT$XL*)))  /* TLS callbacks */'
39
  R_CRT_XP='*(SORT(.CRT$XP*))  /* Pre-termination */'
39
  R_CRT_XP='KEEP(*(SORT(.CRT$XP*)))  /* Pre-termination */'
40
  R_CRT_XT='*(SORT(.CRT$XT*))  /* Termination */'
40
  R_CRT_XT='KEEP(*(SORT(.CRT$XT*)))  /* Termination */'
41
  R_TLS='
41
  R_TLS='
42
    *(.tls)
42
    KEEP(*(.tls))
43
    *(.tls$)
43
    KEEP(*(.tls$))
44
    *(SORT(.tls$*))'
44
    KEEP(*(SORT(.tls$*)))'
45
  R_RSRC='*(SORT(.rsrc$*))'
45
  R_RSRC='KEEP(*(SORT(.rsrc$*)))'
46
else
46
else
47
  R_TEXT=
47
  R_TEXT=
48
  R_DATA=
48
  R_DATA=
Lines 69-85 Link Here
69
  ${RELOCATING+. = ALIGN(__section_alignment__);}
69
  ${RELOCATING+. = ALIGN(__section_alignment__);}
70
  .text ${RELOCATING+ __image_base__ + ( __section_alignment__ < ${TARGET_PAGE_SIZE} ? . : __section_alignment__ )} : 
70
  .text ${RELOCATING+ __image_base__ + ( __section_alignment__ < ${TARGET_PAGE_SIZE} ? . : __section_alignment__ )} : 
71
  {
71
  {
72
    ${RELOCATING+ *(.init)}
72
    ${RELOCATING+ KEEP(*(.init))}
73
    *(.text)
73
    *(.text)
74
    ${R_TEXT}
74
    ${R_TEXT}
75
    ${RELOCATING+ *(.text.*)}
75
    ${RELOCATING+ *(.text.*)}
76
    *(.glue_7t)
76
    *(.glue_7t)
77
    *(.glue_7)
77
    *(.glue_7)
78
    ${CONSTRUCTING+ ___CTOR_LIST__ = .; __CTOR_LIST__ = . ; 
78
    ${CONSTRUCTING+ ___CTOR_LIST__ = .; __CTOR_LIST__ = . ; 
79
			LONG (-1);*(.ctors); *(.ctor); *(SORT(.ctors.*));  LONG (0); }
79
			LONG (-1); KEEP(*(.ctors)); KEEP(*(.ctor)); KEEP(*(SORT(.ctors.*)));  LONG (0); }
80
    ${CONSTRUCTING+ ___DTOR_LIST__ = .; __DTOR_LIST__ = . ; 
80
    ${CONSTRUCTING+ ___DTOR_LIST__ = .; __DTOR_LIST__ = . ; 
81
			LONG (-1); *(.dtors); *(.dtor); *(SORT(.dtors.*));  LONG (0); }
81
			LONG (-1); KEEP(*(.dtors)); KEEP(*(.dtor)); KEEP(*(SORT(.dtors.*)));  LONG (0); }
82
    ${RELOCATING+ *(.fini)}
82
    ${RELOCATING+ KEEP(*(.fini))}
83
    /* ??? Why is .gcc_exc here?  */
83
    /* ??? Why is .gcc_exc here?  */
84
    ${RELOCATING+ *(.gcc_exc)}
84
    ${RELOCATING+ *(.gcc_exc)}
85
    ${RELOCATING+PROVIDE (etext = .);}
85
    ${RELOCATING+PROVIDE (etext = .);}
Lines 98-104 Link Here
98
    *(.data)
98
    *(.data)
99
    *(.data2)
99
    *(.data2)
100
    ${R_DATA}
100
    ${R_DATA}
101
    *(.jcr)
101
    KEEP(*(.jcr))
102
    ${RELOCATING+__data_end__ = . ;}
102
    ${RELOCATING+__data_end__ = . ;}
103
    ${RELOCATING+*(.data_cygwin_nocopy)}
103
    ${RELOCATING+*(.data_cygwin_nocopy)}
104
  }
104
  }
Lines 195-201 Link Here
195
195
196
  .rsrc ${RELOCATING+BLOCK(__section_alignment__)} :
196
  .rsrc ${RELOCATING+BLOCK(__section_alignment__)} :
197
  { 					
197
  { 					
198
    *(.rsrc)
198
    KEEP(*(.rsrc))
199
    ${R_RSRC}
199
    ${R_RSRC}
200
  }
200
  }
201
201

Return to bug 11539