[BFD][AARCH64]Refactor to facilitate further large memory model support patches.
authorRenlin Li <renlin.li@arm.com>
Fri, 2 Oct 2015 13:35:06 +0000 (14:35 +0100)
committerRenlin Li <renlin.li@arm.com>
Fri, 2 Oct 2015 16:56:07 +0000 (17:56 +0100)
bfd/

2015-10-02  Renlin Li  <renlin.li@arm.com>

* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Change if to
switch statement.

bfd/ChangeLog
bfd/elfnn-aarch64.c

index c4312c8281af13a910764a1b65aa12cd3f524129..b33cb3c516465fb224c3cf15780371e7430e3252 100644 (file)
@@ -1,3 +1,8 @@
+2015-10-02  Renlin Li  <renlin.li@arm.com>
+
+       * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Change if to
+       switch statement.
+
 2015-10-01  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR ld/19031
index 90ab3f8a7ed2fb57b096f45917496fa1e76da553..2157ccdfc7270338f5a76829a227ec55afff4b9f 100644 (file)
@@ -5022,10 +5022,18 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
            value = aarch64_calculate_got_entry_vma (h, globals, info,
                                                     value, output_bfd,
                                                     unresolved_reloc_p);
-         if (bfd_r_type == BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15
-             || bfd_r_type == BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14)
-           addend = (globals->root.sgot->output_section->vma
-                     + globals->root.sgot->output_offset);
+
+         switch (bfd_r_type)
+           {
+           case BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14:
+           case BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15:
+             addend = (globals->root.sgot->output_section->vma
+                       + globals->root.sgot->output_offset);
+             break;
+           default:
+             break;
+           }
+
          value = _bfd_aarch64_elf_resolve_relocation (bfd_r_type, place, value,
                                                       addend, weak_undef_p);
          return _bfd_aarch64_elf_put_addend (input_bfd, hit_data, bfd_r_type, howto, value);