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-head mailing list