svn commit: r299139 - in head/secure/lib/libcrypto: . i386
Ed Maste
emaste at FreeBSD.org
Thu May 5 21:25:42 UTC 2016
Author: emaste
Date: Thu May 5 21:25:41 2016
New Revision: 299139
URL: https://svnweb.freebsd.org/changeset/base/299139
Log:
Make libcrypto position independent on i386
Prior to this change libcrypto ended up with a .text relocation.
Submitted by: Rafael Espíndola (earlier version)
Reviewed by: kib
Approved by: so (glebius)
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D6164
Added:
head/secure/lib/libcrypto/i386/crypt586.S
- copied, changed from r299138, head/secure/lib/libcrypto/i386/crypt586.s
Deleted:
head/secure/lib/libcrypto/i386/crypt586.s
Modified:
head/secure/lib/libcrypto/Makefile
Modified: head/secure/lib/libcrypto/Makefile
==============================================================================
--- head/secure/lib/libcrypto/Makefile Thu May 5 21:20:09 2016 (r299138)
+++ head/secure/lib/libcrypto/Makefile Thu May 5 21:25:41 2016 (r299139)
@@ -137,7 +137,7 @@ SRCS+= cbc_cksm.c cbc_enc.c cfb64ede.c c
fcrypt.c ofb64ede.c ofb64enc.c ofb_enc.c pcbc_enc.c qud_cksm.c \
rand_key.c read2pwd.c rpc_enc.c set_key.c str2key.c xcbc_enc.c
.if ${MACHINE_CPUARCH} == "i386"
-SRCS+= crypt586.s des-586.s
+SRCS+= crypt586.S des-586.s
.else
SRCS+= des_enc.c fcrypt_b.c
.endif
Copied and modified: head/secure/lib/libcrypto/i386/crypt586.S (from r299138, head/secure/lib/libcrypto/i386/crypt586.s)
==============================================================================
--- head/secure/lib/libcrypto/i386/crypt586.s Thu May 5 21:20:09 2016 (r299138, copy source)
+++ head/secure/lib/libcrypto/i386/crypt586.S Thu May 5 21:25:41 2016 (r299139)
@@ -14,7 +14,15 @@ fcrypt_body:
xorl %edi,%edi
xorl %esi,%esi
+#ifdef PIC
+ calll .L1
+.L1:
+ popl %edx
+ addl $_GLOBAL_OFFSET_TABLE_+(.-.L1), %edx
+ movl DES_SPtrans at GOT(%edx), %edx
+#else
leal DES_SPtrans,%edx
+#endif
pushl %edx
movl 28(%esp),%ebp
pushl $25
More information about the svn-src-all
mailing list