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:
parent
fcc522e5ce
commit
ee6a16ad18
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue