Mon Jun 16 19:18:21 1997 Geoff Keating <geoffk@ozemail.com.au>
authorIan Lance Taylor <ian@airs.com>
Mon, 16 Jun 1997 23:21:18 +0000 (23:21 +0000)
committerIan Lance Taylor <ian@airs.com>
Mon, 16 Jun 1997 23:21:18 +0000 (23:21 +0000)
* 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.

ld/ChangeLog
ld/scripttempl/elfppc.sc

index 2301d889e8d5d4b1f685daa8cb577e9b381d5eb2..b02d1032cfbacd2b7fdd0bf5c3832b25b735bf11 100644 (file)
@@ -1,3 +1,15 @@
+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.
index b6c542a4a9e6a37a36bd17e3fe1545e4052f0269..dd80edbca992a2105526607af9eba63f066ed843 100644 (file)
@@ -15,7 +15,6 @@
 #              .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.
@@ -53,6 +52,9 @@ SECTIONS
   .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} :
@@ -68,11 +70,10 @@ SECTIONS
   .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}}
@@ -147,7 +148,6 @@ SECTIONS
   ${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.  */
@@ -161,6 +161,7 @@ SECTIONS
     *(.scommon)
     ${RELOCATING+PROVIDE (__sbss_end = .);}
   }
+  ${PLT}
   .bss     ${RELOCATING-0} :
   {
    ${RELOCATING+${OTHER_BSS_SYMBOLS}}