bfd/
[deliverable/binutils-gdb.git] / bfd / elf32-arm.c
index bc7bcd1ceaac4867d78b72e1e0ca4ace5b57cb7f..3a7613572d9dd92512d9cac1856f65d7db0ba0b5 100644 (file)
@@ -9493,9 +9493,16 @@ elf32_arm_symbian_modify_segment_map (bfd *abfd,
   dynsec = bfd_get_section_by_name (abfd, ".dynamic");
   if (dynsec)
     {
-      m = _bfd_elf_make_dynamic_segment (abfd, dynsec);
-      m->next = elf_tdata (abfd)->segment_map;
-      elf_tdata (abfd)->segment_map = m;
+      for (m = elf_tdata (abfd)->segment_map; m != NULL; m = m->next)
+       if (m->p_type == PT_DYNAMIC)
+         break;
+
+      if (m == NULL)
+       {
+         m = _bfd_elf_make_dynamic_segment (abfd, dynsec);
+         m->next = elf_tdata (abfd)->segment_map;
+         elf_tdata (abfd)->segment_map = m;
+       }
     }
 
   /* Also call the generic arm routine.  */
This page took 0.026402 seconds and 4 git commands to generate.