krb5 commit: Avoid text relocations in iaesx86.s

Tom Yu tlyu at MIT.EDU
Fri Jan 10 16:25:52 EST 2014


https://github.com/krb5/krb5/commit/3847aa109e8ff3f2781d53315f81e8d29ee35892
commit 3847aa109e8ff3f2781d53315f81e8d29ee35892
Author: Tom Yu <tlyu at mit.edu>
Date:   Fri Jan 10 15:04:32 2014 -0500

    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

 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


More information about the cvs-krb5 mailing list