--- qemu-0.9.1/ppc.ld 2008-01-06 19:38:42.000000000 +0000 +++ qemu-0.9.1/ppc.ld.new 2008-01-21 21:51:54.000000000 +0000 @@ -93,23 +93,23 @@ .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) } .preinit_array : { - PROVIDE_HIDDEN (__preinit_array_start = .); + PROVIDE (__preinit_array_start = .); KEEP (*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); + PROVIDE (__preinit_array_end = .); } .init_array : { - PROVIDE_HIDDEN (__init_array_start = .); + PROVIDE (__init_array_start = .); KEEP (*(SORT(.init_array.*))) KEEP (*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); + PROVIDE (__init_array_end = .); } .fini_array : { - PROVIDE_HIDDEN (__fini_array_start = .); + PROVIDE (__fini_array_start = .); KEEP (*(.fini_array)) KEEP (*(SORT(.fini_array.*))) - PROVIDE_HIDDEN (__fini_array_end = .); + PROVIDE (__fini_array_end = .); } .ctors : { @@ -143,9 +143,9 @@ .got1 : { *(.got1) } .got2 : { *(.got2) } .dynamic : { *(.dynamic) } - .got : SPECIAL { *(.got) } + .got : { *(.got) } . = DATA_SEGMENT_RELRO_END (0, .); - .plt : SPECIAL { *(.plt) } + .plt : { *(.plt) } .data : { *(.data .data.* .gnu.linkonce.d.*) @@ -153,7 +153,7 @@ SORT(CONSTRUCTORS) } .data1 : { *(.data1) } - .got : SPECIAL { *(.got) } + .got : { *(.got) } /* We want the small data sections together, so single-instruction offsets can access them all, and initialized data all before uninitialized, so we can shorten the on-disk segment size. */ @@ -172,7 +172,7 @@ *(.scommon) PROVIDE (__sbss_end = .); PROVIDE (___sbss_end = .); } - .plt : SPECIAL { *(.plt) } + .plt : { *(.plt) } .bss : { *(.dynbss)