summaryrefslogtreecommitdiffstats
path: root/lib/csu/ia64
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2004-08-18 23:06:47 +0000
committermarcel <marcel@FreeBSD.org>2004-08-18 23:06:47 +0000
commit250930c6c0ab67f1c03a02c3fec9042f1e4a3d5d (patch)
tree86d9dca4444f3dd95c01e414228db89af047a63f /lib/csu/ia64
parent78808e1a5d52d8b949cbea164c8402ffb456d24c (diff)
downloadFreeBSD-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@
Diffstat (limited to 'lib/csu/ia64')
-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 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
}
OpenPOWER on IntegriCloud