public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
* [SCM]  master: Move Task.getRawMemory() to LiveTask; make package-local.
@ 2008-01-11 21:36 cagney
  0 siblings, 0 replies; only message in thread
From: cagney @ 2008-01-11 21:36 UTC (permalink / raw)
  To: frysk-cvs

The branch, master has been updated
       via  39b06046cc2cac180bbec24e6a1d557f69b45cd6 (commit)
      from  e42a7c12625dc81987dd20571e05080f118d25f1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 39b06046cc2cac180bbec24e6a1d557f69b45cd6
Author: Andrew Cagney <cagney@toil.yyz.redhat.com>
Date:   Fri Jan 11 16:36:33 2008 -0500

    Move Task.getRawMemory() to LiveTask; make package-local.
    
    frysk-core/frysk/proc/ChangeLog
    2008-01-11  Andrew Cagney  <cagney@redhat.com>
    
    	* TestTaskObserverCode.java: Move to frysk.proc.live.
    	* Task.java (getRawMemory()): Move to frysk.proc.live.LiveTask.
    
    frysk-core/frysk/proc/live/ChangeLog
    2008-01-11  Andrew Cagney  <cagney@redhat.com>
    
    	* TestTaskObserverCode.java: Move from
    	frysk.proc.TestTaskObserverCode.
    	* LinuxPtraceTask.java (getRawMemory()): Make package-private.
    	* LiveTask.java (getRawMemory()): Declare.
    	* Breakpoint.java: Update.
    	* Instruction.java: Update.

-----------------------------------------------------------------------

Summary of changes:
 frysk-core/frysk/proc/ChangeLog                    |    3 +
 frysk-core/frysk/proc/Task.java                    |   13 ---
 frysk-core/frysk/proc/live/Breakpoint.java         |    4 +-
 frysk-core/frysk/proc/live/ChangeLog               |    7 ++
 frysk-core/frysk/proc/live/Instruction.java        |    2 +-
 frysk-core/frysk/proc/live/LinuxPtraceTask.java    |    4 +-
 frysk-core/frysk/proc/live/LiveTask.java           |   12 +++
 .../proc/{ => live}/TestTaskObserverCode.java      |   79 ++++++++++++-------
 8 files changed, 76 insertions(+), 48 deletions(-)
 rename frysk-core/frysk/proc/{ => live}/TestTaskObserverCode.java (95%)

First 500 lines of diff:
diff --git a/frysk-core/frysk/proc/ChangeLog b/frysk-core/frysk/proc/ChangeLog
index dc82336..0f5210d 100644
--- a/frysk-core/frysk/proc/ChangeLog
+++ b/frysk-core/frysk/proc/ChangeLog
@@ -1,5 +1,8 @@
 2008-01-11  Andrew Cagney  <cagney@redhat.com>
 
+	* TestTaskObserverCode.java: Move to frysk.proc.live.
+	* Task.java (getRawMemory()): Move to frysk.proc.live.LiveTask.
+	
 	* TaskObservation.java: Move to frysk.proc.live.
 	* Task.java (handleAddObservation(TaskObserver)): Delete.
 	(handleDeleteObservation(TaskObserver)): Delete.
diff --git a/frysk-core/frysk/proc/Task.java b/frysk-core/frysk/proc/Task.java
index a0edca5..014d6fb 100644
--- a/frysk-core/frysk/proc/Task.java
+++ b/frysk-core/frysk/proc/Task.java
@@ -298,19 +298,6 @@ public abstract class Task {
     }
 
     /**
-     * Returns the memory as seen by frysk-core. That includes things
-     * like inserted breakpoint instructions bytes which are filtered
-     * out by <code>getMemory()</code> (which is what you normally
-     * want unless you are interested in frysk-core specifics).  <p>
-     * Default implementation calls <code>getMemory()</code>, need to
-     * be overriden by subclasses for which the raw memory view and
-     * the logical memory view are different.
-     */
-    public ByteBuffer getRawMemory() {
-	return getMemory();
-    }
-
-    /**
      * Add TaskObserver.Code to the TaskObserver pool.
      */
     public abstract void requestAddCodeObserver(TaskObserver.Code o, long a);
diff --git a/frysk-core/frysk/proc/live/Breakpoint.java b/frysk-core/frysk/proc/live/Breakpoint.java
index 579e7b0..0372b6d 100644
--- a/frysk-core/frysk/proc/live/Breakpoint.java
+++ b/frysk-core/frysk/proc/live/Breakpoint.java
@@ -146,7 +146,7 @@ public class Breakpoint implements Comparable
    */
   private void set(Task task)
   {
-    ByteBuffer buffer = task.getRawMemory();
+      ByteBuffer buffer = ((LinuxPtraceTask)task).getRawMemory();
     Isa isa = ((LinuxPtraceTask)task).getIsaFIXME();
     Instruction bpInstruction = isa.getBreakpointInstruction();
     
@@ -178,7 +178,7 @@ public class Breakpoint implements Comparable
    */
   private void reset(Task task)
   {
-    ByteBuffer buffer = task.getRawMemory();
+      ByteBuffer buffer = ((LinuxPtraceTask)task).getRawMemory();
     buffer.position(address);
     
     Isa isa = ((LinuxPtraceTask)task).getIsaFIXME();
diff --git a/frysk-core/frysk/proc/live/ChangeLog b/frysk-core/frysk/proc/live/ChangeLog
index a4d5ab7..ee234d3 100644
--- a/frysk-core/frysk/proc/live/ChangeLog
+++ b/frysk-core/frysk/proc/live/ChangeLog
@@ -1,5 +1,12 @@
 2008-01-11  Andrew Cagney  <cagney@redhat.com>
 
+	* TestTaskObserverCode.java: Move from
+	frysk.proc.TestTaskObserverCode.
+	* LinuxPtraceTask.java (getRawMemory()): Make package-private.
+	* LiveTask.java (getRawMemory()): Declare.
+	* Breakpoint.java: Update.
+	* Instruction.java: Update.
+	
 	* LiveTask.java (handleAddObservation(TaskObservation))
 	(handleDeleteObservation(TaskObservation)): Declare.
 	* TaskObservation.java: Move from frysk.proc.TaskObservation.
diff --git a/frysk-core/frysk/proc/live/Instruction.java b/frysk-core/frysk/proc/live/Instruction.java
index b76760e..6a62978 100644
--- a/frysk-core/frysk/proc/live/Instruction.java
+++ b/frysk-core/frysk/proc/live/Instruction.java
@@ -141,7 +141,7 @@ public class Instruction
    */
   public void setupExecuteOutOfLine(Task task, long pc, long address)
   {
-    ByteBuffer buffer = task.getRawMemory();
+      ByteBuffer buffer = ((LinuxPtraceTask)task).getRawMemory();
     buffer.position(address);
     buffer.put(instr);
     task.setPC(address);
diff --git a/frysk-core/frysk/proc/live/LinuxPtraceTask.java b/frysk-core/frysk/proc/live/LinuxPtraceTask.java
index a274b42..36ef26c 100644
--- a/frysk-core/frysk/proc/live/LinuxPtraceTask.java
+++ b/frysk-core/frysk/proc/live/LinuxPtraceTask.java
@@ -103,12 +103,10 @@ public class LinuxPtraceTask extends LiveTask {
 	}
     }
 
-
     /**
      * Return the raw memory byte-buffer. This is the TEXT/DATA area.
      */
-    public ByteBuffer getRawMemory ()
-    {
+    ByteBuffer getRawMemory() {
 	logger.log(Level.FINE, "Begin fillMemory\n", this);
 	ByteOrder byteOrder = getISA().order();
 	ByteBuffer memory = new AddressSpaceByteBuffer(getTid(),
diff --git a/frysk-core/frysk/proc/live/LiveTask.java b/frysk-core/frysk/proc/live/LiveTask.java
index 2fd28b4..692933c 100644
--- a/frysk-core/frysk/proc/live/LiveTask.java
+++ b/frysk-core/frysk/proc/live/LiveTask.java
@@ -39,6 +39,7 @@
 
 package frysk.proc.live;
 
+import inua.eio.ByteBuffer;
 import frysk.proc.Task;
 import frysk.proc.Proc;
 import frysk.proc.TaskId;
@@ -69,4 +70,15 @@ abstract class LiveTask extends Task {
      * Process the add observation event.
      */
     abstract void handleDeleteObservation(TaskObservation observation);
+
+    /**
+     * Returns the memory as seen by frysk-core. That includes things
+     * like inserted breakpoint instructions bytes which are filtered
+     * out by <code>getMemory()</code> (which is what you normally
+     * want unless you are interested in frysk-core specifics).  <p>
+     * Default implementation calls <code>getMemory()</code>, need to
+     * be overriden by subclasses for which the raw memory view and
+     * the logical memory view are different.
+     */
+    abstract ByteBuffer getRawMemory();
 }
diff --git a/frysk-core/frysk/proc/TestTaskObserverCode.java b/frysk-core/frysk/proc/live/TestTaskObserverCode.java
similarity index 95%
rename from frysk-core/frysk/proc/TestTaskObserverCode.java
rename to frysk-core/frysk/proc/live/TestTaskObserverCode.java
index 490f381..6a456b0 100644
--- a/frysk-core/frysk/proc/TestTaskObserverCode.java
+++ b/frysk-core/frysk/proc/live/TestTaskObserverCode.java
@@ -1,6 +1,6 @@
 // This file is part of the program FRYSK.
 //
-// Copyright 2006, 2007 Red Hat Inc.
+// Copyright 2006, 2007, 2008 Red Hat Inc.
 //
 // FRYSK is free software; you can redistribute it and/or modify it
 // under the terms of the GNU General Public License as published by
@@ -37,17 +37,38 @@
 // version and license this file solely under the GPL without
 // exception.
 
-package frysk.proc;
-
-import inua.eio.*;
-import frysk.testbed.*;
-import frysk.sys.*;
-import frysk.dwfl.*;
-import lib.dwfl.*;
-import java.util.*;
+package frysk.proc.live;
 
+import lib.dwfl.DwarfCommand;
+import lib.dwfl.ElfCommand;
+import frysk.dwfl.DwflCache;
 import frysk.testbed.TestLib;
 import frysk.testbed.DaemonBlockedAtEntry;
+import frysk.proc.Task;
+import frysk.proc.Proc;
+import frysk.sys.Signal;
+import lib.dwfl.SymbolBuilder;
+import lib.dwfl.Dwfl;
+import lib.dwfl.DwflModule;
+import lib.dwfl.DwarfDie;
+import frysk.proc.TaskObserver;
+import frysk.proc.Action;
+import java.util.Map;
+import java.util.HashMap;
+import frysk.testbed.LegacyOffspring;
+import inua.eio.ByteBuffer;
+import frysk.proc.Manager;
+import frysk.proc.MemoryMap;
+import java.util.Collection;
+import java.util.Arrays;
+import java.util.Iterator;
+import frysk.testbed.StopEventLoopWhenProcRemoved;
+import lib.dwfl.ElfException;
+import java.util.ArrayList;
+import lib.dwfl.Elf;
+import frysk.testbed.Offspring;
+import frysk.sys.Errno;
+import lib.dwfl.Dwarf;
 
 public class TestTaskObserverCode extends TestLib
 {
@@ -470,7 +491,7 @@ public class TestTaskObserverCode extends TestLib
     assertRunUntilStop("adding AttachedObserver");
 
     ByteBuffer memory = task.getMemory();
-    ByteBuffer raw_memory = task.getRawMemory();
+    ByteBuffer rawMemory = ((LiveTask)task).getRawMemory();
     long address = getFunctionEntryAddress("bp1_func");
     DwarfDie func1_die = getFunctionDie("bp1_func");
     long func1_start = func1_die.getLowPC();
@@ -483,8 +504,8 @@ public class TestTaskObserverCode extends TestLib
     bp1_orig = memory.getByte();
 
     byte bp1_orig_raw;
-    raw_memory.position(address);
-    bp1_orig_raw = raw_memory.getByte();
+    rawMemory.position(address);
+    bp1_orig_raw = rawMemory.getByte();
     assertEquals("orig and raw", bp1_orig, bp1_orig_raw);
 
     byte[] func1_orig = new byte[(int) (func1_end - func1_start)];
@@ -492,8 +513,8 @@ public class TestTaskObserverCode extends TestLib
     memory.get(func1_orig);
 
     byte[] func1_orig_raw = new byte[(int) (func1_end - func1_start)];
-    raw_memory.position(func1_start);
-    raw_memory.get(func1_orig_raw);
+    rawMemory.position(func1_start);
+    rawMemory.get(func1_orig_raw);
     assertTrue("func_orig and func_raw",
 	       Arrays.equals(func1_orig, func1_orig_raw));
 
@@ -510,8 +531,8 @@ public class TestTaskObserverCode extends TestLib
     assertEquals("orig and insert", bp1_orig, bp1_insert);
 
     byte bp1_insert_raw;
-    raw_memory.position(address);
-    bp1_insert_raw = raw_memory.getByte();
+    rawMemory.position(address);
+    bp1_insert_raw = rawMemory.getByte();
     assertTrue("insert and raw", bp1_insert != bp1_insert_raw);
 
     byte[] func1_insert = new byte[(int) (func1_end - func1_start)];
@@ -521,8 +542,8 @@ public class TestTaskObserverCode extends TestLib
 	       Arrays.equals(func1_orig, func1_insert));
     
     byte[] func1_insert_raw = new byte[(int) (func1_end - func1_start)];
-    raw_memory.position(func1_start);
-    raw_memory.get(func1_insert_raw);
+    rawMemory.position(func1_start);
+    rawMemory.get(func1_insert_raw);
     assertFalse("func_insert and func_insert_raw",
 		Arrays.equals(func1_insert, func1_insert_raw));
 
@@ -544,14 +565,14 @@ public class TestTaskObserverCode extends TestLib
 	       Arrays.equals(func1_orig, func1_new));
 
     byte bp1_new_raw;
-    raw_memory.position(address);
-    bp1_new_raw = raw_memory.getByte();
+    rawMemory.position(address);
+    bp1_new_raw = rawMemory.getByte();
     assertEquals("new and raw",
 		 bp1_new, bp1_new_raw);
 
     byte[] func1_new_raw = new byte[(int) (func1_end - func1_start)];
-    raw_memory.position(func1_start);
-    raw_memory.get(func1_new_raw);
+    rawMemory.position(func1_start);
+    rawMemory.get(func1_new_raw);
     assertTrue("func_new and func_new_raw",
 	       Arrays.equals(func1_new, func1_new_raw));
   }
@@ -571,7 +592,7 @@ public class TestTaskObserverCode extends TestLib
     assertRunUntilStop("adding AttachedObserver");
 
     ByteBuffer memory = task.getMemory();
-    ByteBuffer raw_memory = task.getRawMemory();
+    ByteBuffer rawMemory = ((LiveTask)task).getRawMemory();
 
     DwarfDie func1_die = getFunctionDie("bp1_func");
     long func1_start = func1_die.getLowPC();
@@ -591,8 +612,8 @@ public class TestTaskObserverCode extends TestLib
     
     memory.position(map.addressLow);
     memory.get(mem_orig);
-    raw_memory.position(map.addressLow);
-    raw_memory.get(raw_orig);
+    rawMemory.position(map.addressLow);
+    rawMemory.get(raw_orig);
 
     assertTrue("mem_orig and raw_orig",
 	       Arrays.equals(mem_orig, raw_orig));
@@ -634,8 +655,8 @@ public class TestTaskObserverCode extends TestLib
     
     memory.position(map.addressLow);
     memory.get(bp_mem);
-    raw_memory.position(map.addressLow);
-    raw_memory.get(bp_raw);
+    rawMemory.position(map.addressLow);
+    rawMemory.get(bp_raw);
 
     assertTrue("mem_orig and bp_mem",
 	       Arrays.equals(mem_orig, bp_mem));
@@ -669,8 +690,8 @@ public class TestTaskObserverCode extends TestLib
 
     memory.position(map.addressLow);
     memory.get(bp_mem);
-    raw_memory.position(map.addressLow);
-    raw_memory.get(bp_raw);
+    rawMemory.position(map.addressLow);
+    rawMemory.get(bp_raw);
 
     assertTrue("deleted mem_orig and bp_mem",
                Arrays.equals(mem_orig, bp_mem));


hooks/post-receive
--
frysk system monitor/debugger


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-01-11 21:36 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-01-11 21:36 [SCM] master: Move Task.getRawMemory() to LiveTask; make package-local cagney

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).