summaryrefslogtreecommitdiffstats
path: root/lib/libc/amd64/sys/setlogin.S
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2003-05-24 17:35:23 +0000
committerpeter <peter@FreeBSD.org>2003-05-24 17:35:23 +0000
commit6afa41d48f5917e806ea16b805c4fe1d6cb70ce1 (patch)
tree62d6d8570db0fa33690f62a994b8b67c4eae07e7 /lib/libc/amd64/sys/setlogin.S
parentdc5114efb5a7accba1140bb50db1def228a37531 (diff)
downloadFreeBSD-src-6afa41d48f5917e806ea16b805c4fe1d6cb70ce1.zip
FreeBSD-src-6afa41d48f5917e806ea16b805c4fe1d6cb70ce1.tar.gz
Repair PIC mode. It seems I was a bit too excited about the
implications of native PC relative addressing.
Diffstat (limited to 'lib/libc/amd64/sys/setlogin.S')
-rw-r--r--lib/libc/amd64/sys/setlogin.S7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/libc/amd64/sys/setlogin.S b/lib/libc/amd64/sys/setlogin.S
index 54acef8..cb355d2 100644
--- a/lib/libc/amd64/sys/setlogin.S
+++ b/lib/libc/amd64/sys/setlogin.S
@@ -45,5 +45,10 @@ __FBSDID("$FreeBSD$");
.globl CNAME(_logname_valid) /* in _getlogin() */
SYSCALL(setlogin)
- movl $0,PIC_GOT(CNAME(_logname_valid))
+#ifdef PIC
+ movq PIC_GOT(CNAME(_logname_valid)),%rdx
+ movl $0,(%rdx)
+#else
+ movl $0,CNAME(_logname_valid)(%rip)
+#endif
ret /* setlogin(name) */
OpenPOWER on IntegriCloud