diff options
author | peter <peter@FreeBSD.org> | 2003-05-24 17:35:23 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2003-05-24 17:35:23 +0000 |
commit | 6afa41d48f5917e806ea16b805c4fe1d6cb70ce1 (patch) | |
tree | 62d6d8570db0fa33690f62a994b8b67c4eae07e7 /lib/libc/amd64/sys/setlogin.S | |
parent | dc5114efb5a7accba1140bb50db1def228a37531 (diff) | |
download | FreeBSD-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.S | 7 |
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) */ |