diff options
author | marcel <marcel@FreeBSD.org> | 2004-08-18 23:06:47 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2004-08-18 23:06:47 +0000 |
commit | 250930c6c0ab67f1c03a02c3fec9042f1e4a3d5d (patch) | |
tree | 86d9dca4444f3dd95c01e414228db89af047a63f | |
parent | 78808e1a5d52d8b949cbea164c8402ffb456d24c (diff) | |
download | FreeBSD-src-250930c6c0ab67f1c03a02c3fec9042f1e4a3d5d.zip FreeBSD-src-250930c6c0ab67f1c03a02c3fec9042f1e4a3d5d.tar.gz |
Bring ia64 back from the dead. After a call one needs to restore the
GP register, because it's clobbered for calls across load modules. The
previous commit inserted the call to _init_tls() between the call to
atexit() and the restoration of the GP register clobbered by it. Fix:
restore GP before we call _init_tls().
Pointy hat: dfr@
-rw-r--r-- | lib/csu/ia64/crt1.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/csu/ia64/crt1.S b/lib/csu/ia64/crt1.S index 8740299..10e1a63 100644 --- a/lib/csu/ia64/crt1.S +++ b/lib/csu/ia64/crt1.S @@ -108,7 +108,7 @@ _start: ;; } { .mfb - nop 0 + mov gp=GP nop 0 br.call.sptk b0=_init_tls } |