blob: 631684c9512ac006d98df1893556eee52e671db5 (
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
|
/* 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\n" \
" .globl _dl_boot\n" \
"_dl_boot:\n" \
" mov r7, sp\n" \
" @ldr r0, [sp], #4\n" \
" mov r0, sp\n" \
" bl _dl_boot2\n" \
" mov r6, r0\n" \
" mov r0, r7\n" \
" mov pc, r6\n" \
);
/* It seems ARM needs an offset here */
#undef ELFMAGIC
#define ELFMAGIC ELFMAG+load_addr
|