summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Turney <jon.turney@dronecode.org.uk>2020-06-29 14:36:00 +0100
committerJon Turney <jon.turney@dronecode.org.uk>2020-07-12 15:09:39 +0100
commit38f88601469f4a6ab7cf42e1f076775c99eb17f2 (patch)
treeb7ab375cb15b73a7d9257f367aa4601d4d86e993
parentf2a285bd4f424f0c84017b6051dcdd8acf221de8 (diff)
downloadcygnal-38f88601469f4a6ab7cf42e1f076775c99eb17f2.tar.gz
cygnal-38f88601469f4a6ab7cf42e1f076775c99eb17f2.tar.bz2
cygnal-38f88601469f4a6ab7cf42e1f076775c99eb17f2.zip
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
-rw-r--r--winsup/utils/dumper.cc10
1 files 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;