diff options
| author | otto <> | 2008-09-19 06:09:01 +0000 |
|---|---|---|
| committer | otto <> | 2008-09-19 06:09:01 +0000 |
| commit | 5c385fc2be216c86a43ca2ac211e3e9d834248bf (patch) | |
| tree | 4bd0fad7309fd9e5917f84ba519345a74823bc67 /src/lib/libcrypto/x86_64cpuid.pl | |
| parent | 19e62efd3c58e58fbce172df7d63c82e341aaa82 (diff) | |
| download | openbsd-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.pl | 4 |
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 | ___ |
| 49 | print<<___ if(!defined($masm)); | 49 | print<<___ 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 | ||
