Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
c435b432
Commit
c435b432
authored
Apr 02, 2010
by
Dan Nicolaescu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* ecrt0.c: Remove MSDOS, m68k and __sparc__ conditionals, file not
used on those platforms.
parent
9c13a46e
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
6 additions
and
66 deletions
+6
-66
src/ChangeLog
src/ChangeLog
+5
-0
src/ecrt0.c
src/ecrt0.c
+1
-66
No files found.
src/ChangeLog
View file @
c435b432
2010-04-03 Dan Nicolaescu <dann@ics.uci.edu>
* ecrt0.c: Remove MSDOS, m68k and __sparc__ conditionals, file not
used on those platforms.
2010-04-02 Dan Nicolaescu <dann@ics.uci.edu>
Remove extern errno declarations.
...
...
src/ecrt0.c
View file @
c435b432
...
...
@@ -59,9 +59,7 @@ And always:
int
data_start
=
0
;
#ifndef MSDOS
char
**
environ
;
#endif
#ifndef static
/* On systems where the static storage class is usable, this function
...
...
@@ -100,70 +98,7 @@ start1 (CRT0_DUMMIES argc, xargv)
and optimize it out. */
(
void
)
&
start1
;
}
#else
/* not CRT0_DUMMIES */
/* This is a kludge. Now that the CRT0_DUMMIES mechanism above exists,
most of these machines could use the vax code above
with some suitable definition of CRT0_DUMMIES.
Then the symbol m68k could be flushed.
But I don't want to risk breaking these machines
in a version 17 patch release, so that change is being put off. */
#ifdef m68k
/* Can't do it all from C */
asm
(
" global _start"
);
asm
(
" text"
);
asm
(
"_start:"
);
asm
(
" comm splimit%,4"
);
asm
(
" global exit"
);
asm
(
" text"
);
asm
(
" mov.l %d0,splimit%"
);
asm
(
" jsr start1"
);
asm
(
" mov.l %d0,(%sp)"
);
asm
(
" jsr exit"
);
asm
(
" mov.l &1,%d0"
);
/* d0 = 1 => exit */
asm
(
" trap &0"
);
/* ignore takes care of skipping the a6 value pushed in start. */
static
start1
(
argc
,
xargv
)
int
argc
;
char
*
xargv
;
{
register
char
**
argv
=
&
xargv
;
environ
=
argv
+
argc
+
1
;
if
((
char
*
)
environ
==
xargv
)
environ
--
;
exit
(
main
(
argc
,
argv
,
environ
));
}
#endif
/* m68k */
#endif
/* not CRT0_DUMMIES */
#ifdef __sparc__
asm
(
".global __start"
);
asm
(
".text"
);
asm
(
"__start:"
);
asm
(
" mov 0, %fp"
);
asm
(
" ld [%sp + 64], %o0"
);
asm
(
" add %sp, 68, %o1"
);
asm
(
" sll %o0, 2, %o2"
);
asm
(
" add %o2, 4, %o2"
);
asm
(
" add %o1, %o2, %o2"
);
asm
(
" sethi %hi(_environ), %o3"
);
asm
(
" st %o2, [%o3+%lo(_environ)]"
);
asm
(
" andn %sp, 7, %sp"
);
asm
(
" call _main"
);
asm
(
" sub %sp, 24, %sp"
);
asm
(
" call __exit"
);
asm
(
" nop"
);
#endif
/* __sparc__ */
#if __FreeBSD__ == 2
char
*
__progname
;
#endif
#endif
/* CRT0_DUMMIES */
/* arch-tag: 4025c2fb-d6b1-4d29-b1b6-8100b6bd1e74
(do not change this comment) */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment