From a8f2de49121d3fe0227b30687dd7e556f44591d0 Mon Sep 17 00:00:00 2001 From: Thomas Preud'homme Date: Sun, 2 Oct 2011 19:40:21 +0200 Subject: [PATCH] Add support for armel architecture * Define architecture dependant macro for armel; * Use struct pt_regs instead of struct user_regs_struct; See http://wiki.debian.org/ArmEabiPort for more details on armel architecture. --- pstack.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pstack.c b/pstack.c index 630143f..a102492 100644 --- a/pstack.c +++ b/pstack.c @@ -103,7 +103,13 @@ #endif /* x86-{32,64} */ #define NEXT_FRAME_POINTER_ADDR(fp) (fp) #define NEXT_PROGRAM_COUNTER_ADDR(fp) ((fp) + __SIZEOF_POINTER__) -#elif defined(__ppc64__) || defined(__alpha__) || defined(__ia64__) || defined(s390x__) || defined(__ARMEL__) +#elif defined(__ARMEL__) /* armel */ +#define ELF_MACHINE EM_ARM +#define PROGRAM_COUNTER(regs) (regs.ARM_pc) +#define FRAME_POINTER(regs) (regs.ARM_fp) +#define NEXT_FRAME_POINTER_ADDR(fp) ((fp) - __SIZEOF_POINTER__) +#define NEXT_PROGRAM_COUNTER_ADDR(fp) (fp) +#elif defined(__ppc64__) || defined(__alpha__) || defined(__ia64__) || defined(s390x__) #error Not (yet) supported architecture, patches welcomes :-) #else #error Not (yet) recognized architecture, patches welcomes :-) @@ -625,7 +631,7 @@ static int crawl(int pid) { unsigned long pc, fp, nextfp, nargs, i, arg; int ret, error_occured = 0; - struct user_regs_struct regs; + struct pt_regs regs; errno = 0; fp = -1;