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.
This commit is contained in:
Thomas Preud'homme 2011-10-02 19:40:21 +02:00
parent 22ab00d6ca
commit a8f2de4912
1 changed files with 8 additions and 2 deletions

View File

@ -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;