Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* Patch to let Alpha debuggers debug a remote target over Telnet
@ 2000-04-25 18:18 Guy Harris
  0 siblings, 0 replies; 3+ messages in thread
From: Guy Harris @ 2000-04-25 18:18 UTC (permalink / raw)
  To: gdb-patches

This patch adds "ser-tcp.o" to debuggers hosted on Alpha machines
running OSF/1 3.x and later, so that they can debug remote targets over
a Telnet connection to a terminal server as well as over a direct serial
connection.  (Arguably, any debugger configuration that includes support
for remote serial targets should include this as well.)

I've attached a ChangeLog and a patch.
From guy@netapp.com Tue Apr 25 18:32:00 2000
From: Guy Harris <guy@netapp.com>
To: gdb-patches@sourceware.cygnus.com
Subject: Patches to add more PALcode operations to the Alpha disassembler
Date: Tue, 25 Apr 2000 18:32:00 -0000
Message-id: <200004260132.SAA08988@tooting>
X-SW-Source: 2000-04/msg00458.html
Content-length: 110

"opcodes/alpha-opc.c" was missing some PALcode operations; I've attached
a ChangeLog and a patch to add them.
From ac131313@cygnus.com Tue Apr 25 18:47:00 2000
From: Andrew Cagney <ac131313@cygnus.com>
To: Guy Harris <guy@netapp.com>
Cc: gdb-patches@sourceware.cygnus.com
Subject: Re: Patches to add more PALcode operations to the Alpha disassembler
Date: Tue, 25 Apr 2000 18:47:00 -0000
Message-id: <39064A63.F91CE9DD@cygnus.com>
References: <200004260132.SAA08988@tooting>
X-SW-Source: 2000-04/msg00459.html
Content-length: 415

Guy Harris wrote:
> 
> "opcodes/alpha-opc.c" was missing some PALcode operations; I've attached
> a ChangeLog and a patch to add them.

FYI,

opcodes is part of binutils.  I'd send the patch to
binutils@sourceware.cygnus.com.  As soon as the binutils group commit
it, it will be available to GDB (we've a common source tree).

See src/MAINTAINERS for a rough breakdown of the top level directory.

	enjoy,
		Andrew
From ac131313@cygnus.com Tue Apr 25 19:02:00 2000
From: Andrew Cagney <ac131313@cygnus.com>
To: Guy Harris <guy@netapp.com>
Cc: gdb-patches@sourceware.cygnus.com
Subject: Re: Patch to let Alpha debuggers debug a remote target over Telnet
Date: Tue, 25 Apr 2000 19:02:00 -0000
Message-id: <39064DEA.89647322@cygnus.com>
References: <200004260118.SAA05848@tooting>
X-SW-Source: 2000-04/msg00460.html
Content-length: 534

Guy Harris wrote:
> 
> This patch adds "ser-tcp.o" to debuggers hosted on Alpha machines
> running OSF/1 3.x and later, so that they can debug remote targets over
> a Telnet connection to a terminal server as well as over a direct serial
> connection.  (Arguably, any debugger configuration that includes support
> for remote serial targets should include this as well.)

What about ser-pipe.c?

As to your more generic question/comment.  Yes, that code should be
selected by configure.in/autoconf and not via the XDEPFILES.

	Andrew
From guy@netapp.com Tue Apr 25 19:08:00 2000
From: Guy Harris <guy@netapp.com>
To: Andrew Cagney <ac131313@cygnus.com>
Cc: Guy Harris <guy@netapp.com>, gdb-patches@sourceware.cygnus.com
Subject: Re: Patch to let Alpha debuggers debug a remote target over Telnet
Date: Tue, 25 Apr 2000 19:08:00 -0000
Message-id: <200004260208.TAA16542@tooting>
References: <39064DEA.89647322@cygnus.com>
X-SW-Source: 2000-04/msg00461.html
Content-length: 311

> What about ser-pipe.c?

We're not using it (we're using GDB 4.18 here, so we don't even have
it), but if, as I infer, it's another alternative to directly
communicating with the remote over a serial line, yes, it presumably
should be supported whenever a serial line is supported, just as
"ser-tcp.c" should.
From guy@netapp.com Tue Apr 25 19:46:00 2000
From: Guy Harris <guy@netapp.com>
To: Guy Harris <guy@netapp.com>
Cc: Andrew Cagney <ac131313@cygnus.com>, gdb-patches@sourceware.cygnus.com
Subject: Re: Patch to let Alpha debuggers debug a remote target over Telnet
Date: Tue, 25 Apr 2000 19:46:00 -0000
Message-id: <200004260246.TAA23491@tooting>
References: <200004260208.TAA16542@tooting>
X-SW-Source: 2000-04/msg00462.html
Content-length: 385

> We're not using it (we're using GDB 4.18 here, so we don't even have
> it), but if, as I infer, it's another alternative to directly
> communicating with the remote over a serial line, yes, it presumably
> should be supported whenever a serial line is supported, just as
> "ser-tcp.c" should.

OK, see attached ChangeLog file and patch, which adds both "ser-tcp.o"
and "ser-pipe.o".
From kevinb@cygnus.com Tue Apr 25 20:08:00 2000
From: Kevin Buettner <kevinb@cygnus.com>
To: gdb-patches@sourceware.cygnus.com
Subject: [PATCH] examine_prologue() changes in ia64-tdep.c
Date: Tue, 25 Apr 2000 20:08:00 -0000
Message-id: <1000426030839.ZM10372@ocotillo.lan>
X-SW-Source: 2000-04/msg00463.html
Content-length: 3212

Earlier today, I committed the changes below for the IA-64 port.

	* ia64-tdep.c (examine_prologue): Recognize store instructions;
	those whose source operands are input registers which haven't
	been seen before are considered to be part of the prologue.

Index: ia64-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/ia64-tdep.c,v
retrieving revision 1.4
diff -u -p -r1.4 ia64-tdep.c
--- ia64-tdep.c	2000/04/25 06:36:51	1.4
+++ ia64-tdep.c	2000/04/25 23:00:18
@@ -707,7 +707,12 @@ examine_prologue (CORE_ADDR pc, CORE_ADD
   int mem_stack_frame_size = 0;
   int spill_reg   = 0;
   CORE_ADDR spill_addr = 0;
+  char instores[8];
+  char infpstores[8];
 
+  memset (instores, 0, sizeof instores);
+  memset (infpstores, 0, sizeof infpstores);
+
   if (frame && !frame->saved_regs)
     {
       frame_saved_regs_zalloc (frame);
@@ -749,7 +754,13 @@ examine_prologue (CORE_ADDR pc, CORE_ADD
       if (next_pc == 0)
 	break;
 
-      if (it == I && ((instr & 0x1eff8000000LL) == 0x00188000000LL))
+      if (it == B || ((instr & 0x3fLL) != 0LL))
+	{
+	  /* Exit loop upon hitting a branch instruction or a predicated
+	     instruction. */
+	  break;
+	}
+      else if (it == I && ((instr & 0x1eff8000000LL) == 0x00188000000LL))
         {
 	  /* Move from BR */
 	  int b2 = (int) ((instr & 0x0000000e000LL) >> 13);
@@ -899,7 +910,49 @@ examine_prologue (CORE_ADDR pc, CORE_ADD
 		spill_addr = 0;		/* must be done spilling */
 	      last_prologue_pc = next_pc;
 	    }
+	  else if (qp == 0 && 32 <= rM && rM < 40 && !instores[rM-32])
+	    {
+	      /* Allow up to one store of each input register. */
+	      instores[rM-32] = 1;
+	      last_prologue_pc = next_pc;
+	    }
 	}
+      else if (it == M && ((instr & 0x1ff08000000LL) == 0x08c00000000LL))
+	{
+	  /* One of
+	       st1 [rN] = rM
+	       st2 [rN] = rM
+	       st4 [rN] = rM
+	       st8 [rN] = rM
+	     Note that the st8 case is handled in the clause above.
+	     
+	     Advance over stores of input registers. One store per input
+	     register is permitted. */
+	  int rM = (int) ((instr & 0x000000fe000LL) >> 13);
+	  int qp = (int) (instr & 0x0000000003fLL);
+	  if (qp == 0 && 32 <= rM && rM < 40 && !instores[rM-32])
+	    {
+	      instores[rM-32] = 1;
+	      last_prologue_pc = next_pc;
+	    }
+	}
+      else if (it == M && ((instr & 0x1ff88000000LL) == 0x0cc80000000LL))
+        {
+	  /* Either
+	       stfs [rN] = fM
+	     or
+	       stfd [rN] = fM
+
+	     Advance over stores of floating point input registers.  Again
+	     one store per register is permitted */
+	  int fM = (int) ((instr & 0x000000fe000LL) >> 13);
+	  int qp = (int) (instr & 0x0000000003fLL);
+	  if (qp == 0 && 8 <= fM && fM < 16 && !infpstores[fM - 8])
+	    {
+	      infpstores[fM-8] = 1;
+	      last_prologue_pc = next_pc;
+	    }
+	}
       else if (it == M
             && (   ((instr & 0x1ffc8000000LL) == 0x08ec0000000LL)
 	        || ((instr & 0x1efc0000000LL) == 0x0aec0000000LL)))
@@ -925,8 +978,6 @@ examine_prologue (CORE_ADDR pc, CORE_ADD
 	      last_prologue_pc = next_pc;
 	    }
 	}
-      else if (it == B || ((instr & 0x3fLL) != 0LL))
-	break;
 
       pc = next_pc;
     }


^ permalink raw reply	[flat|nested] 3+ messages in thread
[parent not found: <200004260208.TAA16542@tooting>]

end of thread, other threads:[~2000-04-26 12:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-04-25 18:18 Patch to let Alpha debuggers debug a remote target over Telnet Guy Harris
     [not found] <200004260208.TAA16542@tooting>
2000-04-25 20:20 ` Andrew Cagney
2000-04-26 12:00   ` Guy Harris

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox