Add R_PPC_SDAREL relocation.
authorMichael Meissner <gnu@the-meissners.org>
Sat, 22 Jul 1995 02:59:48 +0000 (02:59 +0000)
committerMichael Meissner <gnu@the-meissners.org>
Sat, 22 Jul 1995 02:59:48 +0000 (02:59 +0000)
ld/scripttempl/elfppc.sc

index 5d7fa21b929f99ad886cbe92c06eb43e52aa585b..5a2d00d1400f89e8f38f06403c5acb9c20ccb661 100644 (file)
@@ -104,6 +104,8 @@ SECTIONS
   .got1 ${RELOCATING-0} :  { *(.got1) }
   ${RELOCATING+_GOT1_END_ = .;}
 
+  .dynamic     ${RELOCATING-0} : { *(.dynamic) }
+
   /* Put .ctors and .dtors next to the .got2 section, so that the pointers
      get relocated with -mrelocatable. Also put in the .fixup pointers.  */
 
@@ -125,10 +127,8 @@ SECTIONS
 
   ${RELOCATING+_GOT_START_ = .;}
   ${RELOCATING+_GLOBAL_OFFSET_TABLE_ = . + 32768;}
-  ${RELOCATING+_SDA_BASE_ = .;}
+  ${RELOCATING+_SDA_BASE_ = . + 32768;}
   .got         ${RELOCATING-0} : { *(.got.plt) *(.got) }
-  ${RELOCATING+_GOT_END_ = .;}
-  .dynamic     ${RELOCATING-0} : { *(.dynamic) }
   ${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
@@ -137,8 +137,9 @@ SECTIONS
   ${RELOCATING+_edata  =  .;}
   ${RELOCATING+PROVIDE (edata = .);}
   ${RELOCATING+__bss_start = .;}
-  ${RELOCATING+${OTHER_BSS_SYMBOLS}}
   .sbss    ${RELOCATING-0} : { *(.sbss) *(.scommon) }
+  ${RELOCATING+_GOT_END_ = .;}
+  ${RELOCATING+${OTHER_BSS_SYMBOLS}}
   .bss     ${RELOCATING-0} :
   {
    *(.dynbss)