2008-12-02 Kai Tietz <kai.tietz@onevision.com>
authorKai Tietz <kai.tietz@onevision.com>
Tue, 2 Dec 2008 09:33:12 +0000 (09:33 +0000)
committerKai Tietz <kai.tietz@onevision.com>
Tue, 2 Dec 2008 09:33:12 +0000 (09:33 +0000)
        * pe-dll.c (make_runtime_pseudo_reloc): Make symtab big enough to
        hold relocations.

ld/ChangeLog
ld/pe-dll.c

index 620997a83d0768090a37487c878c2c016870a518..2adfb63ef27a1414ee0c76bf31846cf6dafb1fe1 100644 (file)
@@ -1,3 +1,8 @@
+2008-12-02  Kai Tietz  <kai.tietz@onevision.com>
+
+       * pe-dll.c (make_runtime_pseudo_reloc): Make symtab big enough to
+       hold relocations.
+
 2008-11-27  M R Swami Reddy <MR.Swami.Reddy@nsc.com>
 
         * emultempl/cr16elf.em (cr16_after_open): New function to handle
index 35836a7566fdf3f6e7bab52f5b5374f69873d0d9..3e670680a8ef37f872435bd3b0931042696b5038 100644 (file)
@@ -2284,7 +2284,14 @@ make_runtime_pseudo_reloc (const char *name ATTRIBUTE_UNUSED,
   bfd_set_arch_mach (abfd, pe_details->bfd_arch, 0);
 
   symptr = 0;
-  symtab = xmalloc (2 * sizeof (asymbol *));
+  if (link_info.pei386_runtime_pseudo_reloc == 2)
+    {
+      symtab = xmalloc ((runtime_pseudp_reloc_v2_init ? 3 : 6) * sizeof (asymbol *));
+    }
+  else
+    {
+      symtab = xmalloc (2 * sizeof (asymbol *));
+    }
   rt_rel = quick_section (abfd, ".rdata_runtime_pseudo_reloc",
                          SEC_HAS_CONTENTS, 2);