2004-04-05 H.J. Lu <hongjiu.lu@intel.com>
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 6 Apr 2004 00:59:22 +0000 (00:59 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 6 Apr 2004 00:59:22 +0000 (00:59 +0000)
* elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Always
reserve the memory for dynamic linker

bfd/ChangeLog
bfd/elfxx-ia64.c

index a6ba2a3..778a8e4 100644 (file)
@@ -1,3 +1,8 @@
+2004-04-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Always
+       reserve the memory for dynamic linker
+
 2004-04-05  Mark Kettenis  <kettenis@gnu.org>
 
        * netbsd-core.c (CORE_WCOOKIE_OFFSET): New define.
index b8527a9..b19aac2 100644 (file)
@@ -2941,8 +2941,12 @@ elfNN_ia64_size_dynamic_sections (output_bfd, info)
   data.ofs = (data.ofs + 31) & (bfd_vma) -32;
 
   elfNN_ia64_dyn_sym_traverse (ia64_info, allocate_plt2_entries, &data);
-  if (data.ofs != 0)
+  if (data.ofs != 0 || ia64_info->root.dynamic_sections_created)
     {
+      /* FIXME: we always reserve the memory for dynamic linker even if
+        there are no PLT entries since dynamic linker may assume the
+        reserved memory always exists.  */
+
       BFD_ASSERT (ia64_info->root.dynamic_sections_created);
 
       ia64_info->plt_sec->_raw_size = data.ofs;