diff options
author | Tom Yu <tlyu@mit.edu> | 2014-01-10 15:04:32 -0500 |
---|---|---|
committer | Tom Yu <tlyu@mit.edu> | 2014-01-10 15:04:32 -0500 |
commit | 3847aa109e8ff3f2781d53315f81e8d29ee35892 (patch) | |
tree | ae038f21086c17a1cdfd732971650b9e2470eb03 /src/lib/crypto | |
parent | 0642afa544b00054048775d0b9796923bf018e22 (diff) | |
download | krb5-3847aa109e8ff3f2781d53315f81e8d29ee35892.zip krb5-3847aa109e8ff3f2781d53315f81e8d29ee35892.tar.gz krb5-3847aa109e8ff3f2781d53315f81e8d29ee35892.tar.bz2 |
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/lib/crypto')
-rw-r--r-- | src/lib/crypto/builtin/aes/iaesx86.s | 10 |
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 1aa12e6..33470dd 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 |