diff options
| author | Doug Rabson <dfr@FreeBSD.org> | 2001-10-11 12:33:05 +0000 |
|---|---|---|
| committer | Doug Rabson <dfr@FreeBSD.org> | 2001-10-11 12:33:05 +0000 |
| commit | 3749c9e54d31df06d768e9270a569c842c313de0 (patch) | |
| tree | fd512fad4951323175b78a5535a867eb5e752cfd /lib | |
| parent | f334c8bff74a058ce28d926a99864eafdf48e6e5 (diff) | |
Notes
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/csu/ia64/crt1.c | 20 |
1 files changed, 3 insertions, 17 deletions
diff --git a/lib/csu/ia64/crt1.c b/lib/csu/ia64/crt1.c index 16efd37f7d85..f8b02ab71e90 100644 --- a/lib/csu/ia64/crt1.c +++ b/lib/csu/ia64/crt1.c @@ -60,25 +60,9 @@ extern int etext; char **environ; char *__progname = ""; -__asm (" - .text - .global _start - .proc _start -_start: - alloc r14=ar.pfs,0,0,3,0 ;; - mov out0=sp - mov out1=r14 - mov out2=r15 - mov r14=15 ;; - andcm sp=sp,r14 ;; - add sp=-16,sp - movl gp=_GLOBAL_OFFSET_TABLE_ - br.call.sptk rp=_start2 - .endp _start"); - /* The entry function. */ void -_start2(char **ap, +_start(char **ap, struct ps_strings *ps_strings, void (*cleanup)(void)) { @@ -86,6 +70,8 @@ _start2(char **ap, char **argv; char **env; + __asm __volatile("movl gp=_GLOBAL_OFFSET_TABLE_"); + argc = * (long *) ap; argv = ap + 1; env = ap + 2 + argc; |
