This is the mail archive of the
frysk-cvs@sources.redhat.com
mailing list for the frysk project.
[SCM] master: Move Task.getRawMemory() to LiveTask; make package-local.
- From: cagney at sourceware dot org
- To: frysk-cvs at sourceware dot org
- Date: 11 Jan 2008 21:36:50 -0000
- Subject: [SCM] master: Move Task.getRawMemory() to LiveTask; make package-local.
- Reply-to: frysk at sourceware dot org
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