* [PATCH] Cygwin: Update dumper for bfd API changes
@ 2020-02-26 20:07 Jon Turney
2020-02-26 20:16 ` Corinna Vinschen
0 siblings, 1 reply; 2+ messages in thread
From: Jon Turney @ 2020-02-26 20:07 UTC (permalink / raw)
To: cygwin-patches; +Cc: Jon Turney
Update dumper for bfd API changes in binutils 2.34
libbfd doesn't guarantee API stability, so we've just been lucky this
hasn't broken more often.
See binutils commit fd361982.
---
winsup/utils/dumper.cc | 30 ++++++++++++++++++++++--------
winsup/utils/parse_pe.cc | 4 ++++
2 files changed, 26 insertions(+), 8 deletions(-)
diff --git a/winsup/utils/dumper.cc b/winsup/utils/dumper.cc
index f71bdda8b..226c2283d 100644
--- a/winsup/utils/dumper.cc
+++ b/winsup/utils/dumper.cc
@@ -39,6 +39,20 @@
#define NOTE_NAME_SIZE 16
+#ifdef bfd_get_section_size
+/* for bfd < 2.34 */
+#define get_section_name(abfd, sect) bfd_get_section_name (abfd, sect)
+#define get_section_size(sect) bfd_get_section_size(sect)
+#define set_section_size(abfd, sect, size) bfd_set_section_size(abfd, sect, size)
+#define set_section_flags(abfd, sect, flags) bfd_set_section_flags(abfd, sect, flags)
+#else
+/* otherwise bfd >= 2.34 */
+#define get_section_name(afbd, sect) bfd_section_name (sect)
+#define get_section_size(sect) bfd_section_size(sect)
+#define set_section_size(abfd, sect, size) bfd_set_section_size(sect, size)
+#define set_section_flags(abfd, sect, flags) bfd_set_section_flags(sect, flags)
+#endif
+
typedef struct _note_header
{
Elf_External_Note elf_note_header;
@@ -131,7 +145,7 @@ dumper::sane ()
void
print_section_name (bfd* abfd, asection* sect, PTR obj)
{
- deb_printf (" %s", bfd_get_section_name (abfd, sect));
+ deb_printf (" %s", get_section_name (abfd, sect));
}
void
@@ -712,10 +726,10 @@ dumper::prepare_core_dump ()
if (p->type == pr_ent_module && status_section != NULL)
{
- if (!bfd_set_section_size (core_bfd,
- status_section,
- (bfd_get_section_size (status_section)
- + sect_size)))
+ if (!set_section_size (core_bfd,
+ status_section,
+ (get_section_size (status_section)
+ + sect_size)))
{
bfd_perror ("resizing status section");
goto failed;
@@ -738,8 +752,8 @@ dumper::prepare_core_dump ()
goto failed;
}
- if (!bfd_set_section_flags (core_bfd, new_section, sect_flags) ||
- !bfd_set_section_size (core_bfd, new_section, sect_size))
+ if (!set_section_flags (core_bfd, new_section, sect_flags) ||
+ !set_section_size (core_bfd, new_section, sect_size))
{
bfd_perror ("setting section attributes");
goto failed;
@@ -823,7 +837,7 @@ dumper::write_core_dump ()
deb_printf ("writing section type=%u base=%p size=%p flags=%08x\n",
p->type,
p->section->vma,
- bfd_get_section_size (p->section),
+ get_section_size (p->section),
p->section->flags);
switch (p->type)
diff --git a/winsup/utils/parse_pe.cc b/winsup/utils/parse_pe.cc
index 2a388638c..90b5c0b0d 100644
--- a/winsup/utils/parse_pe.cc
+++ b/winsup/utils/parse_pe.cc
@@ -25,6 +25,10 @@
#include "dumper.h"
+#ifndef bfd_get_section_size
+#define bfd_get_section_size(sect) bfd_section_size(sect)
+#endif
+
int
exclusion::add (LPBYTE mem_base, SIZE_T mem_size)
{
--
2.21.0
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] Cygwin: Update dumper for bfd API changes
2020-02-26 20:07 [PATCH] Cygwin: Update dumper for bfd API changes Jon Turney
@ 2020-02-26 20:16 ` Corinna Vinschen
0 siblings, 0 replies; 2+ messages in thread
From: Corinna Vinschen @ 2020-02-26 20:16 UTC (permalink / raw)
To: cygwin-patches
[-- Attachment #1: Type: text/plain, Size: 487 bytes --]
On Feb 26 20:07, Jon Turney wrote:
> Update dumper for bfd API changes in binutils 2.34
>
> libbfd doesn't guarantee API stability, so we've just been lucky this
> hasn't broken more often.
>
> See binutils commit fd361982.
> ---
> winsup/utils/dumper.cc | 30 ++++++++++++++++++++++--------
> winsup/utils/parse_pe.cc | 4 ++++
> 2 files changed, 26 insertions(+), 8 deletions(-)
Great, please push.
Thanks,
Corinna
--
Corinna Vinschen
Cygwin Maintainer
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-02-26 20:16 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-26 20:07 [PATCH] Cygwin: Update dumper for bfd API changes Jon Turney
2020-02-26 20:16 ` Corinna Vinschen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).