summaryrefslogtreecommitdiff
path: root/ldso/ldso/frv/dl-startup.h
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2016-02-05 21:07:40 +0100
committerWaldemar Brodkorb <wbx@uclibc-ng.org>2016-02-07 18:23:22 +0100
commitc0a2d0b7edacbc6389574821b0231e07431dabb6 (patch)
treef2d21c6e2fe8f99ccd820d1d406dc5d51419ba77 /ldso/ldso/frv/dl-startup.h
parentb499fe614ac5b492fc0fdc6e1fbbeeb904674159 (diff)
frv: resurrect port somehow, totally untested
The FR-V port is really broken, and I have no emulator or hardware for this platform. I tried to get some hardware from RedHat, who made the FR-V port initially. Unfortunately Fujitsi didn't agreed to sent me some of their unused spare hardware lying @RedHat. As I invested some time to get stuff compiled, I decided to add the code and may be anytime later I can gain access to some emulator or hardware. GDB simulator for FR-V doesn't support booting Linux AFAIK.
Diffstat (limited to 'ldso/ldso/frv/dl-startup.h')
-rw-r--r--ldso/ldso/frv/dl-startup.h18
1 files changed, 9 insertions, 9 deletions
diff --git a/ldso/ldso/frv/dl-startup.h b/ldso/ldso/frv/dl-startup.h
index 2aa7baa56..45e9cb9ce 100644
--- a/ldso/ldso/frv/dl-startup.h
+++ b/ldso/ldso/frv/dl-startup.h
@@ -27,9 +27,10 @@
__asm__("" \
" .text\n" \
-" .global _dl_boot\n" \
-" .type _dl_boot,@function\n" \
-"_dl_boot:\n" \
+" .global _start\n" \
+" .type _start,@function\n" \
+" .hidden _start\n" \
+"_start:\n" \
" call .Lcall\n" \
".Lcall:\n" \
" movsg lr, gr4\n" \
@@ -54,18 +55,18 @@ __asm__("" \
" addi.p sp, #4, gr13\n" \
" addi sp, #-8, sp\n" \
" mov.p sp, gr12\n" \
-" call _dl_boot2\n" \
+" call _dl_start\n" \
" ldd.p @(sp, gr0), gr14\n" \
" addi sp, #8, sp\n" \
" movgs gr0, lr\n" \
" jmpl @(gr14, gr0)\n" \
-" .size _dl_boot,.-_dl_boot\n" \
+" .size _start,.-_start\n" \
);
-#define _dl_boot _dl_boot2
-#define DL_BOOT(X) \
+#undef DL_START
+#define DL_START(X) \
static void __attribute__ ((used)) \
-_dl_boot (void *dl_boot_got_pointer, \
+_dl_start (Elf32_Addr dl_boot_got_pointer, \
struct elf32_fdpic_loadmap *dl_boot_progmap, \
struct elf32_fdpic_loadmap *dl_boot_ldsomap, \
Elf32_Dyn *dl_boot_ldso_dyn_pointer, \
@@ -115,6 +116,5 @@ _dl_boot (void *dl_boot_got_pointer, \
while (exec_mod->libtype != elf_executable) \
exec_mod = exec_mod->next; \
dl_main_funcdesc->got_value = exec_mod->loadaddr.got_value; \
- /* _dl_dprintf(2, "entry point is (%x,%x)\n", dl_main_funcdesc->entry_point, dl_main_funcdesc->got_value); */ \
return; \
} while (0)