Pass the rtld object and ps_strings to _start() properly. From Marcus.

This commit is contained in:
thorpej 2002-02-03 23:57:19 +00:00
parent 085ea65576
commit e4217fbfe4
1 changed files with 16 additions and 6 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: crt0.c,v 1.4 2001/02/25 15:51:24 msaitoh Exp $ */ /* $NetBSD: crt0.c,v 1.5 2002/02/03 23:57:19 thorpej Exp $ */
/* /*
* Copyright (c) 1998 Christos Zoulas * Copyright (c) 1998 Christos Zoulas
@ -35,17 +35,27 @@
* <<Id: LICENSE,v 1.2 2000/06/14 15:57:33 cgd Exp>> * <<Id: LICENSE,v 1.2 2000/06/14 15:57:33 cgd Exp>>
*/ */
#undef DYNAMIC /* XXX */
#include "common.h" #include "common.h"
void _start __P((int, char **, char **, void (*cleanup) __P((void)), void _start __P((int, char **, char **, void (*cleanup) __P((void)),
const Obj_Entry *, struct ps_strings *)); const Obj_Entry *, struct ps_strings *));
#ifdef __LEADING_UNDERSCORE #ifdef __LEADING_UNDERSCORE
__asm (".globl start; start = __start"); __asm( " .text \n"
" .align 2 \n"
" .globl start \n"
"start: \n"
" mov.l r9,@-r15 \n"
" bra __start \n"
" mov.l r8,@-r15");
#else #else
__asm (".globl __start; __start = _start"); __asm( " .text \n"
" .align 2 \n"
" .globl __start \n"
"__start: \n"
" mov.l r9,@-r15 \n"
" bra _start \n"
" mov.l r8,@-r15");
#endif #endif
void void
@ -89,7 +99,7 @@ _start(argc, argv, envp, cleanup, obj, ps_strings)
* NOTE: Leave the RCS ID _after_ __start(), in case it gets placed in .text. * NOTE: Leave the RCS ID _after_ __start(), in case it gets placed in .text.
*/ */
#if defined(LIBC_SCCS) && !defined(lint) #if defined(LIBC_SCCS) && !defined(lint)
__RCSID("$NetBSD: crt0.c,v 1.4 2001/02/25 15:51:24 msaitoh Exp $"); __RCSID("$NetBSD: crt0.c,v 1.5 2002/02/03 23:57:19 thorpej Exp $");
#endif /* LIBC_SCCS and not lint */ #endif /* LIBC_SCCS and not lint */
#include "common.c" #include "common.c"