From 32de57c481eb3e43394ea73ae319fb9ac73a6f58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Mon, 3 Feb 2020 13:52:06 +0100 Subject: [PATCH] - fix build with gcc 10 --- opencryptoki-3.12.1-gcc10.patch | 254 ++++++++++++++++++++++++++++++++ opencryptoki.spec | 7 +- 2 files changed, 260 insertions(+), 1 deletion(-) create mode 100644 opencryptoki-3.12.1-gcc10.patch diff --git a/opencryptoki-3.12.1-gcc10.patch b/opencryptoki-3.12.1-gcc10.patch new file mode 100644 index 0000000..104cc69 --- /dev/null +++ b/opencryptoki-3.12.1-gcc10.patch @@ -0,0 +1,254 @@ +From 33e58bc69b1c26b20b3c4a2ea6061fe15c5ffbbc Mon Sep 17 00:00:00 2001 +From: Ingo Franzki +Date: Fri, 31 Jan 2020 11:06:22 +0100 +Subject: [PATCH] Fix build issue with gcc 10 and -fno-common + +With gcc 10 -fno-common is the default. + +Fixes: https://github.com/opencryptoki/opencryptoki/issues/271 + +Signed-off-by: Ingo Franzki +--- + testcases/common/common.c | 8 ++++++++ + testcases/include/regress.h | 12 ++++++------ + testcases/login/digest_init.c | 1 - + testcases/login/init_pin.c | 1 - + testcases/login/init_tok.c | 3 --- + testcases/login/login.c | 1 - + testcases/login/login_flags.c | 1 - + testcases/login/set_pin.c | 1 - + testcases/misc_tests/speed.c | 3 --- + testcases/misc_tests/threadmkobj.c | 4 ---- + testcases/misc_tests/tok_des.c | 3 --- + testcases/misc_tests/tok_obj.c | 4 ---- + testcases/misc_tests/tok_obj2.c | 4 ---- + testcases/misc_tests/tok_rsa.c | 2 -- + testcases/pkcs11/hw_fn.c | 1 - + 15 files changed, 14 insertions(+), 35 deletions(-) + +diff --git a/testcases/common/common.c b/testcases/common/common.c +index 5302bc1b..5451a52e 100644 +--- a/testcases/common/common.c ++++ b/testcases/common/common.c +@@ -16,6 +16,14 @@ + #include "pkcs11types.h" + #include "regress.h" + ++CK_FUNCTION_LIST *funcs; ++CK_SLOT_ID SLOT_ID; ++ ++CK_BBOOL skip_token_obj; ++CK_BBOOL no_stop; ++CK_BBOOL no_init; ++CK_BBOOL securekey; ++ + CK_ULONG t_total = 0; // total test assertions + CK_ULONG t_ran = 0; // number of assertions ran + CK_ULONG t_passed = 0; // number of assertions passed +diff --git a/testcases/include/regress.h b/testcases/include/regress.h +index 610f7339..8c7c5360 100644 +--- a/testcases/include/regress.h ++++ b/testcases/include/regress.h +@@ -79,8 +79,8 @@ CK_RV DummyFunction(CK_SLOT_ID id); + + int digest_functions(void); + +-CK_FUNCTION_LIST *funcs; +-CK_SLOT_ID SLOT_ID; ++extern CK_FUNCTION_LIST *funcs; ++extern CK_SLOT_ID SLOT_ID; + + void usage(char *fct); + int do_ParseArgs(int argc, char **argv); +@@ -93,10 +93,10 @@ extern CK_BYTE DSA_PUBL_PRIME[128]; + extern CK_BYTE DSA_PUBL_SUBPRIME[20]; + extern CK_BYTE DSA_PUBL_BASE[128]; + +-CK_BBOOL skip_token_obj; +-CK_BBOOL no_stop; +-CK_BBOOL no_init; +-CK_BBOOL securekey; ++extern CK_BBOOL skip_token_obj; ++extern CK_BBOOL no_stop; ++extern CK_BBOOL no_init; ++extern CK_BBOOL securekey; + + int get_so_pin(CK_BYTE_PTR); + int get_user_pin(CK_BYTE_PTR); +diff --git a/testcases/login/digest_init.c b/testcases/login/digest_init.c +index b1f21a19..aebc826f 100644 +--- a/testcases/login/digest_init.c ++++ b/testcases/login/digest_init.c +@@ -21,7 +21,6 @@ + #include "regress.h" + #include "common.c" + +-CK_FUNCTION_LIST *funcs; + int do_GetFunctionList(void); + + int do_digestInit(CK_FUNCTION_LIST * funcs, CK_SLOT_ID slot_id, +diff --git a/testcases/login/init_pin.c b/testcases/login/init_pin.c +index 4b310d48..6cca186d 100644 +--- a/testcases/login/init_pin.c ++++ b/testcases/login/init_pin.c +@@ -21,7 +21,6 @@ + #include "regress.h" + #include "common.c" + +-CK_FUNCTION_LIST *funcs; + int do_GetFunctionList(void); + + int do_InitPIN(CK_FUNCTION_LIST * funcs, CK_SLOT_ID slot_id, char *sologinpass, +diff --git a/testcases/login/init_tok.c b/testcases/login/init_tok.c +index c91fc098..a1703caf 100644 +--- a/testcases/login/init_tok.c ++++ b/testcases/login/init_tok.c +@@ -24,14 +24,11 @@ + #include "regress.h" + #include "common.c" + +-CK_FUNCTION_LIST *funcs; + int do_GetInfo(void); + + CK_RV C_GetFunctionList(CK_FUNCTION_LIST **); + int do_GetFunctionList(void); + +-CK_SLOT_ID SLOT_ID; +- + int do_inittoken(CK_FUNCTION_LIST * funcs, CK_BYTE * sopass) + { + CK_BYTE label[32]; +diff --git a/testcases/login/login.c b/testcases/login/login.c +index 4ebf8667..7de4a079 100644 +--- a/testcases/login/login.c ++++ b/testcases/login/login.c +@@ -20,7 +20,6 @@ + #include "regress.h" + #include "common.c" + +-CK_FUNCTION_LIST *funcs; + int do_GetFunctionList(void); + + int do_LoginLogout(CK_FUNCTION_LIST * funcs, CK_SLOT_ID slot_id, +diff --git a/testcases/login/login_flags.c b/testcases/login/login_flags.c +index 187261a1..5fdd9815 100644 +--- a/testcases/login/login_flags.c ++++ b/testcases/login/login_flags.c +@@ -36,7 +36,6 @@ int do_GetFunctionList(void); + int clean_up(void); + + CK_SLOT_ID slot_id; +-CK_FUNCTION_LIST *funcs; + CK_SESSION_HANDLE session_handle; + CK_SESSION_INFO si; + CK_TOKEN_INFO ti; +diff --git a/testcases/login/set_pin.c b/testcases/login/set_pin.c +index 52bb058c..786ba71d 100644 +--- a/testcases/login/set_pin.c ++++ b/testcases/login/set_pin.c +@@ -22,7 +22,6 @@ + #include "regress.h" + #include "common.c" + +-CK_FUNCTION_LIST *funcs; + int do_GetFunctionList(void); + + int do_SetPIN(CK_FUNCTION_LIST * funcs, CK_SLOT_ID slot_id, +diff --git a/testcases/misc_tests/speed.c b/testcases/misc_tests/speed.c +index 8f71b371..39fdca08 100644 +--- a/testcases/misc_tests/speed.c ++++ b/testcases/misc_tests/speed.c +@@ -67,9 +67,6 @@ static inline unsigned long delta_time_us(struct timeval *t1, + + int do_GetFunctionList(void); + +-CK_FUNCTION_LIST *funcs; +-CK_SLOT_ID SLOT_ID; +- + // keylength: 512, 1024, 2048, 4096 + int do_RSA_PKCS_EncryptDecrypt(int keylength) + { +diff --git a/testcases/misc_tests/threadmkobj.c b/testcases/misc_tests/threadmkobj.c +index e9321ec1..f61bbd0b 100644 +--- a/testcases/misc_tests/threadmkobj.c ++++ b/testcases/misc_tests/threadmkobj.c +@@ -35,10 +35,6 @@ void init_coprocessor(void); + + CK_RV _C_GetFunctionList(CK_FUNCTION_LIST **); + +-CK_FUNCTION_LIST *funcs; +- +-CK_SLOT_ID SLOT_ID; +- + CK_RV open_session_and_login(void) + { + CK_FLAGS flags; +diff --git a/testcases/misc_tests/tok_des.c b/testcases/misc_tests/tok_des.c +index 0d7ed49d..4e7f81d3 100644 +--- a/testcases/misc_tests/tok_des.c ++++ b/testcases/misc_tests/tok_des.c +@@ -27,9 +27,6 @@ + + int do_GetFunctionList(void); + +-CK_FUNCTION_LIST *funcs; +-CK_SLOT_ID SLOT_ID; +- + CK_RV do_VerifyTokenSymKey(CK_SESSION_HANDLE sess, CK_BYTE * label) + { + CK_OBJECT_HANDLE obj_handles[20]; +diff --git a/testcases/misc_tests/tok_obj.c b/testcases/misc_tests/tok_obj.c +index c32fa07e..c6272cc9 100644 +--- a/testcases/misc_tests/tok_obj.c ++++ b/testcases/misc_tests/tok_obj.c +@@ -29,10 +29,6 @@ void init_coprocessor(void); + + CK_RV C_GetFunctionList(CK_FUNCTION_LIST **); + +-CK_FUNCTION_LIST *funcs; +- +-CK_SLOT_ID SLOT_ID; +- + // do_create_token_object() + int do_create_token_object(void) + { +diff --git a/testcases/misc_tests/tok_obj2.c b/testcases/misc_tests/tok_obj2.c +index ad58d7cc..caf2433e 100644 +--- a/testcases/misc_tests/tok_obj2.c ++++ b/testcases/misc_tests/tok_obj2.c +@@ -28,10 +28,6 @@ void init_coprocessor(void); + + CK_RV C_GetFunctionList(CK_FUNCTION_LIST **); + +-CK_FUNCTION_LIST *funcs; +- +-CK_SLOT_ID SLOT_ID; +- + void show_error(CK_BYTE * str, CK_RV rc) + { + printf("%s returned: %ld - %s\n", str, rc, p11_get_ckr(rc)); +diff --git a/testcases/misc_tests/tok_rsa.c b/testcases/misc_tests/tok_rsa.c +index 3cc2bcae..b9d34f8f 100644 +--- a/testcases/misc_tests/tok_rsa.c ++++ b/testcases/misc_tests/tok_rsa.c +@@ -26,8 +26,6 @@ + + int do_GetFunctionList(void); + +-CK_FUNCTION_LIST *funcs; +- + CK_RV do_Cleanup(CK_SESSION_HANDLE sess) + { + CK_RV rv; +diff --git a/testcases/pkcs11/hw_fn.c b/testcases/pkcs11/hw_fn.c +index 21d79d65..b6a79c91 100644 +--- a/testcases/pkcs11/hw_fn.c ++++ b/testcases/pkcs11/hw_fn.c +@@ -34,7 +34,6 @@ int do_GetFunctionList(void); + int clean_up(void); + + CK_SLOT_ID slot_id; +-CK_FUNCTION_LIST *funcs; + CK_SESSION_HANDLE sess; + + /* diff --git a/opencryptoki.spec b/opencryptoki.spec index 86292cf..f8e9da7 100644 --- a/opencryptoki.spec +++ b/opencryptoki.spec @@ -1,7 +1,7 @@ Name: opencryptoki Summary: Implementation of the PKCS#11 (Cryptoki) specification v2.11 Version: 3.12.1 -Release: 2%{?dist} +Release: 3%{?dist} License: CPL URL: https://github.com/opencryptoki/opencryptoki Source0: https://github.com/opencryptoki/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz @@ -11,6 +11,8 @@ Patch0: opencryptoki-3.11.0-group.patch # bz#1373833, change tmpfiles snippets from /var/lock/* to /run/lock/* Patch1: opencryptoki-3.11.0-lockdir.patch +# https://github.com/opencryptoki/opencryptoki/commit/33e58bc69b1c26b20b3c4a2ea6061fe15c5ffbbc +Patch2: opencryptoki-3.12.1-gcc10.patch # Use --no-undefined to debug missing symbols #Patch100: %%{name}-3.2-no-undefined.patch @@ -309,6 +311,9 @@ fi %changelog +* Mon Feb 03 2020 Dan HorĂ¡k - 3.12.1-3 +- fix build with gcc 10 + * Wed Jan 29 2020 Fedora Release Engineering - 3.12.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild