summaryrefslogtreecommitdiff
path: root/bfd/elfxx-ia64.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl@lucon.org>2004-04-06 00:59:22 +0000
committerH.J. Lu <hjl@lucon.org>2004-04-06 00:59:22 +0000
commit93078afc584a201d92b8050a07ecc17005e75caa (patch)
tree07fe6821450fd7cee64faaaad0b85a87dd7232e5 /bfd/elfxx-ia64.c
parent3957a33ee60d736c9781b2b50c02cb64a4d8c8cc (diff)
downloadgdb-93078afc584a201d92b8050a07ecc17005e75caa.tar.gz
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 b8527a91c7c..b19aac2c55d 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;