123456789101112131415161718192021222324252627282930 |
- /* 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" \
- );
- #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
|