summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/x86_64cpuid.pl
diff options
context:
space:
mode:
authorotto <>2008-09-19 06:09:01 +0000
committerotto <>2008-09-19 06:09:01 +0000
commit5c385fc2be216c86a43ca2ac211e3e9d834248bf (patch)
tree4bd0fad7309fd9e5917f84ba519345a74823bc67 /src/lib/libcrypto/x86_64cpuid.pl
parent19e62efd3c58e58fbce172df7d63c82e341aaa82 (diff)
downloadopenbsd-5c385fc2be216c86a43ca2ac211e3e9d834248bf.tar.gz
openbsd-5c385fc2be216c86a43ca2ac211e3e9d834248bf.tar.bz2
openbsd-5c385fc2be216c86a43ca2ac211e3e9d834248bf.zip
fix some cause of bad TEXTREL on i386 and amd64
- global function calls in .init sections (diff makes them via PLT) - calls to global functions in aes-586.S (made static or local) - global variable accesses in rc4-x86_64.S (now made via GOT) from djm@large; ok miod@
Diffstat (limited to 'src/lib/libcrypto/x86_64cpuid.pl')
-rw-r--r--src/lib/libcrypto/x86_64cpuid.pl4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/libcrypto/x86_64cpuid.pl b/src/lib/libcrypto/x86_64cpuid.pl
index 2616a03da6..8946b464a8 100644
--- a/src/lib/libcrypto/x86_64cpuid.pl
+++ b/src/lib/libcrypto/x86_64cpuid.pl
@@ -47,6 +47,8 @@ CRT\$XIU ENDS
47 47
48___ 48___
49print<<___ if(!defined($masm)); 49print<<___ if(!defined($masm));
50#include <machine/asm.h>
51
50.text 52.text
51 53
52.globl OPENSSL_atomic_add 54.globl OPENSSL_atomic_add
@@ -95,7 +97,7 @@ OPENSSL_wipe_cpu:
95.size OPENSSL_wipe_cpu,.-OPENSSL_wipe_cpu 97.size OPENSSL_wipe_cpu,.-OPENSSL_wipe_cpu
96 98
97.section .init 99.section .init
98 call OPENSSL_cpuid_setup 100 call PIC_PLT(OPENSSL_cpuid_setup)
99 101
100___ 102___
101 103