aboutsummaryrefslogtreecommitdiffstats
path: root/community/rng-tools/fix-textrels-on-PIC-x86.patch
diff options
context:
space:
mode:
Diffstat (limited to 'community/rng-tools/fix-textrels-on-PIC-x86.patch')
-rw-r--r--community/rng-tools/fix-textrels-on-PIC-x86.patch53
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