+Mon Jun 16 19:18:21 1997  Geoff Keating  <geoffk@ozemail.com.au>
+
+       * scripttempl/elfppc.sc: Correct .rela.sdata entries.
+
+       * scripttempl/elfppc.sc: Put the PLT between the small and large
+       BSS segments.
+       * emulparams/elf32ppc.sh (TEXT_START_ADDR): The ABI says `A
+       program base of 0x02000000 is recommended...' because otherwise
+       shared libraries are less efficient.  We use 0x01800000 because
+       otherwise it's impossible to branch to location 0, for instance if
+       you have an undefined weak symbol.
+
 Mon Jun 16 12:49:36 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
 
        * ldlang.c (lang_place_undefineds): Add \n in einfo call.
 
 #              .data section.
 #      OTHER_BSS_SYMBOLS - symbols that appear at the start of the
 #              .bss section besides __bss_start.
-#      DATA_PLT - .plt should be in data segment, not text segment.
 #
 # When adding sections, do note that the names of some sections are used
 # when specifying the start address of the next.
   .hash                ${RELOCATING-0} : { *(.hash)            }
   .dynsym      ${RELOCATING-0} : { *(.dynsym)          }
   .dynstr      ${RELOCATING-0} : { *(.dynstr)          }
+  .gnu.version ${RELOCATING-0} : { *(.gnu.version)      }
+  .gnu.version_d ${RELOCATING-0} : { *(.gnu.version_d)  }
+  .gnu.version_r ${RELOCATING-0} : { *(.gnu.version_r)  }
   .rela.text   ${RELOCATING-0} :
     { *(.rela.text) *(.rela.gnu.linkonce.t*) }
   .rela.data   ${RELOCATING-0} :
   .rela.fini   ${RELOCATING-0} : { *(.rela.fini)       }
   .rela.bss    ${RELOCATING-0} : { *(.rela.bss)        }
   .rela.plt    ${RELOCATING-0} : { *(.rela.plt)        }
-  .rela.sdata  ${RELOCATING-0} : { *(.rela.sdata2)     }
-  .rela.sbss   ${RELOCATING-0} : { *(.rela.sbss2)      }
+  .rela.sdata  ${RELOCATING-0} : { *(.rela.sdata)      }
+  .rela.sbss   ${RELOCATING-0} : { *(.rela.sbss)       }
   .rela.sdata2 ${RELOCATING-0} : { *(.rela.sdata2)     }
   .rela.sbss2  ${RELOCATING-0} : { *(.rela.sbss2)      }
-  ${DATA_PLT-${PLT}}
   .text    ${RELOCATING-0} :
   {
     ${RELOCATING+${TEXT_START_SYMBOLS}}
   ${CREATE_SHLIB+${SBSS2}}
                ${RELOCATING+PROVIDE (_GOT_END_ = .);}
 
-  ${DATA_PLT+${PLT}}
   /* 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.  */
     *(.scommon)
     ${RELOCATING+PROVIDE (__sbss_end = .);}
   }
+  ${PLT}
   .bss     ${RELOCATING-0} :
   {
    ${RELOCATING+${OTHER_BSS_SYMBOLS}}