Deleted Added
full compact
crt1.c (93036) crt1.c (93399)
1/*-
2 * Copyright 2001 David E. O'Brien.
3 * All rights reserved.
4 * Copyright 1996-1998 John D. Polstra.
5 * All rights reserved.
6 * Copyright (c) 1997 Jason R. Thorpe.
7 * Copyright (c) 1995 Christopher G. Demetriou
8 * All rights reserved.

--- 29 unchanged lines hidden (view full) ---

38 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 */
40
41#ifndef __GNUC__
42#error "GCC is needed to compile this file"
43#endif
44
45#include <stdlib.h>
1/*-
2 * Copyright 2001 David E. O'Brien.
3 * All rights reserved.
4 * Copyright 1996-1998 John D. Polstra.
5 * All rights reserved.
6 * Copyright (c) 1997 Jason R. Thorpe.
7 * Copyright (c) 1995 Christopher G. Demetriou
8 * All rights reserved.

--- 29 unchanged lines hidden (view full) ---

38 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 */
40
41#ifndef __GNUC__
42#error "GCC is needed to compile this file"
43#endif
44
45#include <stdlib.h>
46#include "libc_private.h"
46#include "crtbrand.c"
47
48struct Struct_Obj_Entry;
49struct ps_strings;
50
51#pragma weak _DYNAMIC
52extern int _DYNAMIC;
53

--- 4 unchanged lines hidden (view full) ---

58#ifdef GCRT
59extern void _mcleanup(void);
60extern void monstartup(void *, void *);
61extern int eprol;
62extern int etext;
63#endif
64
65char **environ;
47#include "crtbrand.c"
48
49struct Struct_Obj_Entry;
50struct ps_strings;
51
52#pragma weak _DYNAMIC
53extern int _DYNAMIC;
54

--- 4 unchanged lines hidden (view full) ---

59#ifdef GCRT
60extern void _mcleanup(void);
61extern void monstartup(void *, void *);
62extern int eprol;
63extern int etext;
64#endif
65
66char **environ;
66char *__progname = "";
67const char *__progname = "";
67struct ps_strings *__ps_strings;
68
69/* The entry function.
70 *
71 * First 5 arguments are specified by the PowerPC SVR4 ABI.
72 * The last argument, ps_strings, is a BSD extension.
73 */
74void
75_start(argc, argv, envp, obj, cleanup, ps_strings)
76 int argc;
77 char **argv, **envp;
78 const struct Struct_Obj_Entry *obj; /* from shared loader */
79 void (*cleanup)(void); /* from shared loader */
80 struct ps_strings *ps_strings; /* BSD extension */
81{
82 char *namep;
68struct ps_strings *__ps_strings;
69
70/* The entry function.
71 *
72 * First 5 arguments are specified by the PowerPC SVR4 ABI.
73 * The last argument, ps_strings, is a BSD extension.
74 */
75void
76_start(argc, argv, envp, obj, cleanup, ps_strings)
77 int argc;
78 char **argv, **envp;
79 const struct Struct_Obj_Entry *obj; /* from shared loader */
80 void (*cleanup)(void); /* from shared loader */
81 struct ps_strings *ps_strings; /* BSD extension */
82{
83 char *namep;
84 const char *s;
83
84 environ = envp;
85
86 if (argc > 0 && argv[0] != NULL) {
85
86 environ = envp;
87
88 if (argc > 0 && argv[0] != NULL) {
87 char *s;
88 __progname = argv[0];
89 for (s = __progname; *s != '\0'; s++)
90 if (*s == '/')
91 __progname = s + 1;
92 }
93
94 if (ps_strings != (struct ps_strings *)0)
95 __ps_strings = ps_strings;

--- 13 unchanged lines hidden (view full) ---

109}
110
111#ifdef GCRT
112__asm__(".text");
113__asm__("eprol:");
114__asm__(".previous");
115#endif
116
89 __progname = argv[0];
90 for (s = __progname; *s != '\0'; s++)
91 if (*s == '/')
92 __progname = s + 1;
93 }
94
95 if (ps_strings != (struct ps_strings *)0)
96 __ps_strings = ps_strings;

--- 13 unchanged lines hidden (view full) ---

110}
111
112#ifdef GCRT
113__asm__(".text");
114__asm__("eprol:");
115__asm__(".previous");
116#endif
117
117__asm__(".ident\t\"$FreeBSD: head/lib/csu/powerpc/crt1.c 93036 2002-03-23 18:14:04Z obrien $\"");
118__asm__(".ident\t\"$FreeBSD: head/lib/csu/powerpc/crt1.c 93399 2002-03-29 22:43:43Z markm $\"");