2004-05-29 H.J. Lu <hongjiu.lu@intel.com>
[binutils-gdb.git] / bfd / elfxx-ia64.c
index f72df9e1f14fbe4caa6bc011dfa6dd3ec24a4eb4..26b2e455488740767bf8e3f9a3976f73fa6b2732 100644 (file)
@@ -864,15 +864,6 @@ elfNN_ia64_relax_section (abfd, sec, link_info, again)
 
          toff = isym->st_value;
          dyn_i = get_dyn_sym_info (ia64_info, NULL, abfd, irel, FALSE);
-         
-         if ((tsec->flags & SEC_MERGE)
-             && ELF_ST_TYPE (isym->st_info) == STT_SECTION
-             && tsec->sec_info_type == ELF_INFO_TYPE_MERGE)
-           toff = _bfd_merged_section_offset (abfd, &tsec,
-                                              elf_section_data (tsec)->sec_info,
-                                              toff + irel->r_addend);
-         else
-           toff += irel->r_addend;
        }
       else
        {
@@ -917,15 +908,15 @@ elfNN_ia64_relax_section (abfd, sec, link_info, again)
              tsec = h->root.u.def.section;
              toff = h->root.u.def.value;
            }
-
-         if (tsec->sec_info_type == ELF_INFO_TYPE_MERGE)
-           toff = _bfd_merged_section_offset (abfd, &tsec,
-                                              elf_section_data (tsec)->sec_info,
-                                              toff + irel->r_addend);
-         else
-           toff += irel->r_addend;
        }
 
+      if (tsec->sec_info_type == ELF_INFO_TYPE_MERGE)
+       toff = _bfd_merged_section_offset (abfd, &tsec,
+                                          elf_section_data (tsec)->sec_info,
+                                          toff + irel->r_addend);
+      else
+       toff += irel->r_addend;
+
       symaddr = tsec->output_section->vma + tsec->output_offset + toff;
 
       roff = irel->r_offset;