aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Meissner <gnu@the-meissners.org>1995-07-22 02:59:48 +0000
committerMichael Meissner <gnu@the-meissners.org>1995-07-22 02:59:48 +0000
commitdd0f9635259610013a78f0657acffd208d80fe9c (patch)
tree8e75b7ef1b144efcc2f00fa01556d2383b222475
parentdfed6a85dbd74584e53b3b46c4cfff55d4e117b2 (diff)
downloadgdb-dd0f9635259610013a78f0657acffd208d80fe9c.zip
gdb-dd0f9635259610013a78f0657acffd208d80fe9c.tar.gz
gdb-dd0f9635259610013a78f0657acffd208d80fe9c.tar.bz2
Add R_PPC_SDAREL relocation.
-rw-r--r--ld/scripttempl/elfppc.sc9
1 files changed, 5 insertions, 4 deletions
diff --git a/ld/scripttempl/elfppc.sc b/ld/scripttempl/elfppc.sc
index 5d7fa21..5a2d00d 100644
--- a/ld/scripttempl/elfppc.sc
+++ b/ld/scripttempl/elfppc.sc
@@ -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)