2004-05-29 H.J. Lu <hongjiu.lu@intel.com>
authorH.J. Lu <hjl.tools@gmail.com>
Sat, 29 May 2004 19:25:54 +0000 (19:25 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Sat, 29 May 2004 19:25:54 +0000 (19:25 +0000)
* elfxx-ia64.c (elfNN_ia64_relax_section): Undo the last
change.

bfd/ChangeLog
bfd/elfxx-ia64.c

index 52c3584186e5e0dd5659b52075c53ecc9bc09667..afca5c3f94bfc4fe3e7c48c2dc0eceab1674c8e7 100644 (file)
@@ -1,3 +1,8 @@
+2004-05-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elfxx-ia64.c (elfNN_ia64_relax_section): Undo the last
+       change.
+
 2004-05-28  DJ Delorie  <dj@redhat.com>
 
        * elf-m10300.c (mn10300_elf_relax_section): Preserve reloc addend
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;