From aac88046e6cccf13fc408fc4e515aaf2548fe898 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Wed, 25 Mar 2020 11:58:49 +0000 Subject: [PATCH] Add a new function to the BFD library to allow users access to the COFF internal_extra_pe_outhdr structure. * cofflink.c (bfd_coff_get_internal_extra_pe_aouthdr): New function. * libbfd-in.h (bfd_coff_get_internal_extra_pe_aouthdr): Prototype. * libbfd.h: Regenerate. --- bfd/ChangeLog | 7 +++++++ bfd/cofflink.c | 9 +++++++++ bfd/libbfd-in.h | 5 +++++ bfd/libbfd.h | 5 +++++ 4 files changed, 26 insertions(+) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 7f04a97daa..cac27e37ec 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +2020-03-25 Nick Clifton + + * cofflink.c (bfd_coff_get_internal_extra_pe_aouthdr): New + function. + * libbfd-in.h (bfd_coff_get_internal_extra_pe_aouthdr): Prototype. + * libbfd.h: Regenerate. + 2020-03-25 Shahab Vahedi * elf32-arc.c (PRINT_DEBUG_RELOC_INFO_BEFORE): Use the diff --git a/bfd/cofflink.c b/bfd/cofflink.c index e52f543ee6..845d1e5846 100644 --- a/bfd/cofflink.c +++ b/bfd/cofflink.c @@ -3157,3 +3157,12 @@ _bfd_coff_generic_relocate_section (bfd *output_bfd, } return TRUE; } + + +struct internal_extra_pe_aouthdr * +bfd_coff_get_internal_extra_pe_aouthdr (bfd* abfd) +{ + if (abfd == NULL || bfd_get_flavour (abfd) != bfd_target_coff_flavour) + return NULL; + return & pe_data (abfd)->pe_opthdr; +} diff --git a/bfd/libbfd-in.h b/bfd/libbfd-in.h index 5d24efbeb2..2f1f88644e 100644 --- a/bfd/libbfd-in.h +++ b/bfd/libbfd-in.h @@ -854,6 +854,11 @@ extern bfd_vma _bfd_get_gp_value extern void _bfd_set_gp_value (bfd *, bfd_vma) ATTRIBUTE_HIDDEN; +/* Provide access to the internal_extra_pe_aouthdr structure which + contains interesting information for PE format binaries. */ +extern struct internal_extra_pe_aouthdr * + bfd_coff_get_internal_extra_pe_aouthdr (bfd *); + /* Function shared by the COFF and ELF SH backends, which have no other common header files. */ diff --git a/bfd/libbfd.h b/bfd/libbfd.h index 348ccfd4b5..fc8b81c45f 100644 --- a/bfd/libbfd.h +++ b/bfd/libbfd.h @@ -859,6 +859,11 @@ extern bfd_vma _bfd_get_gp_value extern void _bfd_set_gp_value (bfd *, bfd_vma) ATTRIBUTE_HIDDEN; +/* Provide access to the internal_extra_pe_aouthdr structure which + contains interesting information for PE format binaries. */ +extern struct internal_extra_pe_aouthdr * + bfd_coff_get_internal_extra_pe_aouthdr (bfd *); + /* Function shared by the COFF and ELF SH backends, which have no other common header files. */ -- 2.34.1