[ARC] Fixed condition to generate TEXTREL.
authorCupertino Miranda <cmiranda@synopsys.com>
Wed, 5 Apr 2017 21:22:07 +0000 (23:22 +0200)
committerCupertino Miranda <cmiranda@synopsys.com>
Thu, 8 Jun 2017 17:00:37 +0000 (19:00 +0200)
TEXTREL was being generated even when relocatable .o files had the .rela.text
section. Now it is limitted only to dynamic object files that still have them.
Nevertheless, our target aborts in those cases due to architecture limitations
where icache is not coherent with dcache, and to force this coherence expensive
kernel level support would be needed.

bfd/ChangeLog:

    Cupertino Miranda  <cmiranda@synopsys.com>

* elf32-arc.c (elf_arc_size_dynamic_sections): Changed condition to
require TEXTREL.

bfd/ChangeLog
bfd/elf32-arc.c

index 7fb198a7d6ff993ab2211b9da4c91c0424421282..6c4baf800cbe6d9b0c77f68c243b37c3d65c64c9 100644 (file)
@@ -1,3 +1,8 @@
+2017-06-08  Cupertino Miranda  <cmiranda@synopsys.com>
+
+       * elf32-arc.c (elf_arc_size_dynamic_sections): Changed condition to
+       require TEXTREL.
+
 2017-06-08  Cupertino Miranda  <cmiranda@synopsys.com>
 
        * arc-got.h (relocate_fix_got_relocs_for_got_info): Added TCB_SIZE to
index c1286b2d614cf5b193d685ce5fb7cebe5229e1a0..03c00c38a6514bef3bd55aa939d829798c6cc0bd 100644 (file)
@@ -2647,7 +2647,8 @@ elf_arc_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
                  const char *name = s->name + 5;
                  bfd *ibfd;
                  for (ibfd = info->input_bfds; ibfd; ibfd = ibfd->link.next)
-                   if (bfd_get_flavour (ibfd) == bfd_target_elf_flavour)
+                   if (bfd_get_flavour (ibfd) == bfd_target_elf_flavour
+                       && ibfd->flags & DYNAMIC)
                      {
                        asection *target = bfd_get_section_by_name (ibfd, name);
                        if (target != NULL