aboutsummaryrefslogtreecommitdiff
path: root/bfd/elfxx-ia64.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2004-04-06 00:59:22 +0000
committerH.J. Lu <hjl.tools@gmail.com>2004-04-06 00:59:22 +0000
commita5a58ba4dea996f5de695836aa73e00e5e2a80cb (patch)
tree75f98b922243cf72b054d68fe417ed3a657287f5 /bfd/elfxx-ia64.c
parentc2f59a1ab4e609502137e9ac082569912dccf84e (diff)
downloadbinutils-a5a58ba4dea996f5de695836aa73e00e5e2a80cb.zip
binutils-a5a58ba4dea996f5de695836aa73e00e5e2a80cb.tar.gz
binutils-a5a58ba4dea996f5de695836aa73e00e5e2a80cb.tar.bz2
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
Diffstat (limited to 'bfd/elfxx-ia64.c')
-rw-r--r--bfd/elfxx-ia64.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/bfd/elfxx-ia64.c b/bfd/elfxx-ia64.c
index b8527a9..b19aac2 100644
--- a/bfd/elfxx-ia64.c
+++ b/bfd/elfxx-ia64.c
@@ -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;