[ARC] Avoid creating dynamic relocs when static linked is requested.
authorCupertino Miranda <cmiranda@synopsys.com>
Wed, 7 Dec 2016 13:22:54 +0000 (14:22 +0100)
committerCupertino Miranda <cmiranda@synopsys.com>
Thu, 8 Jun 2017 16:38:50 +0000 (18:38 +0200)
bfd/Changelog:

    Cupertino Miranda  <cmiranda@synopsys.com>

* elf32-arc.c (ADD_RELA): Changed to only work when dynamic object is
created.

bfd/ChangeLog
bfd/elf32-arc.c

index 65e7dae64add574d78671262d1d10e78f73ee914..6d8e9b190900bed147c4f95d711a4dce27bd1678 100644 (file)
@@ -1,3 +1,8 @@
+2017-06-08  Cupertino Miranda  <cmiranda@synopsys.com>
+
+       * elf32-arc.c (ADD_RELA): Changed to only work when dynamic
+       object is created.
+
 2017-06-08  Richard Earnshaw  <rearnsha@arm.com>
 
        * elf32-arm.c (elf32_arm_merge_eabi_attributes): Remove assertion
index ef0d89340df147c438e6616e942e3a191b540ddf..747faf912da688898dd7426b857eb13d14545d6a 100644 (file)
@@ -55,17 +55,20 @@ name_for_global_symbol (struct elf_link_hash_entry *h)
     Elf_Internal_Rela _rel;                                            \
     bfd_byte * _loc;                                                   \
                                                                        \
-    BFD_ASSERT (_htab->srel##SECTION &&_htab->srel##SECTION->contents); \
-    _loc = _htab->srel##SECTION->contents                              \
-      + ((_htab->srel##SECTION->reloc_count)                           \
-        * sizeof (Elf32_External_Rela));                               \
-    _htab->srel##SECTION->reloc_count++;                               \
-    _rel.r_addend = ADDEND;                                            \
-    _rel.r_offset = (_htab->s##SECTION)->output_section->vma           \
-      + (_htab->s##SECTION)->output_offset + OFFSET;                   \
-    BFD_ASSERT ((long) SYM_IDX != -1);                                 \
-    _rel.r_info = ELF32_R_INFO (SYM_IDX, TYPE);                                \
-    bfd_elf32_swap_reloca_out (BFD, &_rel, _loc);                      \
+    if (_htab->dynamic_sections_created == TRUE)                               \
+      {                                                                        \
+       BFD_ASSERT (_htab->srel##SECTION &&_htab->srel##SECTION->contents); \
+       _loc = _htab->srel##SECTION->contents                           \
+         + ((_htab->srel##SECTION->reloc_count)                        \
+            * sizeof (Elf32_External_Rela));                           \
+       _htab->srel##SECTION->reloc_count++;                            \
+       _rel.r_addend = ADDEND;                                         \
+       _rel.r_offset = (_htab->s##SECTION)->output_section->vma        \
+         + (_htab->s##SECTION)->output_offset + OFFSET;                \
+       BFD_ASSERT ((long) SYM_IDX != -1);                              \
+       _rel.r_info = ELF32_R_INFO (SYM_IDX, TYPE);                     \
+       bfd_elf32_swap_reloca_out (BFD, &_rel, _loc);                   \
+      }                                                                        \
   }
 
 
This page took 0.02874 seconds and 4 git commands to generate.