aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README3
-rw-r--r--debian/changelog8
-rw-r--r--debian/control2
-rw-r--r--sysdeps/linux-gnu/arm/regs.c2
-rw-r--r--sysdeps/linux-gnu/m68k/regs.c2
-rw-r--r--sysdeps/linux-gnu/ppc/regs.c2
-rw-r--r--sysdeps/linux-gnu/s390/regs.c2
-rw-r--r--sysdeps/linux-gnu/sparc/regs.c16
-rw-r--r--sysdeps/linux-gnu/x86_64/regs.c8
9 files changed, 27 insertions, 18 deletions
diff --git a/README b/README
index 37dceee..678aa41 100644
--- a/README
+++ b/README
@@ -30,6 +30,7 @@ people have contributed significantly to this project:
* Anton Blanchard <anton@samba.org> (Powerpc port)
* Jakub Jelinek <jakub@redhat.com> (SPARC port)
* Jakub Bogusz <qboosh@pld-linux.org> (alpha port)
+* SuSE (amd64 port)
1. Introduction
---------------
@@ -55,7 +56,7 @@ Using software breakpoints, just like gdb.
---------------------
At the time of writting, it works only with ELF32 executables. It only
works in Linux, and it only works on some architectures (i386, m68k,
-S/390, ARM, PowerPC, SPARC and alpha processors).
+S/390, ARM, PowerPC, amd64, SPARC and alpha processors).
It is part of at least Debian GNU/Linux, RedHat, SuSE and Mandrake.
diff --git a/debian/changelog b/debian/changelog
index 93b9f60..59d6038 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+ltrace (0.3.34) unstable; urgency=low
+
+ * Fixed prototype declaration problem in arm, m68k, powerpc, s390
+ * Added "amd64" to list of architectures (closes: Bug#252756)
+ * Sparc port is hopefully working (closes: Bug#35524)
+
+ -- Juan Cespedes <cespedes@debian.org> Wed, 07 Jul 2004 10:40:56 +0200
+
ltrace (0.3.33) unstable; urgency=low
* Fixed two bugs, thanks to Mauro Meneghin <G1ld0@lycos.it>:
diff --git a/debian/control b/debian/control
index 502e11f..d814620 100644
--- a/debian/control
+++ b/debian/control
@@ -6,7 +6,7 @@ Standards-Version: 3.5.6
Build-Depends: binutils-dev
Package: ltrace
-Architecture: i386 arm m68k s390 powerpc sparc alpha
+Architecture: i386 arm m68k s390 powerpc sparc alpha amd64
Depends: ${shlibs:Depends}
Description: Tracks runtime library calls in dynamically linked programs
ltrace is a debugging program which runs a specified command until it
diff --git a/sysdeps/linux-gnu/arm/regs.c b/sysdeps/linux-gnu/arm/regs.c
index e922837..70ead10 100644
--- a/sysdeps/linux-gnu/arm/regs.c
+++ b/sysdeps/linux-gnu/arm/regs.c
@@ -26,7 +26,7 @@ get_instruction_pointer(struct process * proc) {
}
void
-set_instruction_pointer(struct process * proc, long addr) {
+set_instruction_pointer(struct process * proc, void * addr) {
ptrace(PTRACE_POKEUSER, proc->pid, off_pc, addr);
}
diff --git a/sysdeps/linux-gnu/m68k/regs.c b/sysdeps/linux-gnu/m68k/regs.c
index 183862b..5c6c014 100644
--- a/sysdeps/linux-gnu/m68k/regs.c
+++ b/sysdeps/linux-gnu/m68k/regs.c
@@ -22,7 +22,7 @@ get_instruction_pointer(struct process * proc) {
}
void
-set_instruction_pointer(struct process * proc, long addr) {
+set_instruction_pointer(struct process * proc, void * addr) {
ptrace(PTRACE_POKEUSER, proc->pid, 4*PT_PC, addr);
}
diff --git a/sysdeps/linux-gnu/ppc/regs.c b/sysdeps/linux-gnu/ppc/regs.c
index 2eda17a..9916750 100644
--- a/sysdeps/linux-gnu/ppc/regs.c
+++ b/sysdeps/linux-gnu/ppc/regs.c
@@ -22,7 +22,7 @@ get_instruction_pointer(struct process * proc) {
}
void
-set_instruction_pointer(struct process * proc, long addr) {
+set_instruction_pointer(struct process * proc, void * addr) {
ptrace(PTRACE_POKEUSER, proc->pid, 4*PT_NIP, addr);
}
diff --git a/sysdeps/linux-gnu/s390/regs.c b/sysdeps/linux-gnu/s390/regs.c
index 2a412cf..3dbf871 100644
--- a/sysdeps/linux-gnu/s390/regs.c
+++ b/sysdeps/linux-gnu/s390/regs.c
@@ -27,7 +27,7 @@ get_instruction_pointer(struct process * proc) {
}
void
-set_instruction_pointer(struct process * proc, long addr) {
+set_instruction_pointer(struct process * proc, void * addr) {
ptrace(PTRACE_POKEUSER, proc->pid, PT_PSWADDR, addr);
}
diff --git a/sysdeps/linux-gnu/sparc/regs.c b/sysdeps/linux-gnu/sparc/regs.c
index 9928b73..78efec3 100644
--- a/sysdeps/linux-gnu/sparc/regs.c
+++ b/sysdeps/linux-gnu/sparc/regs.c
@@ -6,31 +6,31 @@
#include "ptrace.h"
#include "ltrace.h"
-void * get_instruction_pointer(struct process * proc)
-{
+void *
+get_instruction_pointer(struct process * proc) {
proc_archdep *a = (proc_archdep *)(proc->arch_ptr);
if (a->valid)
return (void *)a->regs.r_pc;
return (void *)-1;
}
-void set_instruction_pointer(struct process * proc, void * addr)
-{
+void
+set_instruction_pointer(struct process * proc, void * addr) {
proc_archdep *a = (proc_archdep *)(proc->arch_ptr);
if (a->valid)
a->regs.r_pc = (long)addr;
}
-void * get_stack_pointer(struct process * proc)
-{
+void *
+get_stack_pointer(struct process * proc) {
proc_archdep *a = (proc_archdep *)(proc->arch_ptr);
if (a->valid)
return (void *)a->regs.r_o6;
return (void *)-1;
}
-void * get_return_addr(struct process * proc, void * stack_pointer)
-{
+void *
+get_return_addr(struct process * proc, void * stack_pointer) {
proc_archdep *a = (proc_archdep *)(proc->arch_ptr);
unsigned int t;
if (!a->valid)
diff --git a/sysdeps/linux-gnu/x86_64/regs.c b/sysdeps/linux-gnu/x86_64/regs.c
index 3ccf1cd..176a894 100644
--- a/sysdeps/linux-gnu/x86_64/regs.c
+++ b/sysdeps/linux-gnu/x86_64/regs.c
@@ -17,21 +17,21 @@
#endif
void *
-get_instruction_pointer(struct process *proc) {
+get_instruction_pointer(struct process * proc) {
return (void *)ptrace(PTRACE_PEEKUSER, proc->pid, 8*RIP, 0);
}
void
-set_instruction_pointer(struct process *proc, void *addr) {
+set_instruction_pointer(struct process * proc, void * addr) {
ptrace(PTRACE_POKEUSER, proc->pid, 8*RIP, addr);
}
void *
-get_stack_pointer(struct process *proc) {
+get_stack_pointer(struct process * proc) {
return (void *)ptrace(PTRACE_PEEKUSER, proc->pid, 8*RSP, 0);
}
void *
-get_return_addr(struct process *proc, void * stack_pointer) {
+get_return_addr(struct process * proc, void * stack_pointer) {
return (void *)ptrace(PTRACE_PEEKTEXT, proc->pid, stack_pointer, 0);
}