From 2d997660372123ab6ac1ee519b22fe015eaa787b Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sat, 14 Jan 2006 10:18:12 +0000 Subject: fix loading of argc/argv for arm/nommu --- libc/sysdeps/linux/arm/crt1.S | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'libc/sysdeps/linux/arm/crt1.S') diff --git a/libc/sysdeps/linux/arm/crt1.S b/libc/sysdeps/linux/arm/crt1.S index 7470715a1..8e0faab47 100644 --- a/libc/sysdeps/linux/arm/crt1.S +++ b/libc/sysdeps/linux/arm/crt1.S @@ -110,9 +110,19 @@ _start: mov fp, #0 mov lr, #0 +#ifdef __ARCH_HAS_MMU__ /* Pop argc off the stack and save a pointer to argv */ ldr a2, [sp], #4 mov a3, sp +#else + /* + * uClinux/arm stacks look a little different from normal + * MMU-full Linux/arm stacks (for no good reason) + */ + /* pull argc and argv off the stack */ + ldr a2, [sp, #0] + ldr a3, [sp, #4] +#endif /* Push stack limit */ str a3, [sp, #-4]! -- cgit v1.2.3