Reverse copy .ctors/.dtors sections if needed.
[deliverable/binutils-gdb.git] / bfd / elf.c
index b5a1952e7d7d1299ec4c568ae3f96639d8affc99..6fccf429343a03ac7c953040fd1314d866fe0717 100644 (file)
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -9379,6 +9379,12 @@ _bfd_elf_section_offset (bfd *abfd,
     case ELF_INFO_TYPE_EH_FRAME:
       return _bfd_elf_eh_frame_section_offset (abfd, info, sec, offset);
     default:
+      if ((sec->flags & SEC_ELF_REVERSE_COPY) != 0)
+       {
+         const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+         bfd_size_type address_size = bed->s->arch_size / 8;
+         offset = sec->size - offset - address_size;
+       }
       return offset;
     }
 }
This page took 0.024383 seconds and 4 git commands to generate.