From 38f88601469f4a6ab7cf42e1f076775c99eb17f2 Mon Sep 17 00:00:00 2001 From: Jon Turney Date: Mon, 29 Jun 2020 14:36:00 +0100 Subject: [PATCH] Cygwin: Update ELF target used by dumper on x86_64 Like [1], but actually making the effort to be 'usable' and 'tested'. [1] https://cygwin.com/pipermail/cygwin/2019-October/242815.html --- winsup/utils/dumper.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/winsup/utils/dumper.cc b/winsup/utils/dumper.cc index 226c2283d..e16d80a36 100644 --- a/winsup/utils/dumper.cc +++ b/winsup/utils/dumper.cc @@ -645,7 +645,13 @@ dumper::init_core_dump () { bfd_init (); - core_bfd = bfd_openw (file_name, "elf32-i386"); +#ifdef __x86_64__ + const char *target = "elf64-x86-64"; +#else + const char *target = "elf32-i386"; +#endif + + core_bfd = bfd_openw (file_name, target); if (core_bfd == NULL) { bfd_perror ("opening bfd"); @@ -658,7 +664,7 @@ dumper::init_core_dump () goto failed; } - if (!bfd_set_arch_mach (core_bfd, bfd_arch_i386, 0)) + if (!bfd_set_arch_mach (core_bfd, bfd_arch_i386, 0 /* = default */)) { bfd_perror ("setting bfd architecture"); goto failed;