public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Simon Marchi <simark@simark.ca>
To: Jon Turney <jon.turney@dronecode.org.uk>, gdb-patches@sourceware.org
Subject: Re: [PATCH 4/7] Add sniffer for Cygwin x86_64 core dumps
Date: Thu, 2 Jul 2020 19:59:44 -0400	[thread overview]
Message-ID: <b3afafee-93cd-b81d-e795-fa5fc0d5ec32@simark.ca> (raw)
In-Reply-To: <20200701213225.14144-5-jon.turney@dronecode.org.uk>

> @@ -1276,6 +1278,24 @@ amd64_windows_osabi_sniffer (bfd *abfd)
>    return GDB_OSABI_WINDOWS;
>  }
>  
> +static enum gdb_osabi
> +amd64_cygwin_core_osabi_sniffer (bfd *abfd)
> +{
> +  const char *target_name = bfd_get_target (abfd);
> +
> +  /* Cygwin uses elf core dumps.  Do not claim all ELF executables,
> +     check whether there is a .reg section of proper size.  */
> +  if (strcmp (target_name, "elf64-x86-64") == 0)
> +    {
> +      asection *section = bfd_get_section_by_name (abfd, ".reg");
> +      if (section != nullptr
> +	  && bfd_section_size (section) == AMD64_WINDOWS_SIZEOF_GREGSET)
> +	return GDB_OSABI_CYGWIN;
> +    }
> +
> +  return GDB_OSABI_UNKNOWN;

The obvious question here is, what happens if we are loading the core for
another architecture, and it happens by bad luck that the .reg section is
of that size, even though it's not a Cygwin core.  Will this give a false
positive?

I presume that since this is copied on the i386, that discussion already
happened in the past for i386, and it was concluded that there was no better
way to identify a Cygwin core.  But I thought I'd ask just to be sure.

Simon

  reply	other threads:[~2020-07-02 23:59 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-01 21:32 [PATCH 0/7] Add gdb support " Jon Turney
2020-07-01 21:32 ` [PATCH 1/7] Read tid from correct offset in win32pstatus NOTE_INFO_THREAD Jon Turney
2020-07-01 21:32 ` [PATCH 2/7] Don't apply size constraint to all win32pstatus ELF notes Jon Turney
2020-07-01 21:32 ` [PATCH 3/7] Don't hardcode CONTEXT size for a NOTE_INFO_THREAD win32pstatus note Jon Turney
2020-07-06 20:12   ` Christian Biesinger
2020-07-01 21:32 ` [PATCH 4/7] Add sniffer for Cygwin x86_64 core dumps Jon Turney
2020-07-02 23:59   ` Simon Marchi [this message]
2020-07-03 13:30     ` Jon Turney
2020-07-03 14:17       ` Simon Marchi
2020-07-06 18:46         ` Jon Turney
2020-07-01 21:32 ` [PATCH 5/7] Add amd64_windows_gregset_reg_offset Jon Turney
2020-07-03 14:11   ` Pedro Alves
2020-07-01 21:32 ` [PATCH 6/7] Promote windows_core_xfer_shared_libraries and windows_core_pid_to_str Jon Turney
2020-07-02 23:53   ` Simon Marchi
2020-07-02 23:56     ` Simon Marchi
2020-07-03 13:14       ` Jon Turney
2020-07-01 21:32 ` [PATCH 7/7] Add handling for 64-bit module addresses in Cygwin core dumps Jon Turney
2020-07-06 20:13   ` Christian Biesinger
2020-07-08 15:50     ` Jon Turney
2020-07-08 16:11       ` Christian Biesinger
2020-07-12 12:58         ` Jon Turney
2020-07-02 21:17 ` [PATCH 0/7] Add gdb support for Cygwin x86_64 " Tom Tromey
2020-07-03 13:30   ` Jon Turney
2020-07-03  0:00 ` Simon Marchi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b3afafee-93cd-b81d-e795-fa5fc0d5ec32@simark.ca \
    --to=simark@simark.ca \
    --cc=gdb-patches@sourceware.org \
    --cc=jon.turney@dronecode.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).