From 709c1793f5f5153f5b6ef0ca454ab7e2a6769415 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Tue, 3 Jul 2001 22:15:31 +0000 Subject: Finish up merging the arm port into the main tree. --- ldso/ldso/arm/dl-startup.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 ldso/ldso/arm/dl-startup.h (limited to 'ldso/ldso/arm/dl-startup.h') diff --git a/ldso/ldso/arm/dl-startup.h b/ldso/ldso/arm/dl-startup.h new file mode 100644 index 000000000..dc21ea455 --- /dev/null +++ b/ldso/ldso/arm/dl-startup.h @@ -0,0 +1,31 @@ +/* Any assmbly language/system dependent hacks needed to setup boot1.c so it + * will work as expected and cope with whatever platform specific wierdness is + * needed for this architecture. */ + +/* Overrive the default _dl_boot function, and replace it with a bit of asm. + * Then call the real _dl_boot function, which is now named _dl_boot2. */ + +asm("\ +.text +.globl _dl_boot +_dl_boot: + mov r7, sp +@ ldr r0, [sp], #4 + mov r0,sp + bl _dl_boot2 + mov r6, r0 + mov r0, r7 + mov pc, r6 +.previous\n\ +"); + +#define _dl_boot _dl_boot2 +#define DL_BOOT(X) static void * __attribute__ ((unused)) _dl_boot (X) + + + /* It seems ARM needs an offset here */ +#undef ELFMAGIC +#define ELFMAGIC ELFMAG+load_addr + + + -- cgit v1.2.3