Add a secondary label called __start (makes gcc 2.95.3 happier) and rename

the internal __start to ___start.   (Since -e is not supplied by default,
this has no effect on a native build.)
This commit is contained in:
matt 2001-08-05 00:01:27 +00:00
parent fcc522e5ce
commit ee6a16ad18
1 changed files with 8 additions and 6 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: crt0.c,v 1.2 2001/07/17 06:39:14 matt Exp $ */ /* $NetBSD: crt0.c,v 1.3 2001/08/05 00:01:27 matt Exp $ */
/* /*
* Copyright (C) 1997 Mark Brinicombe * Copyright (C) 1997 Mark Brinicombe
@ -40,14 +40,16 @@
#include "common.h" #include "common.h"
extern void _start(void); extern void _start(void);
void __start(int, char *[], char *[], struct ps_strings *, void ___start(int, char *[], char *[], struct ps_strings *,
const Obj_Entry *, void (*)()); const Obj_Entry *, void (*)());
__asm(" __asm("
.text .text
.align 0 .align 0
.global _start .globl _start
.globl __start
_start: _start:
__start:
mov r5, r2 /* cleanup */ mov r5, r2 /* cleanup */
mov r4, r1 /* obj_main */ mov r4, r1 /* obj_main */
mov r3, r0 /* ps_strings */ mov r3, r0 /* ps_strings */
@ -61,15 +63,15 @@ _start:
str r5, [sp, #4] str r5, [sp, #4]
str r4, [sp, #0] str r4, [sp, #0]
b " ___STRING(_C_LABEL(__start)) " b " ___STRING(_C_LABEL(___start)) "
"); ");
#if defined(LIBC_SCCS) && !defined(lint) #if defined(LIBC_SCCS) && !defined(lint)
__RCSID("$NetBSD: crt0.c,v 1.2 2001/07/17 06:39:14 matt Exp $"); __RCSID("$NetBSD: crt0.c,v 1.3 2001/08/05 00:01:27 matt Exp $");
#endif /* LIBC_SCCS and not lint */ #endif /* LIBC_SCCS and not lint */
void void
__start(int argc, char **argv, char **envp, struct ps_strings *ps_strings, ___start(int argc, char **argv, char **envp, struct ps_strings *ps_strings,
const Obj_Entry *obj, void (*cleanup)(void)) const Obj_Entry *obj, void (*cleanup)(void))
{ {
char *ap; char *ap;