diff options
author | Jilles Tjoelker <jilles@FreeBSD.org> | 2013-08-17 19:24:58 +0000 |
---|---|---|
committer | Jilles Tjoelker <jilles@FreeBSD.org> | 2013-08-17 19:24:58 +0000 |
commit | 0f3a4d8051afb7f84227842f6dde3bd1e3d20609 (patch) | |
tree | e6e7bc14dde6fbd106d542a3999fdc26cb10ceea /lib/libc/amd64 | |
parent | a678ca234fef36e4d77b58e073586b7f1c831361 (diff) | |
download | src-0f3a4d8051afb7f84227842f6dde3bd1e3d20609.tar.gz src-0f3a4d8051afb7f84227842f6dde3bd1e3d20609.zip |
libc: Access _logname_valid more efficiently.
The variable _logname_valid is not exported via the version script;
therefore, change C and i386/amd64 assembler code to remove indirection
(which allowed interposition). This makes the code slightly smaller and
faster.
Also, remove #define PIC_GOT from i386/amd64 in !PIC mode. Without PIC,
there is no place containing the address of each variable, so there is no
possible definition for PIC_GOT.
Notes
Notes:
svn path=/head/; revision=254463
Diffstat (limited to 'lib/libc/amd64')
-rw-r--r-- | lib/libc/amd64/sys/setlogin.S | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/lib/libc/amd64/sys/setlogin.S b/lib/libc/amd64/sys/setlogin.S index a451491658d7..73b53641ad73 100644 --- a/lib/libc/amd64/sys/setlogin.S +++ b/lib/libc/amd64/sys/setlogin.S @@ -48,12 +48,7 @@ ENTRY(__sys_setlogin) mov $SYS_setlogin,%rax KERNCALL jb HIDENAME(cerror) -#ifdef PIC - movq PIC_GOT(CNAME(_logname_valid)),%rdx - movl $0,(%rdx) -#else movl $0,CNAME(_logname_valid)(%rip) -#endif ret /* setlogin(name) */ END(__sys_setlogin) |