blob: af9acc22c58b17821fc535d4cffcde33d13bf5b4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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
\n\
");
#define _dl_boot _dl_boot2
#define LD_BOOT(X) static void * __attribute__ ((unused)) _dl_boot (X)
/* It seems ARM needs an offset here */
#undef ELFMAGIC
#define ELFMAGIC ELFMAG+load_addr
|