diff options
author | Alan Modra <amodra@gmail.com> | 2014-03-14 15:01:53 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2014-03-14 15:01:53 +1030 |
commit | c3301df1daed30afd62d8d2f8895d5aadfafb514 (patch) | |
tree | e7c33aaf2dbbfa7061345ebf4d02bea55da075f1 /ld | |
parent | d4ae5fb0b5d1ae4270b3343509e8bd2d529aa291 (diff) | |
download | gdb-c3301df1daed30afd62d8d2f8895d5aadfafb514.zip gdb-c3301df1daed30afd62d8d2f8895d5aadfafb514.tar.gz gdb-c3301df1daed30afd62d8d2f8895d5aadfafb514.tar.bz2 |
Fix overflow handling of VLE_SDA21
bfd/
* elf32-ppc.c (ppc_elf_relocate_section): Correct overflow
handling for VLE_SDA21 relocs.
ld/testsuite/
* ld-powerpc/vle.ld: Place .PPC.EMB.sdata0 within 32k of 0.
* ld-powerpc/vle-reloc-3.d: Update.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | ld/testsuite/ld-powerpc/vle-reloc-3.d | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-powerpc/vle.ld | 3 |
3 files changed, 8 insertions, 2 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 1d039e4..e4e669b 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-03-14 Alan Modra <amodra@gmail.com> + + * ld-powerpc/vle.ld: Place .PPC.EMB.sdata0 within 32k of 0. + * ld-powerpc/vle-reloc-3.d: Update. + 2014-03-06 Roland McGrath <mcgrathr@google.com> * ld-arm/gc-hidden-1.d: Remove target, add not-target to match diff --git a/ld/testsuite/ld-powerpc/vle-reloc-3.d b/ld/testsuite/ld-powerpc/vle-reloc-3.d index e29f4f0..584c483 100644 --- a/ld/testsuite/ld-powerpc/vle-reloc-3.d +++ b/ld/testsuite/ld-powerpc/vle-reloc-3.d @@ -5,4 +5,4 @@ Disassembly of section .text: 01800094 <sda21_test>: 1800094: 1c ad 80 08 e_add16i r5,r13,-32760 1800098: 1c a2 80 04 e_add16i r5,r2,-32764 - 180009c: 70 00 00 ac e_li r0,172 + 180009c: 70 b0 78 04 e_li r5,-32764 diff --git a/ld/testsuite/ld-powerpc/vle.ld b/ld/testsuite/ld-powerpc/vle.ld index 01b6598..ff92a05 100644 --- a/ld/testsuite/ld-powerpc/vle.ld +++ b/ld/testsuite/ld-powerpc/vle.ld @@ -2,10 +2,11 @@ SECTIONS { . = 0x01800000 + SIZEOF_HEADERS; .text : { *(.text) } - .PPC.EMB.sdata0 : { *(.PPC.EMB.sdata0) } .sdata2 : { PROVIDE (_SDA2_BASE_ = 32768); *(.sdata2) } . = ALIGN (0x10000) + (. & (0x10000 - 1)); .data : { *(.data) } .sdata : { PROVIDE (_SDA_BASE_ = 32768); *(.sdata) } + . = 0xffff8000; + .PPC.EMB.sdata0 : { *(.PPC.EMB.sdata0) } /DISCARD/ : { *(*) } } |