2009-11-17 H.J. Lu <hongjiu.lu@intel.com>
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 17 Nov 2009 20:57:21 +0000 (20:57 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 17 Nov 2009 20:57:21 +0000 (20:57 +0000)
PR ld/10955
* elfxx-ia64.c (elfNN_ia64_link_hash_table): Update comments.
(elfNN_ia64_update_short_info): Remove "->output_section" from
ia64_info->max_short_sec and ia64_info->min_short_sec.
(elfNN_ia64_choose_gp): Likewise.
(elfNN_ia64_relax_section): Pass tsec->output_section to
elfNN_ia64_update_short_info.

bfd/ChangeLog
bfd/elfxx-ia64.c

index 113ddf8..09a5477 100644 (file)
@@ -1,6 +1,16 @@
 2009-11-17  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR ld/10955
+       * elfxx-ia64.c (elfNN_ia64_link_hash_table): Update comments.
+       (elfNN_ia64_update_short_info): Remove "->output_section" from
+       ia64_info->max_short_sec and ia64_info->min_short_sec.
+       (elfNN_ia64_choose_gp): Likewise.
+       (elfNN_ia64_relax_section): Pass tsec->output_section to
+       elfNN_ia64_update_short_info.
+
+2009-11-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/10955
        * elfxx-ia64.c (elfNN_ia64_link_hash_table): Add max_short_sec,
        max_short_offset, min_short_sec and min_short_offset.
        (elfNN_ia64_update_short_info): New.
index 5bf4d9e..ed105c8 100644 (file)
@@ -176,9 +176,9 @@ struct elfNN_ia64_link_hash_table
      optimized from R_IA64_LTOFF22X, against non-SHF_IA_64_SHORT
      sections.  We need to record those sections so that we can choose
      a proper GP to cover all R_IA64_GPREL22 relocations.  */
-  asection *max_short_sec;     /* maximum short section */
+  asection *max_short_sec;     /* maximum short output section */
   bfd_vma max_short_offset;    /* maximum short offset */
-  asection *min_short_sec;     /* minimum short section */
+  asection *min_short_sec;     /* minimum short output section */
   bfd_vma min_short_offset;    /* minimum short offset */
 
   htab_t loc_hash_table;
@@ -782,13 +782,13 @@ elfNN_ia64_update_short_info (asection *sec, bfd_vma offset,
           && offset < ia64_info->min_short_offset)
     ia64_info->min_short_offset = offset;
   else if (sec->output_section->vma
-          > ia64_info->max_short_sec->output_section->vma)
+          > ia64_info->max_short_sec->vma)
     {
       ia64_info->max_short_sec = sec;
       ia64_info->max_short_offset = offset;
     }
   else if (sec->output_section->vma
-          < ia64_info->min_short_sec->output_section->vma)
+          < ia64_info->min_short_sec->vma)
     {
       ia64_info->min_short_sec = sec;
       ia64_info->min_short_offset = offset;
@@ -1218,7 +1218,7 @@ elfNN_ia64_relax_section (bfd *abfd, asection *sec,
            continue;
 
          if (r_type == R_IA64_GPREL22)
-           elfNN_ia64_update_short_info (tsec,
+           elfNN_ia64_update_short_info (tsec->output_section,
                                          tsec->output_offset + toff,
                                          ia64_info);
          else if (r_type == R_IA64_LTOFF22X)
@@ -1232,7 +1232,7 @@ elfNN_ia64_relax_section (bfd *abfd, asection *sec,
                  changed_got |= !dyn_i->want_got;
                }
 
-             elfNN_ia64_update_short_info (tsec,
+             elfNN_ia64_update_short_info (tsec->output_section,
                                            tsec->output_offset + toff,
                                            ia64_info);
            }
@@ -4313,14 +4313,14 @@ elfNN_ia64_choose_gp (bfd *abfd, struct bfd_link_info *info)
   if (ia64_info->min_short_sec)
     {
       if (min_short_vma 
-         > (ia64_info->min_short_sec->output_section->vma
+         > (ia64_info->min_short_sec->vma
             + ia64_info->min_short_offset))
-       min_short_vma = (ia64_info->min_short_sec->output_section->vma
+       min_short_vma = (ia64_info->min_short_sec->vma
                         + ia64_info->min_short_offset);
       if (max_short_vma
-         < (ia64_info->max_short_sec->output_section->vma
+         < (ia64_info->max_short_sec->vma
             + ia64_info->max_short_offset))
-       max_short_vma = (ia64_info->max_short_sec->output_section->vma
+       max_short_vma = (ia64_info->max_short_sec->vma
                         + ia64_info->max_short_offset);
     }