Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/openssl/openssl.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2011-09-15 00:48:49 +0400
committerAndy Polyakov <appro@openssl.org>2011-09-15 00:48:49 +0400
commit03e389cf049e4bbc2f6d0028dc320fb0583aad2c (patch)
tree61020185544c4ff9567d236e9c1ee3a74ee417c8 /fips/fips_canister.c
parent93256bf5d148f3b8fa02a410b4477c6c9ca20e65 (diff)
Allow for dynamic base in Win64 FIPS module.
Diffstat (limited to 'fips/fips_canister.c')
-rw-r--r--fips/fips_canister.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/fips/fips_canister.c b/fips/fips_canister.c
index a1f8400479..a209172f43 100644
--- a/fips/fips_canister.c
+++ b/fips/fips_canister.c
@@ -56,6 +56,10 @@ static void *instruction_pointer_xlc(void);
* reference points accordingly. In case you wonder, the values are
* big-endian encoded variable names, just to prevent these arrays
* from being merged by linker. */
+# if defined(_MSC_VER) && defined(_WIN64)
+# pragma section("fipsro$a",read)
+ __declspec(allocate("fipsro$a"))
+# endif
const unsigned int FIPS_rodata_start[]=
{ 0x46495053, 0x5f726f64, 0x6174615f, 0x73746172 };
#else
@@ -63,6 +67,10 @@ const unsigned int FIPS_rodata_start[]=
# ifdef FIPS_REF_POINT_IS_CROSS_COMPILER_AWARE
# define instruction_pointer FIPS_text_endX
# endif
+# if defined(_MSC_VER) && defined(_WIN64)
+# pragma section("fipsro$c",read)
+ __declspec(allocate("fipsro$c"))
+# endif
const unsigned int FIPS_rodata_end[]=
{ 0x46495053, 0x5f726f64, 0x6174615f, 0x656e645b };
#endif