summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>2014-01-10 15:04:32 -0500
committerTom Yu <tlyu@mit.edu>2014-01-10 15:04:32 -0500
commit3847aa109e8ff3f2781d53315f81e8d29ee35892 (patch)
treeae038f21086c17a1cdfd732971650b9e2470eb03 /src
parent0642afa544b00054048775d0b9796923bf018e22 (diff)
downloadkrb5-3847aa109e8ff3f2781d53315f81e8d29ee35892.tar.gz
krb5-3847aa109e8ff3f2781d53315f81e8d29ee35892.tar.xz
krb5-3847aa109e8ff3f2781d53315f81e8d29ee35892.zip
Avoid text relocations in iaesx86.s
Use PC-relative addressing to avoid runtime text relocations on i386. Adapted patch from Nalin Dahyabhai. ticket: 7815 target_version: 1.12.1 tags: pullup
Diffstat (limited to 'src')
-rw-r--r--src/lib/crypto/builtin/aes/iaesx86.s10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/lib/crypto/builtin/aes/iaesx86.s b/src/lib/crypto/builtin/aes/iaesx86.s
index 1aa12e6ef0..33470dd378 100644
--- a/src/lib/crypto/builtin/aes/iaesx86.s
+++ b/src/lib/crypto/builtin/aes/iaesx86.s
@@ -323,7 +323,10 @@ _iEncExpandKey128:
movdqu [edx], xmm1
- movdqa xmm5, [shuffle_mask]
+ call .next
+.next:
+ pop ecx
+ movdqa xmm5, [ecx-.next+shuffle_mask]
add edx,16
@@ -421,7 +424,10 @@ _iEncExpandKey256:
add edx,32
- movdqa xmm5, [shuffle_mask] ; this mask is used by key_expansion
+ call .next
+.next:
+ pop ecx
+ movdqa xmm5, [ecx-.next+shuffle_mask] ; this mask is used by key_expansion
aeskeygenassist xmm2, xmm3, 0x1 ;
call key_expansion256