aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMarcel Moolenaar <marcel@FreeBSD.org>2004-08-18 23:06:47 +0000
committerMarcel Moolenaar <marcel@FreeBSD.org>2004-08-18 23:06:47 +0000
commite8e41d4cf89ccf226820df248b5b77b7554e2866 (patch)
tree86d9dca4444f3dd95c01e414228db89af047a63f /lib
parent8f6270dbb450f2ac30f1998b6bfcb287bbd265de (diff)
downloadsrc-e8e41d4cf89ccf226820df248b5b77b7554e2866.tar.gz
src-e8e41d4cf89ccf226820df248b5b77b7554e2866.zip
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@
Notes
Notes: svn path=/head/; revision=133989
Diffstat (limited to 'lib')
-rw-r--r--lib/csu/ia64/crt1.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/csu/ia64/crt1.S b/lib/csu/ia64/crt1.S
index 8740299595d8..10e1a63d17b4 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
}