Introduce OPENSSL_NONPIC_relocated to denote relocated DLLs.
This commit is contained in:
parent
8861ba355d
commit
51d28013db
@ -545,6 +545,7 @@ const char *CRYPTO_get_lock_name(int type)
|
|||||||
|
|
||||||
unsigned long OPENSSL_ia32cap_P=0;
|
unsigned long OPENSSL_ia32cap_P=0;
|
||||||
unsigned long *OPENSSL_ia32cap_loc(void) { return &OPENSSL_ia32cap_P; }
|
unsigned long *OPENSSL_ia32cap_loc(void) { return &OPENSSL_ia32cap_P; }
|
||||||
|
int OPENSSL_NONPIC_relocated=0;
|
||||||
|
|
||||||
#if defined(OPENSSL_CPUID_OBJ) && !defined(OPENSSL_NO_ASM) && !defined(I386_ONLY)
|
#if defined(OPENSSL_CPUID_OBJ) && !defined(OPENSSL_NO_ASM) && !defined(I386_ONLY)
|
||||||
#define OPENSSL_CPUID_SETUP
|
#define OPENSSL_CPUID_SETUP
|
||||||
@ -589,6 +590,21 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason,
|
|||||||
{
|
{
|
||||||
case DLL_PROCESS_ATTACH:
|
case DLL_PROCESS_ATTACH:
|
||||||
OPENSSL_cpuid_setup();
|
OPENSSL_cpuid_setup();
|
||||||
|
#if defined(_WIN32_WINNT)
|
||||||
|
{
|
||||||
|
IMAGE_DOS_HEADER *dos_header = (IMAGE_DOS_HEADER *)hinstDLL;
|
||||||
|
IMAGE_NT_HEADERS *nt_headers;
|
||||||
|
|
||||||
|
if (dos_header->e_magic==IMAGE_DOS_SIGNATURE)
|
||||||
|
{
|
||||||
|
nt_headers = (IMAGE_NT_HEADERS *)((char *)dos_header
|
||||||
|
+ dos_header->e_lfanew);
|
||||||
|
if (nt_headers->Signature==IMAGE_NT_SIGNATURE &&
|
||||||
|
histDLL!=(HINSTANCE)(nt_headers->OptionalHeader.ImageBase))
|
||||||
|
OPENSSL_NONPIC_relocated=1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case DLL_THREAD_ATTACH:
|
case DLL_THREAD_ATTACH:
|
||||||
break;
|
break;
|
||||||
|
@ -97,6 +97,7 @@ void OPENSSL_cpuid_setup(void);
|
|||||||
extern unsigned long OPENSSL_ia32cap_P;
|
extern unsigned long OPENSSL_ia32cap_P;
|
||||||
void OPENSSL_showfatal(const char *,...);
|
void OPENSSL_showfatal(const char *,...);
|
||||||
void *OPENSSL_stderr(void);
|
void *OPENSSL_stderr(void);
|
||||||
|
extern int OPENSSL_NONPIC_relocated;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user