From 9162a94effd932637e786fa7a103ba01b57b5715 Mon Sep 17 00:00:00 2001 From: Steve Chamberlain Date: Tue, 22 Aug 1995 06:54:07 +0000 Subject: [PATCH] (coff_write_object_contents): Initialze link_data if not set. --- bfd/ChangeLog | 1 + bfd/coffcode.h | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 872e320da84..dc873051f32 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -8,6 +8,7 @@ Mon Aug 21 17:49:28 1995 steve chamberlain * coffcode.h (pe_value): New function. (fill_pe_header_info): New function. (coff_write_object_contents): Use new function. + (coff_write_object_contents): Initialze link_data if not set. * cofflink.c (coff_final_link_info): Remove pe randomness. (dores_com): Update info in bfd_link_pe_info_dval. (process_embedded_commands): Use the bfd_link_pe_info_dval. diff --git a/bfd/coffcode.h b/bfd/coffcode.h index 08964fc68f7..f155ce2dc30 100644 --- a/bfd/coffcode.h +++ b/bfd/coffcode.h @@ -1879,16 +1879,26 @@ coff_write_object_contents (abfd) #ifdef COFF_IMAGE_WITH_PE struct internal_extra_pe_aouthdr extra_a; struct internal_extra_pe_filehdr extra_f; - - bfd_link_pe_info *pe_info = coff_data (abfd)->link_info->pe_info; bfd_link_pe_info defs; + struct bfd_link_info dummy_info; + struct bfd_link_info *info ; + struct bfd_link_pe_info *pe_info; + + if (coff_data (abfd)->link_info) + info =coff_data (abfd)->link_info; + else + { + coff_data (abfd)->link_info = info = &dummy_info; + info->pe_info = 0; + } + pe_info = info->pe_info; + if (!pe_info) { /* Just use sensible defaults */ memset (&defs, 0, sizeof (defs)); coff_data (abfd)->link_info->pe_info = &defs; } - #endif bfd_set_error (bfd_error_system_call); -- 2.30.2