public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Pedro Alves <palves@redhat.com>
To: Yao Qi <qiyaoltc@gmail.com>, gdb-patches@sourceware.org
Subject: Re: [PATCH 07/13] Split brekapoint_from_pc to breakpoint_kind_from_pc and sw_breakpoint_from_kind
Date: Thu, 27 Oct 2016 14:55:00 -0000	[thread overview]
Message-ID: <8b3bfe2b-c4ea-176d-4647-fed605e09004@redhat.com> (raw)
In-Reply-To: <1472655965-12212-8-git-send-email-yao.qi@linaro.org>

Note the "brekapoint" typo -- it appears through the series
several times, both in code and in email subjects.  I suggest
using git format-patch, and grep the patches to find them all.

On 08/31/2016 04:05 PM, Yao Qi wrote:

> +static const gdb_byte *
> +mips_sw_breakpoint_from_kind (struct gdbarch *gdbarch, int kind, int *size)
> +{



> +    case MIPS_BP_KIND_32BIT:
> +      {
> +	/* The IDT board uses an unusual breakpoint value, and
> +	   sometimes gets confused when it sees the usual MIPS
> +	   breakpoint instruction.  */
> +	static gdb_byte big_breakpoint[] = { 0, 0x5, 0, 0xd };
> +	static gdb_byte little_breakpoint[] = { 0xd, 0, 0x5, 0 };
> +	static gdb_byte pmon_big_breakpoint[] = { 0, 0, 0, 0xd };
> +	static gdb_byte pmon_little_breakpoint[] = { 0xd, 0, 0, 0 };
> +	static gdb_byte idt_big_breakpoint[] = { 0, 0, 0x0a, 0xd };
> +	static gdb_byte idt_little_breakpoint[] = { 0xd, 0x0a, 0, 0 };
> +	/* Likewise, IRIX appears to expect a different breakpoint,
> +	   although this is not apparent until you try to use pthreads.  */
> +	static gdb_byte irix_big_breakpoint[] = { 0, 0, 0, 0xd };
> +
> +	*size = 4;
> +
> +	if (strcmp (target_shortname, "mips") == 0)
> +	  {
> +	    if (byte_order_for_code == BFD_ENDIAN_BIG)
> +	      return idt_big_breakpoint;
> +	    else
> +	      return idt_little_breakpoint;
> +	  }
> +	else if (strcmp (target_shortname, "ddb") == 0
> +		 || strcmp (target_shortname, "pmon") == 0
> +		 || strcmp (target_shortname, "lsi") == 0)
> +	  {
> +	    if (byte_order_for_code == BFD_ENDIAN_BIG)
> +	      return pmon_big_breakpoint;
> +	    else
> +	      return pmon_little_breakpoint;
> +	  }
> +	else if (gdbarch_osabi (gdbarch) == GDB_OSABI_IRIX)
> +	  return irix_big_breakpoint;

FYI, I think all of these above could be removed. 
target mips/ddb/pmon/etc. are all gone, and we don't support IRIX any
longer either:

*** Changes in GDB 7.12*** Changes in GDB 7.12

* Support for various remote target protocols and ROM monitors has
  been removed:

  target m32rsdi        Remote M32R debugging over SDI
  target mips           MIPS remote debugging protocol
  target pmon           PMON ROM monitor
  target ddb            NEC's DDB variant of PMON for Vr4300
  target rockhopper     NEC RockHopper variant of PMON
  target lsi            LSI variant of PMO

*** Changes in GDB 7.10

Support for these obsolete configurations has been removed.

SGI Irix-5.x                            mips-*-irix5*
SGI Irix-6.x                            mips-*-irix6*

> +	else
> +	  {
> +	    if (byte_order_for_code == BFD_ENDIAN_BIG)
> +	      return big_breakpoint;
> +	    else
> +	      return little_breakpoint;
> +	  }
> +      }
> +    default:
> +      gdb_assert_not_reached ("unexpected mips breakpoint kind");
> +    };
> +}
> +
> +/* This function implements gdbarch_breakpoint_from_pc.  It uses the
> +   program counter value to determine whether a 16- or 32-bit breakpoint
> +   should be used.  It returns a pointer to a string of bytes that encode a
> +   breakpoint instruction, stores the length of the string to *lenptr, and
> +   adjusts pc (if necessary) to point to the actual memory location where
> +   the breakpoint should be inserted.  */

I see this comment repeated in several places.  Shouldn't we replace it
with some "implement foo" comment ?

/me reads rest of series...

Oh, this is all eliminated in the end.  So nevermind.

> +
> +GDBARCH_BREAKPOINT_FROM_PC (mips)
> +


Thanks,
Pedro Alves

  parent reply	other threads:[~2016-10-27 14:55 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-31 15:06 [PATCH 00/13] " Yao Qi
2016-08-31 15:06 ` [PATCH 08/13] New gdbarch methods " Yao Qi
2016-08-31 15:06 ` [PATCH 07/13] Split brekapoint_from_pc to " Yao Qi
2016-10-10 10:05   ` Yao Qi
2016-10-27 14:55   ` Pedro Alves [this message]
2016-10-28 19:44     ` Maciej W. Rozycki
2016-08-31 15:06 ` [PATCH 12/13] Determine the kind of single step breakpoint Yao Qi
2016-10-27 14:55   ` Pedro Alves
2016-08-31 15:06 ` [PATCH 06/13] Add enum for mips breakpoint kinds Yao Qi
2016-10-27 14:54   ` Pedro Alves
2016-10-28 19:39     ` Maciej W. Rozycki
2016-08-31 15:06 ` [PATCH 13/13] Remove arm_override_mode Yao Qi
2016-10-27 14:56   ` Pedro Alves
2016-08-31 15:06 ` [PATCH 10/13] Remove gdbarch_remote_breakpoint_from_pc Yao Qi
2016-10-27 14:55   ` Pedro Alves
2016-08-31 15:06 ` [PATCH 09/13] Rename placed_size to kind Yao Qi
2016-08-31 15:06 ` [PATCH 04/13] GDBARCH_BREAKPOINT_MANIPULATION and SET_GDBARCH_BREAKPOINT_MANIPULATION Yao Qi
2016-08-31 15:06 ` [PATCH 02/13] Rename 'arch' by 'gdbarch' in m32c_gdbarch_init Yao Qi
2016-08-31 15:06 ` [PATCH 11/13] Add default_breakpoint_from_pc Yao Qi
2016-08-31 15:06 ` [PATCH 03/13] gdbarch_breakpoint_from_pc doesn't return NULL Yao Qi
2016-09-28 15:23   ` Michael Eager
2016-08-31 15:06 ` [PATCH 05/13] Share enum arm_breakpoint_kinds Yao Qi
2016-08-31 15:06 ` [PATCH 01/13] Remove v850_dbtrap_breakpoint_from_pc Yao Qi
2016-10-10 10:17 ` [PATCH 00/13] Split brekapoint_from_pc to breakpoint_kind_from_pc and sw_breakpoint_from_kind Yao Qi
2016-10-26 15:43   ` Yao Qi
2016-10-27 14:58     ` Pedro Alves
2016-10-27 15:41       ` Yao Qi
2016-10-27 17:55         ` Pedro Alves

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=8b3bfe2b-c4ea-176d-4647-fed605e09004@redhat.com \
    --to=palves@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=qiyaoltc@gmail.com \
    /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).