aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/peicode.h28
2 files changed, 24 insertions, 9 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index d4770e9..f39fc9d 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+Mon May 18 14:44:15 1998 Nick Clifton <nickc@cygnus.com>
+
+ * peicode.h (add_data_entry): If the section has no private data
+ then do not create a Data Dictionary entry for it.
+
Mon May 18 00:09:28 1998 Richard Henderson <rth@cygnus.com>
* elf64-alpha.c (elf64_alpha_relax_section): Set again on changes.
diff --git a/bfd/peicode.h b/bfd/peicode.h
index 7953831..0183f98 100644
--- a/bfd/peicode.h
+++ b/bfd/peicode.h
@@ -52,11 +52,15 @@ Most of this hacked by Steve Chamberlain,
wasting too much time.
*/
-#ifdef coff_bfd_print_private_bfd_data
-static boolean (* pe_saved_coff_bfd_print_private_bfd_data) (bfd *, PTR) = coff_bfd_print_private_bfd_data;
-#undef coff_bfd_print_private_bfd_data
+#ifdef coff_bfd_print_private_bfd_data
+static boolean (*pe_saved_coff_bfd_print_private_bfd_data)
+ PARAMS ((bfd *, PTR))
+ = coff_bfd_print_private_bfd_data;
+#undef coff_bfd_print_private_bfd_data
#else
-static boolean (* pe_saved_coff_bfd_print_private_bfd_data) (bfd *, PTR) = NULL;
+static boolean (*pe_saved_coff_bfd_print_private_bfd_data)
+ PARAMS ((bfd *, PTR))
+ = NULL;
#endif
#define coff_bfd_print_private_bfd_data pe_print_private_bfd_data
@@ -853,7 +857,9 @@ static void add_data_entry (abfd, aout, idx, name, base)
asection *sec = bfd_get_section_by_name (abfd, name);
/* add import directory information if it exists */
- if (sec != NULL)
+ if (sec != NULL
+ && coff_section_data (abfd, sec) != NULL
+ && pei_section_data (abfd, sec) != NULL)
{
aout->DataDirectory[idx].VirtualAddress = (sec->vma - base) & 0xffffffff;
aout->DataDirectory[idx].Size = pei_section_data (abfd, sec)->virt_size;
@@ -2054,11 +2060,15 @@ pe_mkobject_hook (abfd, filehdr, aouthdr)
/* Copy any private info we understand from the input bfd
to the output bfd. */
-#ifdef coff_bfd_copy_private_bfd_data
-static boolean (* pe_saved_coff_bfd_copy_private_bfd_data)(bfd *, bfd *) = coff_bfd_copy_private_bfd_data;
-#undef coff_bfd_copy_private_bfd_data
+#ifdef coff_bfd_copy_private_bfd_data
+static boolean (*pe_saved_coff_bfd_copy_private_bfd_data)
+ PARAMS ((bfd *, bfd *))
+ = coff_bfd_copy_private_bfd_data;
+#undef coff_bfd_copy_private_bfd_data
#else
-static boolean (* pe_saved_coff_bfd_copy_private_bfd_data)(bfd *, bfd *) = NULL;
+static boolean (*pe_saved_coff_bfd_copy_private_bfd_data)
+ PARAMS ((bfd *, bfd *))
+ = NULL;
#endif
#define coff_bfd_copy_private_bfd_data pe_bfd_copy_private_bfd_data