This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gdb and binutils branch master updated. 2e0488d33f8abbbc5bec214e1723d07048d7afcc


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".

The branch, master has been updated
       via  2e0488d33f8abbbc5bec214e1723d07048d7afcc (commit)
      from  1f267ae3d18c165f8b4327aa423b909eae92f4d6 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=2e0488d33f8abbbc5bec214e1723d07048d7afcc

commit 2e0488d33f8abbbc5bec214e1723d07048d7afcc
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Tue Jul 8 09:29:06 2014 +0100

    Enable elf_backend_rela_normal for AArch64
    
      If we are generating non-relocatable object and --emit-relocs specified,
      aarch64 ld is actually generating wrong addend for rela entry when
      relocate against local symbol.
    
      for example, for simple testcase
    
      foo.c
      ===
    
      const char * const a = "foo";
    
      const char *
      foo ()
      {
        return a;
      }
    
      bar.c
      ===
    
      const char * const b = "bar";
    
      const char * bar ()
      {
        return b;
      }
    
      aarch64-none-linux-gnu-ld --emit-relocs -o x.o  foo.o bar.o
      aarch64-none-linux-gnu-readelf -r x.o
    
       ... R_AARCH64_ADR_PRE 0000000000400018 .rodata + 0
       ... R_AARCH64_ADD_ABS 0000000000400018 .rodata + 0
       ... R_AARCH64_ADR_PRE 0000000000400018 .rodata + 0
       ... R_AARCH64_ADD_ABS 0000000000400018 .rodata + 0
    
       while it should be:
    
       ... R_AARCH64_ADR_PRE 0000000000400018 .rodata + 0
       ... R_AARCH64_ADD_ABS 0000000000400018 .rodata + 0
       ... R_AARCH64_ADR_PRE 0000000000400018 .rodata + 10
       ... R_AARCH64_ADD_ABS 0000000000400018 .rodata + 10
    
       bfd generic code could actually handle this properly, but only when
       elf_backend_rela_normal set to '1'.
    
       this patch enable this and remove those target specific hack.
    
        bfd/
          * elfnn-aarch64.c (elf_backend_rela_normal): Set to 1.
          (elfNN_aarch64_relocate_section): Remove duplicated addend adjustment
          when info->relocatable be true.
    
        ld/testsuite/
          * ld-aarch64/emit-relocs-local-addend-bar.s: * New source file.
          * ld-aarch64/emit-relocs-local-addend-foo.s: * Likewise.
          * ld-aarch64/emit-relocs-local-addend.d: * New testcase.
          * ld-aarch64/local-addend-r.d: Likewise.

-----------------------------------------------------------------------

Summary of changes:
 bfd/ChangeLog                                      |    6 ++++++
 bfd/elfnn-aarch64.c                                |   11 ++---------
 ld/testsuite/ChangeLog                             |    7 +++++++
 ld/testsuite/ld-aarch64/aarch64-elf.exp            |    4 ++++
 .../ld-aarch64/emit-relocs-local-addend-bar.s      |   19 +++++++++++++++++++
 .../ld-aarch64/emit-relocs-local-addend-foo.s      |   20 ++++++++++++++++++++
 ld/testsuite/ld-aarch64/emit-relocs-local-addend.d |   16 ++++++++++++++++
 ld/testsuite/ld-aarch64/local-addend-r.d           |   16 ++++++++++++++++
 8 files changed, 90 insertions(+), 9 deletions(-)
 create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-local-addend-bar.s
 create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-local-addend-foo.s
 create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-local-addend.d
 create mode 100644 ld/testsuite/ld-aarch64/local-addend-r.d


hooks/post-receive
-- 
gdb and binutils


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]