public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
From: mark@sourceware.org
To: frysk-cvs@sourceware.org
Subject: [SCM]  master: Get rid of ProcName libunwind symbol lookup.
Date: Fri, 23 Nov 2007 13:49:00 -0000	[thread overview]
Message-ID: <20071123134944.6176.qmail@sourceware.org> (raw)

The branch, master has been updated
       via  2180a0e3263189d34f8e01a891dc22994486a386 (commit)
      from  2d2be297dcf9af37e1fd58d1bdedb1a13838c2ab (commit)

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

- Log -----------------------------------------------------------------
commit 2180a0e3263189d34f8e01a891dc22994486a386
Author: Mark Wielaard <mwielaard@redhat.com>
Date:   Fri Nov 23 14:45:16 2007 +0100

    Get rid of ProcName libunwind symbol lookup.
    
    frysk-imports/libunwind/ChangeLog
    2007-11-23  Mark Wielaard  <mwielaard@redhat.com>
    
        Revert:
        2006-09-16  Alexandre Oliva  <aoliva@redhat.com>
    
        * src/x86/Gget_proc_info.c (unw_get_proc_info): Use
        unw_get_proc_name to build a proper proc_info_t.
        * src/x86_64/Gget_proc_info.c (unw_get_proc_info): Likewise.
        * src/hppa/Gget_proc_info.c (unw_get_proc_info): Likewise.
    
        2006-09-27  Alexandre Oliva  <aoliva@redhat.com>
    
        * src/elfxx.c (lookup_symbol): Cope with NULL buf and zero buf_len.
        * src/mi/Gget_proc_name.c (intern_string, get_proc_name): Likewise.
        * src/hppa/Gget_proc_info.c (unw_get_proc_info): Use it.
        * src/x86/Gget_proc_info.c (unw_get_proc_info): Likewise.
        * src/x86_64/Gget_proc_info.c (unw_get_proc_info): Likewise.
        * doc/unw_get_proc_name.tex: Document NULL buf and zero buf_len.
        * doc/unw_create_addr_space.tex (get_proc_name): Likewise.
        * doc/unw_get_proc_name.man: Rebuilt.
        * doc/unw_create_addr_space.man: Likewise.
    
    frysk-core/frysk/stack/ChangeLog
    2007-11-23  Mark Wielaard  <mwielaard@redhat.com>
    
        * LibunwindAddressSpace.java (getModuleFromAddress): Removed.
        (getProcName): Removed.
    
    frysk-sys/lib/unwind/ChangeLog
    2007-11-23  Mark Wielaard  <mwielaard@redhat.com>
    
        * AddressSpace.java (getProcName): Removed.
        * Cursor.java (getProcName): Removed.
        * ProcName.java: Removed.
        * TestUnwind.java (getProcName): Removed.
        * Unwind.java (getProcName): Removed.
        * cnu/UnwindH.hxx (min): Removed.
        (get_proc_name): Return UNW_ENOMEM.
        (getProcName): Removed.

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

Summary of changes:
 frysk-core/frysk/stack/ChangeLog                   |    5 +
 frysk-core/frysk/stack/LibunwindAddressSpace.java  |   61 --------------
 frysk-imports/libunwind/ChangeLog                  |   22 +++++
 .../libunwind/doc/unw_create_addr_space.man        |   13 ---
 .../libunwind/doc/unw_create_addr_space.tex        |    6 --
 frysk-imports/libunwind/doc/unw_get_proc_name.man  |   13 ---
 frysk-imports/libunwind/doc/unw_get_proc_name.tex  |    6 --
 frysk-imports/libunwind/src/elfxx.c                |   10 +-
 frysk-imports/libunwind/src/hppa/Gget_proc_info.c  |    7 +--
 frysk-imports/libunwind/src/mi/Gget_proc_name.c    |   22 ++----
 frysk-imports/libunwind/src/x86/Gget_proc_info.c   |    7 +--
 .../libunwind/src/x86_64/Gget_proc_info.c          |    7 +--
 frysk-sys/lib/unwind/AddressSpace.java             |    2 -
 frysk-sys/lib/unwind/ChangeLog                     |   16 +++-
 frysk-sys/lib/unwind/Cursor.java                   |   14 ---
 frysk-sys/lib/unwind/ProcName.java                 |   88 --------------------
 frysk-sys/lib/unwind/TestUnwind.java               |    3 -
 frysk-sys/lib/unwind/Unwind.java                   |    2 -
 frysk-sys/lib/unwind/cni/UnwindH.hxx               |   53 +------------
 19 files changed, 56 insertions(+), 301 deletions(-)
 delete mode 100644 frysk-sys/lib/unwind/ProcName.java

First 500 lines of diff:
diff --git a/frysk-core/frysk/stack/ChangeLog b/frysk-core/frysk/stack/ChangeLog
index 2684148..72d529b 100644
--- a/frysk-core/frysk/stack/ChangeLog
+++ b/frysk-core/frysk/stack/ChangeLog
@@ -1,3 +1,8 @@
+2007-11-23  Mark Wielaard  <mwielaard@redhat.com>
+
+	* LibunwindAddressSpace.java (getModuleFromAddress): Removed.
+	(getProcName): Removed.
+
 2007-11-21  Sami Wagiaalla  <swagiaal@redhat.com>
 
 	* StackFactory.java (printTaskStackTrace): Added number of
diff --git a/frysk-core/frysk/stack/LibunwindAddressSpace.java b/frysk-core/frysk/stack/LibunwindAddressSpace.java
index 80eb3cf..4b5f8d5 100644
--- a/frysk-core/frysk/stack/LibunwindAddressSpace.java
+++ b/frysk-core/frysk/stack/LibunwindAddressSpace.java
@@ -45,25 +45,18 @@ import lib.unwind.UnwindX8664;
 import lib.unwind.UnwindX86;
 import lib.unwind.UnwindPPC32;
 import lib.unwind.UnwindPPC64;
-import frysk.dwfl.DwflCache;
 import frysk.dwfl.DwflFactory;
-import frysk.event.Event;
 import frysk.isa.ISA;
-import frysk.proc.Manager;
 import frysk.proc.MemoryMap;
 import frysk.proc.Task;
 import java.util.Arrays;
 import java.util.logging.Level;
 import java.util.logging.Logger;
-import lib.dwfl.Dwfl;
-import lib.dwfl.DwflModule;
-import lib.dwfl.SymbolBuilder;
 import lib.unwind.AddressSpace;
 import lib.unwind.ByteOrder;
 import lib.unwind.Cursor;
 import lib.unwind.ElfImage;
 import lib.unwind.ProcInfo;
-import lib.unwind.ProcName;
 import frysk.isa.RegisterMap;
 
 class LibunwindAddressSpace extends AddressSpace {
@@ -168,60 +161,6 @@ class LibunwindAddressSpace extends AddressSpace {
 	return - lib.unwind.Error.UNW_ENOINFO_;
     }
 
-    private DwflModule getModuleFromAddress (long addr) {
-	logger.log(Level.FINE, "Looking for addr: 0x{0}\n",
-		   Long.toHexString(addr));
-	Dwfl dwfl = null;
-	dwfl = DwflCache.getDwfl(task);
-	logger.log(Level.FINEST, "got dwfl: {0}\n", dwfl);
-	if (dwfl == null) {
-	    logger.log(Level.FINE, "Dwfl was null\n");
-	    return null;
-	}
-	return dwfl.getModule(addr);
-    }
-
-    public ProcName getProcName (long addr, int maxNameSize) {
-	logger.log(Level.FINE,
-		   "entering getProcName addr: {0}, maxNameSize: {1}\n",
-		   new Object[] {
-		       Long.toHexString(addr),
-		       new Integer(maxNameSize)
-		   });
-	// Need to tell ptrace thread to perform the getProcName operation.
-	class ExecuteGetProcName 
-	    implements Event, SymbolBuilder
-	{
-	    ProcName procName;
-	    long addr;
-      
-	    ExecuteGetProcName (long addr) {
-		this.addr = addr;
-	    }
-      
-	    public void symbol (String name, long value, long size, int type,
-				int bind, int visibility) {
-		procName = new ProcName(addr-value, name);
-	    }
-      
-	    public void execute () {
-		DwflModule dwflModule = getModuleFromAddress(addr);
-		logger.log(Level.FINEST, "got dwflModule: {0}\n", dwflModule);
-		if (dwflModule != null) {
-		    dwflModule.getSymbol(addr, this);
-		    logger.log(Level.FINE, "ProcName is: {0}\n", procName);
-		}
-		if (procName == null)
-		    procName = new ProcName(- lib.unwind.Error.UNW_EUNSPEC_);
-	    }
-	}
-	ExecuteGetProcName executer = new ExecuteGetProcName(addr);
-	Manager.eventLoop.execute(executer);
-	logger.log(Level.FINE, "exiting getProcName, returning: {0}\n",
-		   executer.procName);
-	return executer.procName;
-    }
-
     public void putUnwindInfo (final ProcInfo procInfo) {
 	// No longer need to hold procInfo.
 	this.procInfo = null;
diff --git a/frysk-imports/libunwind/ChangeLog b/frysk-imports/libunwind/ChangeLog
index 74d2fbf..fd48784 100644
--- a/frysk-imports/libunwind/ChangeLog
+++ b/frysk-imports/libunwind/ChangeLog
@@ -1,3 +1,25 @@
+2007-11-23  Mark Wielaard  <mwielaard@redhat.com>
+
+	Revert:
+	2006-09-16  Alexandre Oliva  <aoliva@redhat.com>
+
+	* src/x86/Gget_proc_info.c (unw_get_proc_info): Use
+	unw_get_proc_name to build a proper proc_info_t.
+	* src/x86_64/Gget_proc_info.c (unw_get_proc_info): Likewise.
+	* src/hppa/Gget_proc_info.c (unw_get_proc_info): Likewise.
+
+	2006-09-27  Alexandre Oliva  <aoliva@redhat.com>
+
+	* src/elfxx.c (lookup_symbol): Cope with NULL buf and zero buf_len.
+	* src/mi/Gget_proc_name.c (intern_string, get_proc_name): Likewise.
+	* src/hppa/Gget_proc_info.c (unw_get_proc_info): Use it.
+	* src/x86/Gget_proc_info.c (unw_get_proc_info): Likewise.
+	* src/x86_64/Gget_proc_info.c (unw_get_proc_info): Likewise.
+	* doc/unw_get_proc_name.tex: Document NULL buf and zero buf_len.
+	* doc/unw_create_addr_space.tex (get_proc_name): Likewise.
+	* doc/unw_get_proc_name.man: Rebuilt.
+	* doc/unw_create_addr_space.man: Likewise.
+
 2007-11-19  Mark Wielaard  <mwielaard@redhat.com>
 
 	* src/mi/Gget_reg.c (unw_get_reg): Use cached value from cursor
diff --git a/frysk-imports/libunwind/doc/unw_create_addr_space.man b/frysk-imports/libunwind/doc/unw_create_addr_space.man
index 4ff2b6e..4aca13e 100644
--- a/frysk-imports/libunwind/doc/unw_create_addr_space.man
+++ b/frysk-imports/libunwind/doc/unw_create_addr_space.man
@@ -413,19 +413,6 @@ pointed to by offp
 (assuming the procedure is at least 0x80 
 bytes long). 
 .PP
-If bufp
-is NULL
-, buf_len
-is still verified to fit
-and offp
-is set.  Passing buf_len
-as zero to indicate no
-limits on the buffer length is only safe if buf
-is NULL
-,
-otherwise the callback is entitled and likely to scribble anywhere in
-the entire address space.
-.PP
 On successful completion, the get_proc_name()
 call\-back must 
 return zero. Otherwise, the negative value of one of the 
diff --git a/frysk-imports/libunwind/doc/unw_create_addr_space.tex b/frysk-imports/libunwind/doc/unw_create_addr_space.tex
index f259d4c..8de0691 100644
--- a/frysk-imports/libunwind/doc/unw_create_addr_space.tex
+++ b/frysk-imports/libunwind/doc/unw_create_addr_space.tex
@@ -229,12 +229,6 @@ at address 0x40003000, then invoking \Func{get\_proc\_name}() with
 pointed to by \Var{offp} (assuming the procedure is at least 0x80
 bytes long).
 
-If \Var{bufp} is \Const{NULL}, \Var{buf\_len} is still verified to fit
-and \Var{offp} is set.  Passing \Var{buf\_len} as zero to indicate no
-limits on the buffer length is only safe if \Var{buf} is \Const{NULL},
-otherwise the callback is entitled and likely to scribble anywhere in
-the entire address space.
-
 On successful completion, the \Func{get\_proc\_name}() call-back must
 return zero.  Otherwise, the negative value of one of the
 \Type{unw\_error\_t} error-codes may be returned.
diff --git a/frysk-imports/libunwind/doc/unw_get_proc_name.man b/frysk-imports/libunwind/doc/unw_get_proc_name.man
index b84c5c4..bbf350f 100644
--- a/frysk-imports/libunwind/doc/unw_get_proc_name.man
+++ b/frysk-imports/libunwind/doc/unw_get_proc_name.man
@@ -54,19 +54,6 @@ return a value of 0x80 in the word pointed to by offp
 (assuming 
 the procedure is at least 0x80 bytes long). 
 .PP
-If bufp
-is NULL
-, buf_len
-is still verified to fit
-and offp
-is set.  Passing buf_len
-as zero to indicate no
-limits on the buffer length is only safe if buf
-is NULL
-,
-otherwise the callback is entitled and likely to scribble anywhere in
-the entire address space.
-.PP
 Note that on some platforms there is no reliable way to distinguish 
 between procedure names and ordinary labels. Furthermore, if symbol 
 information has been stripped from a program, procedure names may be 
diff --git a/frysk-imports/libunwind/doc/unw_get_proc_name.tex b/frysk-imports/libunwind/doc/unw_get_proc_name.tex
index bd2b8bc..4a9b585 100644
--- a/frysk-imports/libunwind/doc/unw_get_proc_name.tex
+++ b/frysk-imports/libunwind/doc/unw_get_proc_name.tex
@@ -29,12 +29,6 @@ stack frame with an instruction-pointer value of 0x40003080 would
 return a value of 0x80 in the word pointed to by \Var{offp} (assuming
 the procedure is at least 0x80 bytes long).
 
-If \Var{bufp} is \Const{NULL}, \Var{buf\_len} is still verified to fit
-and \Var{offp} is set.  Passing \Var{buf\_len} as zero to indicate no
-limits on the buffer length is only safe if \Var{buf} is \Const{NULL},
-otherwise the callback is entitled and likely to scribble anywhere in
-the entire address space.
-
 Note that on some platforms there is no reliable way to distinguish
 between procedure names and ordinary labels.  Furthermore, if symbol
 information has been stripped from a program, procedure names may be
diff --git a/frysk-imports/libunwind/src/elfxx.c b/frysk-imports/libunwind/src/elfxx.c
index c70d06b..ae1ef34 100644
--- a/frysk-imports/libunwind/src/elfxx.c
+++ b/frysk-imports/libunwind/src/elfxx.c
@@ -158,14 +158,14 @@ elf_w (lookup_symbol) (unw_addr_space_t as,
 		  Debug (16, "0x%016lx info=0x%02x %s\n",
 			 (long) val, sym->st_info, strtab + sym->st_name);
 
-		  min_dist = (Elf_W (Addr)) (ip - val);
-		  if (buf)
+		  if ((Elf_W (Addr)) (ip - val) < min_dist)
 		    {
+		      min_dist = (Elf_W (Addr)) (ip - val);
 		      strncpy (buf, strtab + sym->st_name, buf_len);
-		      buf[buf_len] = '\0';
+		      buf[buf_len - 1] = '\0';
+		      if (strlen (strtab + sym->st_name) >= buf_len)
+			ret = -UNW_ENOMEM;
 		    }
-		  if (strlen (strtab + sym->st_name) > buf_len)
-		    ret = -UNW_ENOMEM;
 		}
 	    }
 	  break;
diff --git a/frysk-imports/libunwind/src/hppa/Gget_proc_info.c b/frysk-imports/libunwind/src/hppa/Gget_proc_info.c
index 5c5a3fd..8d2c1fd 100644
--- a/frysk-imports/libunwind/src/hppa/Gget_proc_info.c
+++ b/frysk-imports/libunwind/src/hppa/Gget_proc_info.c
@@ -36,13 +36,8 @@ unw_get_proc_info (unw_cursor_t *cursor, unw_proc_info_t *pi)
 	 are missing DWARF unwind info.  We don't want to fail in that
 	 case, because those frames are uninteresting and just mark
 	 the end of the frame-chain anyhow.  */
-      unw_word_t offset;
-
-      if (unw_get_proc_name (cursor, NULL, 0, &offset) < 0)
-	offset = 0;
-
       memset (pi, 0, sizeof (*pi));
-      pi->start_ip = c->dwarf.ip - offset;
+      pi->start_ip = c->dwarf.ip;
       pi->end_ip = c->dwarf.ip + 4;
       return 0;
     }
diff --git a/frysk-imports/libunwind/src/mi/Gget_proc_name.c b/frysk-imports/libunwind/src/mi/Gget_proc_name.c
index bac98ff..7251c59 100644
--- a/frysk-imports/libunwind/src/mi/Gget_proc_name.c
+++ b/frysk-imports/libunwind/src/mi/Gget_proc_name.c
@@ -33,25 +33,16 @@ intern_string (unw_addr_space_t as, unw_accessors_t *a,
   size_t i;
   int ret;
 
-  buf_len--;
-
-  for (i = 0; i <= buf_len; ++i)
+  for (i = 0; i < buf_len; ++i)
     {
-      int8_t c, *p = buf ? (int8_t *)buf + i : &c;
-
-      if ((ret = fetch8 (as, a, &addr, p, arg)) < 0)
+      if ((ret = fetch8 (as, a, &addr, (int8_t *) buf + i, arg)) < 0)
 	return ret;
 
-      if (*p == '\0')
+      if (buf[i] == '\0')
 	return 0;		/* copied full string; return success */
     }
-  if (buf)
-    {
-      buf[buf_len] = '\0';	/* ensure string is NUL terminated */
-      return -UNW_ENOMEM;
-    }
-  else
-    return 0;
+  buf[buf_len - 1] = '\0';	/* ensure string is NUL terminated */
+  return -UNW_ENOMEM;
 }
 
 static inline int
@@ -62,8 +53,7 @@ get_proc_name (unw_addr_space_t as, unw_word_t ip,
   unw_proc_info_t pi;
   int ret;
 
-  if (buf)
-    buf[0] = '\0';	/* always return a valid string, even if it's empty */
+  buf[0] = '\0';	/* always return a valid string, even if it's empty */
 
   ret = unwi_find_dynamic_proc_info (as, ip, &pi, 1, arg);
   if (ret == 0)
diff --git a/frysk-imports/libunwind/src/x86/Gget_proc_info.c b/frysk-imports/libunwind/src/x86/Gget_proc_info.c
index ac4f98a..a533483 100644
--- a/frysk-imports/libunwind/src/x86/Gget_proc_info.c
+++ b/frysk-imports/libunwind/src/x86/Gget_proc_info.c
@@ -35,13 +35,8 @@ unw_get_proc_info (unw_cursor_t *cursor, unw_proc_info_t *pi)
       /* On x86, it's relatively common to be missing DWARF unwind
 	 info.  We don't want to fail in that case, because the
 	 frame-chain still would let us do a backtrace at least.  */
-      unw_word_t offset;
-
-      if (unw_get_proc_name (cursor, NULL, 0, &offset) < 0)
-	offset = 0;
-
       memset (pi, 0, sizeof (*pi));
-      pi->start_ip = c->dwarf.ip - offset;
+      pi->start_ip = c->dwarf.ip;
       pi->end_ip = c->dwarf.ip + 1;
       return 0;
     }
diff --git a/frysk-imports/libunwind/src/x86_64/Gget_proc_info.c b/frysk-imports/libunwind/src/x86_64/Gget_proc_info.c
index 6d5c3d5..213666e 100644
--- a/frysk-imports/libunwind/src/x86_64/Gget_proc_info.c
+++ b/frysk-imports/libunwind/src/x86_64/Gget_proc_info.c
@@ -38,13 +38,8 @@ unw_get_proc_info (unw_cursor_t *cursor, unw_proc_info_t *pi)
 	 are missing DWARF unwind info.  We don't want to fail in that
 	 case, because those frames are uninteresting and just mark
 	 the end of the frame-chain anyhow.  */
-      unw_word_t offset;
-
-      if (unw_get_proc_name (cursor, NULL, 0, &offset) < 0)
-	offset = 0;
-
       memset (pi, 0, sizeof (*pi));
-      pi->start_ip = c->dwarf.ip - offset;
+      pi->start_ip = c->dwarf.ip;
       pi->end_ip = c->dwarf.ip + 1;
       return 0;
     }
diff --git a/frysk-sys/lib/unwind/AddressSpace.java b/frysk-sys/lib/unwind/AddressSpace.java
index 28db0ee..c1df18b 100644
--- a/frysk-sys/lib/unwind/AddressSpace.java
+++ b/frysk-sys/lib/unwind/AddressSpace.java
@@ -104,6 +104,4 @@ public abstract class AddressSpace
     public abstract int accessFPReg (int regnum, byte[] fpvalp, boolean write);
 
     public abstract int resume (Cursor cursor);
-
-    public abstract ProcName getProcName (long addr, int maxSize);
 }
diff --git a/frysk-sys/lib/unwind/ChangeLog b/frysk-sys/lib/unwind/ChangeLog
index ebe978e..ebb93ad 100644
--- a/frysk-sys/lib/unwind/ChangeLog
+++ b/frysk-sys/lib/unwind/ChangeLog
@@ -1,3 +1,14 @@
+2007-11-23  Mark Wielaard  <mwielaard@redhat.com>
+
+	* AddressSpace.java (getProcName): Removed.
+	* Cursor.java (getProcName): Removed.
+	* ProcName.java: Removed.
+	* TestUnwind.java (getProcName): Removed.
+	* Unwind.java (getProcName): Removed.
+	* cnu/UnwindH.hxx (min): Removed.
+	(get_proc_name): Return UNW_ENOMEM.
+	(getProcName): Removed.
+
 2007-11-19  Mark Wielaard  <mwielaard@redhat.com>
 
 	* Cursor.java (getIP): New method.
@@ -11,8 +22,9 @@
 	* UnwindPPC32.cxx: New. To support powerpc32.
 
 2007-11-09  Jose Flavio Aguilar Paulino <jflavio@br.ibm.com>
-        * UnwindPPC32.java-sh: New
-        * UnwindRegistersPPC32.shenum: New
+
+	* UnwindPPC32.java-sh: New
+	* UnwindRegistersPPC32.shenum: New
 	* UnwindRegistersPPC64.shenum: New	
 
 2007-10-30  Andrew Cagney  <cagney@redhat.com>
diff --git a/frysk-sys/lib/unwind/Cursor.java b/frysk-sys/lib/unwind/Cursor.java
index 6433ace..8628bd9 100644
--- a/frysk-sys/lib/unwind/Cursor.java
+++ b/frysk-sys/lib/unwind/Cursor.java
@@ -93,20 +93,6 @@ public class Cursor
 	return unwinder.step(cursor);
     }
   
-    public ProcName getProcName(int maxNameSize) {
-	return unwinder.getProcName(cursor, maxNameSize);
-    }
-  
-    public ProcName getProcName() {
-	int initialSize = 256;
-	ProcName myName;
-	do {
-	    myName = unwinder.getProcName(cursor, initialSize);
-	    initialSize *= 2;
-	} while (myName.getError() == - lib.unwind.Error.UNW_ENOMEM_);
-	return myName;
-    }
-  
     public ProcInfo getProcInfo () {
 	return unwinder.getProcInfo(cursor);
     }
diff --git a/frysk-sys/lib/unwind/ProcName.java b/frysk-sys/lib/unwind/ProcName.java
deleted file mode 100644
index 9141899..0000000
--- a/frysk-sys/lib/unwind/ProcName.java
+++ /dev/null
@@ -1,88 +0,0 @@
-// This file is part of the program FRYSK.
-//
-// Copyright 2007, 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
-// the Free Software Foundation; version 2 of the License.
-//
-// FRYSK is distributed in the hope that it will be useful, but
-// WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with FRYSK; if not, write to the Free Software Foundation,
-// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-// 
-// In addition, as a special exception, Red Hat, Inc. gives You the
-// additional right to link the code of FRYSK with code not covered
-// under the GNU General Public License ("Non-GPL Code") and to
-// distribute linked combinations including the two, subject to the
-// limitations in this paragraph. Non-GPL Code permitted under this
-// exception must only link to the code of FRYSK through those well
-// defined interfaces identified in the file named EXCEPTION found in
-// the source code files (the "Approved Interfaces"). The files of
-// Non-GPL Code may instantiate templates or use macros or inline
-// functions from the Approved Interfaces without causing the
-// resulting work to be covered by the GNU General Public
-// License. Only Red Hat, Inc. may make changes or additions to the
-// list of Approved Interfaces. You must obey the GNU General Public
-// License in all respects for all of the FRYSK code and other code
-// used in conjunction with FRYSK except the Non-GPL Code covered by
-// this exception. If you modify this file, you may extend this
-// exception to your version of the file, but you are not obligated to
-// do so. If you do not wish to provide this exception without
-// modification, you must delete this exception statement from your
-// version and license this file solely under the GPL without
-// exception.
-
-package lib.unwind;
-
-public class ProcName
-{
-  int error = 0;
-  final long offset;
-  final String name;
-  
-  public long getOffset()
-  {
-    return offset;
-  }
-  
-  public String getName()
-  {
-    return name;
-  }
-  
-  public int getError()
-  {
-    return error;
-  }
-  
-  private ProcName(int error, long offset, String name)
-  {
-    this.error = error;
-    this.offset = offset;
-    this.name = name;
-  }
-  
-  public ProcName(long address, String name)
-  {
-	  this(0, address, name);
-  }
-  
-  public ProcName(int error)
-  {
-	  this(error, 0, null);
-  }
-  
-  public String toString()
-  {
-    if (error != 0)
-    return "ProcName error: " + error;
-    
-    return "ProcName name: " + name + " offset: " + Long.toHexString(offset);


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


                 reply	other threads:[~2007-11-23 13:49 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=20071123134944.6176.qmail@sourceware.org \
    --to=mark@sourceware.org \
    --cc=frysk-cvs@sourceware.org \
    --cc=frysk@sourceware.org \
    /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).