From: Jan Beulich Date: Thu, 19 May 2022 10:44:32 +0000 (+0200) Subject: COFF/PE: don't leave zero timestamp after objcopy / strip X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6db1e45d7b85634679bc6dedf4e4a2c78fed74d4;p=binutils-gdb.git COFF/PE: don't leave zero timestamp after objcopy / strip Fill the timestamp field suitably for _bfd_XXi_only_swap_filehdr_out(). Instead of re-arranging the present if(), fold this logic with that of copying the optional header. --- diff --git a/binutils/objcopy.c b/binutils/objcopy.c index 6fb31c8cac7..7ad39e854f0 100644 --- a/binutils/objcopy.c +++ b/binutils/objcopy.c @@ -2747,7 +2747,14 @@ copy_object (bfd *ibfd, bfd *obfd, const bfd_arch_info_type *input_arch) /* Copy PE parameters before changing them. */ if (bfd_get_flavour (ibfd) == bfd_target_coff_flavour && bfd_pei_p (ibfd)) - pe->pe_opthdr = pe_data (ibfd)->pe_opthdr; + { + pe->pe_opthdr = pe_data (ibfd)->pe_opthdr; + + if (preserve_dates) + pe->timestamp = pe_data (ibfd)->coff.timestamp; + else + pe->timestamp = -1; + } if (pe_file_alignment != (bfd_vma) -1) pe->pe_opthdr.FileAlignment = pe_file_alignment; @@ -2793,11 +2800,6 @@ copy_object (bfd *ibfd, bfd *obfd, const bfd_arch_info_type *input_arch) file_alignment, section_alignment); } - - if (preserve_dates - && bfd_get_flavour (ibfd) == bfd_target_coff_flavour - && bfd_pei_p (ibfd)) - pe->timestamp = pe_data (ibfd)->coff.timestamp; } free (isympp);