diff options
author | Joakim Tjernlund <joakim.tjernlund@transmode.se> | 2005-03-17 17:14:06 +0000 |
---|---|---|
committer | Joakim Tjernlund <joakim.tjernlund@transmode.se> | 2005-03-17 17:14:06 +0000 |
commit | 2331c7f052ef946d357037e694430a2f473e7af5 (patch) | |
tree | 25f311c14b0dfc3d90bfa1cfd0a452f8a7569432 /ldso/ldso/sh/dl-startup.h | |
parent | fde774dc47375abbad649b5de91b8e96dcc014a8 (diff) |
General arch cleanup and prepare support for standalone
execution of ldso.
Added new asm for MIPS to be tested.
All arches should retest.
Diffstat (limited to 'ldso/ldso/sh/dl-startup.h')
-rw-r--r-- | ldso/ldso/sh/dl-startup.h | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/ldso/ldso/sh/dl-startup.h b/ldso/ldso/sh/dl-startup.h index 429c0e6eb..d669b4d2a 100644 --- a/ldso/ldso/sh/dl-startup.h +++ b/ldso/ldso/sh/dl-startup.h @@ -2,24 +2,23 @@ * will work as expected and cope with whatever platform specific wierdness is * needed for this architecture. */ -asm("" \ -" .text\n" \ -" .globl _dl_boot\n" \ -"_dl_boot:\n" \ -" mov r15, r4\n" \ -" mov.l .L_dl_boot2, r0\n" \ -" bsrf r0\n" \ -" add #4, r4\n" \ -".jmp_loc:\n" \ -" jmp @r0\n" \ -" mov #0, r4 !call _start with arg == 0\n" \ -".L_dl_boot2:\n" \ -" .long _dl_boot2-.jmp_loc\n" \ -" .previous\n" \ +asm( + " .globl _start\n" + " .type _start,@function\n" + "_start:\n" + " mov r15, r4\n" + " mov.l .L_dl_start, r0\n" + " bsrf r0\n" + " add #4, r4\n" + ".jmp_loc:\n" + " jmp @r0\n" + " mov #0, r4 !call _start with arg == 0\n" + ".L_dl_start:\n" + " .long _dl_start-.jmp_loc\n" + " .size _start,.-_start\n" + " .previous\n" ); -#define DL_BOOT(X) static void* __attribute_used__ _dl_boot2 (X) - /* * Get a pointer to the argv array. On many platforms this can be just * the address if the first argument, on other platforms we need to |