diff options
Diffstat (limited to 'community/rng-tools/fix-textrels-on-PIC-x86.patch')
-rw-r--r-- | community/rng-tools/fix-textrels-on-PIC-x86.patch | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/community/rng-tools/fix-textrels-on-PIC-x86.patch b/community/rng-tools/fix-textrels-on-PIC-x86.patch deleted file mode 100644 index 09a0d87cda..0000000000 --- a/community/rng-tools/fix-textrels-on-PIC-x86.patch +++ /dev/null @@ -1,53 +0,0 @@ ---- a/rdrand_asm.S -+++ b/rdrand_asm.S -@@ -83,6 +83,7 @@ - jmp 4b - ENDPROC(x86_rdseed_or_rdrand_bytes) - -+#define INIT_PIC() - #define SETPTR(var,ptr) leaq var(%rip),ptr - #define PTR0 %rdi - #define PTR1 %rsi -@@ -172,7 +173,16 @@ - jmp 4b - ENDPROC(x86_rdseed_or_rdrand_bytes) - -+#if defined(__PIC__) -+#undef __i686 /* gcc builtin define gets in our way */ -+#define INIT_PIC() \ -+ call __i686.get_pc_thunk.bx ; \ -+ addl $_GLOBAL_OFFSET_TABLE_, %ebx -+#define SETPTR(var,ptr) leal (var)@GOTOFF(%ebx),ptr -+#else -+#define INIT_PIC() - #define SETPTR(var,ptr) movl $(var),ptr -+#endif - #define PTR0 %eax - #define PTR1 %edx - #define PTR2 %ecx -@@ -180,6 +190,7 @@ - #define NPTR2 1 /* %rcx = %r1 */ - - #endif -+ INIT_PIC() - - ENTRY(x86_aes_mangle) - #ifdef __i386__ -@@ -283,6 +294,17 @@ - #endif - ret - ENDPROC(x86_aes_mangle) -+ -+#if defined(__i386__) && defined(__PIC__) -+ .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits -+.globl __i686.get_pc_thunk.bx -+ .hidden __i686.get_pc_thunk.bx -+ .type __i686.get_pc_thunk.bx,@function -+__i686.get_pc_thunk.bx: -+ movl (%esp), %ebx -+ ret -+#endif -+ - - /* aeskeygenassist $imm,%xmm0,%xmm1 */ - #define AESKEYGENASSIST(imm) .byte 0x66,0x0f,0x3a,0xdf,0xc8,imm |