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
This commit is contained in:
parent
c43c22982e
commit
50b5c1f0e6
@ -137,7 +137,7 @@ SRCS+= cbc_cksm.c cbc_enc.c cfb64ede.c cfb64enc.c cfb_enc.c des_old.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
|
||||
|
@ -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@GOT(%edx), %edx
|
||||
#else
|
||||
leal DES_SPtrans,%edx
|
||||
#endif
|
||||
pushl %edx
|
||||
movl 28(%esp),%ebp
|
||||
pushl $25
|
Loading…
Reference in New Issue
Block a user