Revision 8733f609 ppc.ld

b/ppc.ld
79 79
  }
80 80
  .sbss2          : { *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*) }
81 81
  .eh_frame_hdr : { *(.eh_frame_hdr) }
82
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
83
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
84 82
  /* Adjust the address for the data segment.  We want to adjust up to
85 83
     the same address within the page on the next page up.  */
86 84
  . = ALIGN (0x10000) - ((0x10000 - .) & (0x10000 - 1)); . = DATA_SEGMENT_ALIGN (0x10000, 0x1000);
87 85
  /* Exception handling  */
88
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
89
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
86
  .eh_frame       : { KEEP (*(.eh_frame)) }
87
  .gcc_except_table   : { *(.gcc_except_table .gcc_except_table.*) }
90 88
  /* Thread Local Storage sections  */
91 89
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
92 90
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
93 91
  .preinit_array     :
94 92
  {
95
    PROVIDE_HIDDEN (__preinit_array_start = .);
93
    PROVIDE (__preinit_array_start = .);
96 94
    KEEP (*(.preinit_array))
97
    PROVIDE_HIDDEN (__preinit_array_end = .);
95
    PROVIDE (__preinit_array_end = .);
98 96
  }
99 97
  .init_array     :
100 98
  {
101
     PROVIDE_HIDDEN (__init_array_start = .);
99
     PROVIDE (__init_array_start = .);
102 100
     KEEP (*(SORT(.init_array.*)))
103 101
     KEEP (*(.init_array))
104
     PROVIDE_HIDDEN (__init_array_end = .);
102
     PROVIDE (__init_array_end = .);
105 103
  }
106 104
  .fini_array     :
107 105
  {
108
    PROVIDE_HIDDEN (__fini_array_start = .);
106
    PROVIDE (__fini_array_start = .);
109 107
    KEEP (*(.fini_array))
110 108
    KEEP (*(SORT(.fini_array.*)))
111
    PROVIDE_HIDDEN (__fini_array_end = .);
109
    PROVIDE (__fini_array_end = .);
112 110
  }
113 111
  .ctors          :
114 112
  {

Also available in: Unified diff