All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [git commit branch/2020.02.x] package/libsepol: fix -fno-common build failures
@ 2020-05-10 19:29 Peter Korsgaard
  0 siblings, 0 replies; only message in thread
From: Peter Korsgaard @ 2020-05-10 19:29 UTC (permalink / raw)
  To: buildroot

commit: https://git.buildroot.net/buildroot/commit/?id=8fc8ca203a789583856fa7fb324284ce0e33892e
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/2020.02.x

GCC10 as a host complier has started to trigger these failures

 Add upstream patch for
    libsepol: remove leftovers of cil_mem_error_handler
    libsepol: fix CIL_KEY_* build errors with -fno-common

Fixes:
http://autobuild.buildroot.net/results/1ebeed4bb1b0f5bca493ff687f879367eaeaf868

Cc: Romain Naour <romain.naour@gmail.com>
Cc: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
 ...fix-CIL_KEY_-build-errors-with-fno-common.patch | 525 +++++++++++++++++++++
 ...remove-leftovers-of-cil_mem_error_handler.patch |  63 +++
 2 files changed, 588 insertions(+)

diff --git a/package/libsepol/0002-libsepol-fix-CIL_KEY_-build-errors-with-fno-common.patch b/package/libsepol/0002-libsepol-fix-CIL_KEY_-build-errors-with-fno-common.patch
new file mode 100644
index 0000000000..af13036884
--- /dev/null
+++ b/package/libsepol/0002-libsepol-fix-CIL_KEY_-build-errors-with-fno-common.patch
@@ -0,0 +1,525 @@
+From 6a30b31d31fb175f808ccedec1564943b9e91e78 Mon Sep 17 00:00:00 2001
+From: Ondrej Mosnacek <omosnace@redhat.com>
+Date: Thu, 23 Jan 2020 13:57:13 +0100
+Subject: [PATCH] libsepol: fix CIL_KEY_* build errors with -fno-common
+
+GCC 10 comes with -fno-common enabled by default - fix the CIL_KEY_*
+global variables to be defined only once in cil.c and declared in the
+header file correctly with the 'extern' keyword, so that other units
+including the file don't generate duplicate definitions.
+
+Upstream: https://github.com/SELinuxProject/selinux/commit/a96e8c59ecac84096d870b42701a504791a8cc8c
+
+Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
+Signed-off-by: Matt Weber <matthew.weber@rockwellcollins.com>
+---
+ cil/src/cil.c          | 161 +++++++++++++++++++++
+ cil/src/cil_internal.h | 320 ++++++++++++++++++++---------------------
+ 2 files changed, 321 insertions(+), 160 deletions(-)
+
+diff --git a/cil/src/cil.c b/cil/src/cil.c
+index 2a7ec06..14bd443 100644
+--- a/cil/src/cil.c
++++ b/cil/src/cil.c
+@@ -77,6 +77,167 @@ int cil_sym_sizes[CIL_SYM_ARRAY_NUM][CIL_SYM_NUM] = {
+ 	{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
+ };
+ 
++char *CIL_KEY_CONS_T1;
++char *CIL_KEY_CONS_T2;
++char *CIL_KEY_CONS_T3;
++char *CIL_KEY_CONS_R1;
++char *CIL_KEY_CONS_R2;
++char *CIL_KEY_CONS_R3;
++char *CIL_KEY_CONS_U1;
++char *CIL_KEY_CONS_U2;
++char *CIL_KEY_CONS_U3;
++char *CIL_KEY_CONS_L1;
++char *CIL_KEY_CONS_L2;
++char *CIL_KEY_CONS_H1;
++char *CIL_KEY_CONS_H2;
++char *CIL_KEY_AND;
++char *CIL_KEY_OR;
++char *CIL_KEY_NOT;
++char *CIL_KEY_EQ;
++char *CIL_KEY_NEQ;
++char *CIL_KEY_CONS_DOM;
++char *CIL_KEY_CONS_DOMBY;
++char *CIL_KEY_CONS_INCOMP;
++char *CIL_KEY_CONDTRUE;
++char *CIL_KEY_CONDFALSE;
++char *CIL_KEY_SELF;
++char *CIL_KEY_OBJECT_R;
++char *CIL_KEY_STAR;
++char *CIL_KEY_TCP;
++char *CIL_KEY_UDP;
++char *CIL_KEY_DCCP;
++char *CIL_KEY_SCTP;
++char *CIL_KEY_AUDITALLOW;
++char *CIL_KEY_TUNABLEIF;
++char *CIL_KEY_ALLOW;
++char *CIL_KEY_DONTAUDIT;
++char *CIL_KEY_TYPETRANSITION;
++char *CIL_KEY_TYPECHANGE;
++char *CIL_KEY_CALL;
++char *CIL_KEY_TUNABLE;
++char *CIL_KEY_XOR;
++char *CIL_KEY_ALL;
++char *CIL_KEY_RANGE;
++char *CIL_KEY_GLOB;
++char *CIL_KEY_FILE;
++char *CIL_KEY_DIR;
++char *CIL_KEY_CHAR;
++char *CIL_KEY_BLOCK;
++char *CIL_KEY_SOCKET;
++char *CIL_KEY_PIPE;
++char *CIL_KEY_SYMLINK;
++char *CIL_KEY_ANY;
++char *CIL_KEY_XATTR;
++char *CIL_KEY_TASK;
++char *CIL_KEY_TRANS;
++char *CIL_KEY_TYPE;
++char *CIL_KEY_ROLE;
++char *CIL_KEY_USER;
++char *CIL_KEY_USERATTRIBUTE;
++char *CIL_KEY_USERATTRIBUTESET;
++char *CIL_KEY_SENSITIVITY;
++char *CIL_KEY_CATEGORY;
++char *CIL_KEY_CATSET;
++char *CIL_KEY_LEVEL;
++char *CIL_KEY_LEVELRANGE;
++char *CIL_KEY_CLASS;
++char *CIL_KEY_IPADDR;
++char *CIL_KEY_MAP_CLASS;
++char *CIL_KEY_CLASSPERMISSION;
++char *CIL_KEY_BOOL;
++char *CIL_KEY_STRING;
++char *CIL_KEY_NAME;
++char *CIL_KEY_SOURCE;
++char *CIL_KEY_TARGET;
++char *CIL_KEY_LOW;
++char *CIL_KEY_HIGH;
++char *CIL_KEY_LOW_HIGH;
++char *CIL_KEY_HANDLEUNKNOWN;
++char *CIL_KEY_HANDLEUNKNOWN_ALLOW;
++char *CIL_KEY_HANDLEUNKNOWN_DENY;
++char *CIL_KEY_HANDLEUNKNOWN_REJECT;
++char *CIL_KEY_MACRO;
++char *CIL_KEY_IN;
++char *CIL_KEY_MLS;
++char *CIL_KEY_DEFAULTRANGE;
++char *CIL_KEY_BLOCKINHERIT;
++char *CIL_KEY_BLOCKABSTRACT;
++char *CIL_KEY_CLASSORDER;
++char *CIL_KEY_CLASSMAPPING;
++char *CIL_KEY_CLASSPERMISSIONSET;
++char *CIL_KEY_COMMON;
++char *CIL_KEY_CLASSCOMMON;
++char *CIL_KEY_SID;
++char *CIL_KEY_SIDCONTEXT;
++char *CIL_KEY_SIDORDER;
++char *CIL_KEY_USERLEVEL;
++char *CIL_KEY_USERRANGE;
++char *CIL_KEY_USERBOUNDS;
++char *CIL_KEY_USERPREFIX;
++char *CIL_KEY_SELINUXUSER;
++char *CIL_KEY_SELINUXUSERDEFAULT;
++char *CIL_KEY_TYPEATTRIBUTE;
++char *CIL_KEY_TYPEATTRIBUTESET;
++char *CIL_KEY_EXPANDTYPEATTRIBUTE;
++char *CIL_KEY_TYPEALIAS;
++char *CIL_KEY_TYPEALIASACTUAL;
++char *CIL_KEY_TYPEBOUNDS;
++char *CIL_KEY_TYPEPERMISSIVE;
++char *CIL_KEY_RANGETRANSITION;
++char *CIL_KEY_USERROLE;
++char *CIL_KEY_ROLETYPE;
++char *CIL_KEY_ROLETRANSITION;
++char *CIL_KEY_ROLEALLOW;
++char *CIL_KEY_ROLEATTRIBUTE;
++char *CIL_KEY_ROLEATTRIBUTESET;
++char *CIL_KEY_ROLEBOUNDS;
++char *CIL_KEY_BOOLEANIF;
++char *CIL_KEY_NEVERALLOW;
++char *CIL_KEY_TYPEMEMBER;
++char *CIL_KEY_SENSALIAS;
++char *CIL_KEY_SENSALIASACTUAL;
++char *CIL_KEY_CATALIAS;
++char *CIL_KEY_CATALIASACTUAL;
++char *CIL_KEY_CATORDER;
++char *CIL_KEY_SENSITIVITYORDER;
++char *CIL_KEY_SENSCAT;
++char *CIL_KEY_CONSTRAIN;
++char *CIL_KEY_MLSCONSTRAIN;
++char *CIL_KEY_VALIDATETRANS;
++char *CIL_KEY_MLSVALIDATETRANS;
++char *CIL_KEY_CONTEXT;
++char *CIL_KEY_FILECON;
++char *CIL_KEY_IBPKEYCON;
++char *CIL_KEY_IBENDPORTCON;
++char *CIL_KEY_PORTCON;
++char *CIL_KEY_NODECON;
++char *CIL_KEY_GENFSCON;
++char *CIL_KEY_NETIFCON;
++char *CIL_KEY_PIRQCON;
++char *CIL_KEY_IOMEMCON;
++char *CIL_KEY_IOPORTCON;
++char *CIL_KEY_PCIDEVICECON;
++char *CIL_KEY_DEVICETREECON;
++char *CIL_KEY_FSUSE;
++char *CIL_KEY_POLICYCAP;
++char *CIL_KEY_OPTIONAL;
++char *CIL_KEY_DEFAULTUSER;
++char *CIL_KEY_DEFAULTROLE;
++char *CIL_KEY_DEFAULTTYPE;
++char *CIL_KEY_ROOT;
++char *CIL_KEY_NODE;
++char *CIL_KEY_PERM;
++char *CIL_KEY_ALLOWX;
++char *CIL_KEY_AUDITALLOWX;
++char *CIL_KEY_DONTAUDITX;
++char *CIL_KEY_NEVERALLOWX;
++char *CIL_KEY_PERMISSIONX;
++char *CIL_KEY_IOCTL;
++char *CIL_KEY_UNORDERED;
++char *CIL_KEY_SRC_INFO;
++char *CIL_KEY_SRC_CIL;
++char *CIL_KEY_SRC_HLL;
++
+ static void cil_init_keys(void)
+ {
+ 	/* Initialize CIL Keys into strpool */
+diff --git a/cil/src/cil_internal.h b/cil/src/cil_internal.h
+index 6ff3228..b07c068 100644
+--- a/cil/src/cil_internal.h
++++ b/cil/src/cil_internal.h
+@@ -74,166 +74,166 @@ enum cil_pass {
+ /*
+ 	Keywords
+ */
+-char *CIL_KEY_CONS_T1;
+-char *CIL_KEY_CONS_T2;
+-char *CIL_KEY_CONS_T3;
+-char *CIL_KEY_CONS_R1;
+-char *CIL_KEY_CONS_R2;
+-char *CIL_KEY_CONS_R3;
+-char *CIL_KEY_CONS_U1;
+-char *CIL_KEY_CONS_U2;
+-char *CIL_KEY_CONS_U3;
+-char *CIL_KEY_CONS_L1;
+-char *CIL_KEY_CONS_L2;
+-char *CIL_KEY_CONS_H1;
+-char *CIL_KEY_CONS_H2;
+-char *CIL_KEY_AND;
+-char *CIL_KEY_OR;
+-char *CIL_KEY_NOT;
+-char *CIL_KEY_EQ;
+-char *CIL_KEY_NEQ;
+-char *CIL_KEY_CONS_DOM;
+-char *CIL_KEY_CONS_DOMBY;
+-char *CIL_KEY_CONS_INCOMP;
+-char *CIL_KEY_CONDTRUE;
+-char *CIL_KEY_CONDFALSE;
+-char *CIL_KEY_SELF;
+-char *CIL_KEY_OBJECT_R;
+-char *CIL_KEY_STAR;
+-char *CIL_KEY_TCP;
+-char *CIL_KEY_UDP;
+-char *CIL_KEY_DCCP;
+-char *CIL_KEY_SCTP;
+-char *CIL_KEY_AUDITALLOW;
+-char *CIL_KEY_TUNABLEIF;
+-char *CIL_KEY_ALLOW;
+-char *CIL_KEY_DONTAUDIT;
+-char *CIL_KEY_TYPETRANSITION;
+-char *CIL_KEY_TYPECHANGE;
+-char *CIL_KEY_CALL;
+-char *CIL_KEY_TUNABLE;
+-char *CIL_KEY_XOR;
+-char *CIL_KEY_ALL;
+-char *CIL_KEY_RANGE;
+-char *CIL_KEY_GLOB;
+-char *CIL_KEY_FILE;
+-char *CIL_KEY_DIR;
+-char *CIL_KEY_CHAR;
+-char *CIL_KEY_BLOCK;
+-char *CIL_KEY_SOCKET;
+-char *CIL_KEY_PIPE;
+-char *CIL_KEY_SYMLINK;
+-char *CIL_KEY_ANY;
+-char *CIL_KEY_XATTR;
+-char *CIL_KEY_TASK;
+-char *CIL_KEY_TRANS;
+-char *CIL_KEY_TYPE;
+-char *CIL_KEY_ROLE;
+-char *CIL_KEY_USER;
+-char *CIL_KEY_USERATTRIBUTE;
+-char *CIL_KEY_USERATTRIBUTESET;
+-char *CIL_KEY_SENSITIVITY;
+-char *CIL_KEY_CATEGORY;
+-char *CIL_KEY_CATSET;
+-char *CIL_KEY_LEVEL;
+-char *CIL_KEY_LEVELRANGE;
+-char *CIL_KEY_CLASS;
+-char *CIL_KEY_IPADDR;
+-char *CIL_KEY_MAP_CLASS;
+-char *CIL_KEY_CLASSPERMISSION;
+-char *CIL_KEY_BOOL;
+-char *CIL_KEY_STRING;
+-char *CIL_KEY_NAME;
+-char *CIL_KEY_SOURCE;
+-char *CIL_KEY_TARGET;
+-char *CIL_KEY_LOW;
+-char *CIL_KEY_HIGH;
+-char *CIL_KEY_LOW_HIGH;
+-char *CIL_KEY_HANDLEUNKNOWN;
+-char *CIL_KEY_HANDLEUNKNOWN_ALLOW;
+-char *CIL_KEY_HANDLEUNKNOWN_DENY;
+-char *CIL_KEY_HANDLEUNKNOWN_REJECT;
+-char *CIL_KEY_MACRO;
+-char *CIL_KEY_IN;
+-char *CIL_KEY_MLS;
+-char *CIL_KEY_DEFAULTRANGE;
+-char *CIL_KEY_BLOCKINHERIT;
+-char *CIL_KEY_BLOCKABSTRACT;
+-char *CIL_KEY_CLASSORDER;
+-char *CIL_KEY_CLASSMAPPING;
+-char *CIL_KEY_CLASSPERMISSIONSET;
+-char *CIL_KEY_COMMON;
+-char *CIL_KEY_CLASSCOMMON;
+-char *CIL_KEY_SID;
+-char *CIL_KEY_SIDCONTEXT;
+-char *CIL_KEY_SIDORDER;
+-char *CIL_KEY_USERLEVEL;
+-char *CIL_KEY_USERRANGE;
+-char *CIL_KEY_USERBOUNDS;
+-char *CIL_KEY_USERPREFIX;
+-char *CIL_KEY_SELINUXUSER;
+-char *CIL_KEY_SELINUXUSERDEFAULT;
+-char *CIL_KEY_TYPEATTRIBUTE;
+-char *CIL_KEY_TYPEATTRIBUTESET;
+-char *CIL_KEY_EXPANDTYPEATTRIBUTE;
+-char *CIL_KEY_TYPEALIAS;
+-char *CIL_KEY_TYPEALIASACTUAL;
+-char *CIL_KEY_TYPEBOUNDS;
+-char *CIL_KEY_TYPEPERMISSIVE;
+-char *CIL_KEY_RANGETRANSITION;
+-char *CIL_KEY_USERROLE;
+-char *CIL_KEY_ROLETYPE;
+-char *CIL_KEY_ROLETRANSITION;
+-char *CIL_KEY_ROLEALLOW;
+-char *CIL_KEY_ROLEATTRIBUTE;
+-char *CIL_KEY_ROLEATTRIBUTESET;
+-char *CIL_KEY_ROLEBOUNDS;
+-char *CIL_KEY_BOOLEANIF;
+-char *CIL_KEY_NEVERALLOW;
+-char *CIL_KEY_TYPEMEMBER;
+-char *CIL_KEY_SENSALIAS;
+-char *CIL_KEY_SENSALIASACTUAL;
+-char *CIL_KEY_CATALIAS;
+-char *CIL_KEY_CATALIASACTUAL;
+-char *CIL_KEY_CATORDER;
+-char *CIL_KEY_SENSITIVITYORDER;
+-char *CIL_KEY_SENSCAT;
+-char *CIL_KEY_CONSTRAIN;
+-char *CIL_KEY_MLSCONSTRAIN;
+-char *CIL_KEY_VALIDATETRANS;
+-char *CIL_KEY_MLSVALIDATETRANS;
+-char *CIL_KEY_CONTEXT;
+-char *CIL_KEY_FILECON;
+-char *CIL_KEY_IBPKEYCON;
+-char *CIL_KEY_IBENDPORTCON;
+-char *CIL_KEY_PORTCON;
+-char *CIL_KEY_NODECON;
+-char *CIL_KEY_GENFSCON;
+-char *CIL_KEY_NETIFCON;
+-char *CIL_KEY_PIRQCON;
+-char *CIL_KEY_IOMEMCON;
+-char *CIL_KEY_IOPORTCON;
+-char *CIL_KEY_PCIDEVICECON;
+-char *CIL_KEY_DEVICETREECON;
+-char *CIL_KEY_FSUSE;
+-char *CIL_KEY_POLICYCAP;
+-char *CIL_KEY_OPTIONAL;
+-char *CIL_KEY_DEFAULTUSER;
+-char *CIL_KEY_DEFAULTROLE;
+-char *CIL_KEY_DEFAULTTYPE;
+-char *CIL_KEY_ROOT;
+-char *CIL_KEY_NODE;
+-char *CIL_KEY_PERM;
+-char *CIL_KEY_ALLOWX;
+-char *CIL_KEY_AUDITALLOWX;
+-char *CIL_KEY_DONTAUDITX;
+-char *CIL_KEY_NEVERALLOWX;
+-char *CIL_KEY_PERMISSIONX;
+-char *CIL_KEY_IOCTL;
+-char *CIL_KEY_UNORDERED;
+-char *CIL_KEY_SRC_INFO;
+-char *CIL_KEY_SRC_CIL;
+-char *CIL_KEY_SRC_HLL;
++extern char *CIL_KEY_CONS_T1;
++extern char *CIL_KEY_CONS_T2;
++extern char *CIL_KEY_CONS_T3;
++extern char *CIL_KEY_CONS_R1;
++extern char *CIL_KEY_CONS_R2;
++extern char *CIL_KEY_CONS_R3;
++extern char *CIL_KEY_CONS_U1;
++extern char *CIL_KEY_CONS_U2;
++extern char *CIL_KEY_CONS_U3;
++extern char *CIL_KEY_CONS_L1;
++extern char *CIL_KEY_CONS_L2;
++extern char *CIL_KEY_CONS_H1;
++extern char *CIL_KEY_CONS_H2;
++extern char *CIL_KEY_AND;
++extern char *CIL_KEY_OR;
++extern char *CIL_KEY_NOT;
++extern char *CIL_KEY_EQ;
++extern char *CIL_KEY_NEQ;
++extern char *CIL_KEY_CONS_DOM;
++extern char *CIL_KEY_CONS_DOMBY;
++extern char *CIL_KEY_CONS_INCOMP;
++extern char *CIL_KEY_CONDTRUE;
++extern char *CIL_KEY_CONDFALSE;
++extern char *CIL_KEY_SELF;
++extern char *CIL_KEY_OBJECT_R;
++extern char *CIL_KEY_STAR;
++extern char *CIL_KEY_TCP;
++extern char *CIL_KEY_UDP;
++extern char *CIL_KEY_DCCP;
++extern char *CIL_KEY_SCTP;
++extern char *CIL_KEY_AUDITALLOW;
++extern char *CIL_KEY_TUNABLEIF;
++extern char *CIL_KEY_ALLOW;
++extern char *CIL_KEY_DONTAUDIT;
++extern char *CIL_KEY_TYPETRANSITION;
++extern char *CIL_KEY_TYPECHANGE;
++extern char *CIL_KEY_CALL;
++extern char *CIL_KEY_TUNABLE;
++extern char *CIL_KEY_XOR;
++extern char *CIL_KEY_ALL;
++extern char *CIL_KEY_RANGE;
++extern char *CIL_KEY_GLOB;
++extern char *CIL_KEY_FILE;
++extern char *CIL_KEY_DIR;
++extern char *CIL_KEY_CHAR;
++extern char *CIL_KEY_BLOCK;
++extern char *CIL_KEY_SOCKET;
++extern char *CIL_KEY_PIPE;
++extern char *CIL_KEY_SYMLINK;
++extern char *CIL_KEY_ANY;
++extern char *CIL_KEY_XATTR;
++extern char *CIL_KEY_TASK;
++extern char *CIL_KEY_TRANS;
++extern char *CIL_KEY_TYPE;
++extern char *CIL_KEY_ROLE;
++extern char *CIL_KEY_USER;
++extern char *CIL_KEY_USERATTRIBUTE;
++extern char *CIL_KEY_USERATTRIBUTESET;
++extern char *CIL_KEY_SENSITIVITY;
++extern char *CIL_KEY_CATEGORY;
++extern char *CIL_KEY_CATSET;
++extern char *CIL_KEY_LEVEL;
++extern char *CIL_KEY_LEVELRANGE;
++extern char *CIL_KEY_CLASS;
++extern char *CIL_KEY_IPADDR;
++extern char *CIL_KEY_MAP_CLASS;
++extern char *CIL_KEY_CLASSPERMISSION;
++extern char *CIL_KEY_BOOL;
++extern char *CIL_KEY_STRING;
++extern char *CIL_KEY_NAME;
++extern char *CIL_KEY_SOURCE;
++extern char *CIL_KEY_TARGET;
++extern char *CIL_KEY_LOW;
++extern char *CIL_KEY_HIGH;
++extern char *CIL_KEY_LOW_HIGH;
++extern char *CIL_KEY_HANDLEUNKNOWN;
++extern char *CIL_KEY_HANDLEUNKNOWN_ALLOW;
++extern char *CIL_KEY_HANDLEUNKNOWN_DENY;
++extern char *CIL_KEY_HANDLEUNKNOWN_REJECT;
++extern char *CIL_KEY_MACRO;
++extern char *CIL_KEY_IN;
++extern char *CIL_KEY_MLS;
++extern char *CIL_KEY_DEFAULTRANGE;
++extern char *CIL_KEY_BLOCKINHERIT;
++extern char *CIL_KEY_BLOCKABSTRACT;
++extern char *CIL_KEY_CLASSORDER;
++extern char *CIL_KEY_CLASSMAPPING;
++extern char *CIL_KEY_CLASSPERMISSIONSET;
++extern char *CIL_KEY_COMMON;
++extern char *CIL_KEY_CLASSCOMMON;
++extern char *CIL_KEY_SID;
++extern char *CIL_KEY_SIDCONTEXT;
++extern char *CIL_KEY_SIDORDER;
++extern char *CIL_KEY_USERLEVEL;
++extern char *CIL_KEY_USERRANGE;
++extern char *CIL_KEY_USERBOUNDS;
++extern char *CIL_KEY_USERPREFIX;
++extern char *CIL_KEY_SELINUXUSER;
++extern char *CIL_KEY_SELINUXUSERDEFAULT;
++extern char *CIL_KEY_TYPEATTRIBUTE;
++extern char *CIL_KEY_TYPEATTRIBUTESET;
++extern char *CIL_KEY_EXPANDTYPEATTRIBUTE;
++extern char *CIL_KEY_TYPEALIAS;
++extern char *CIL_KEY_TYPEALIASACTUAL;
++extern char *CIL_KEY_TYPEBOUNDS;
++extern char *CIL_KEY_TYPEPERMISSIVE;
++extern char *CIL_KEY_RANGETRANSITION;
++extern char *CIL_KEY_USERROLE;
++extern char *CIL_KEY_ROLETYPE;
++extern char *CIL_KEY_ROLETRANSITION;
++extern char *CIL_KEY_ROLEALLOW;
++extern char *CIL_KEY_ROLEATTRIBUTE;
++extern char *CIL_KEY_ROLEATTRIBUTESET;
++extern char *CIL_KEY_ROLEBOUNDS;
++extern char *CIL_KEY_BOOLEANIF;
++extern char *CIL_KEY_NEVERALLOW;
++extern char *CIL_KEY_TYPEMEMBER;
++extern char *CIL_KEY_SENSALIAS;
++extern char *CIL_KEY_SENSALIASACTUAL;
++extern char *CIL_KEY_CATALIAS;
++extern char *CIL_KEY_CATALIASACTUAL;
++extern char *CIL_KEY_CATORDER;
++extern char *CIL_KEY_SENSITIVITYORDER;
++extern char *CIL_KEY_SENSCAT;
++extern char *CIL_KEY_CONSTRAIN;
++extern char *CIL_KEY_MLSCONSTRAIN;
++extern char *CIL_KEY_VALIDATETRANS;
++extern char *CIL_KEY_MLSVALIDATETRANS;
++extern char *CIL_KEY_CONTEXT;
++extern char *CIL_KEY_FILECON;
++extern char *CIL_KEY_IBPKEYCON;
++extern char *CIL_KEY_IBENDPORTCON;
++extern char *CIL_KEY_PORTCON;
++extern char *CIL_KEY_NODECON;
++extern char *CIL_KEY_GENFSCON;
++extern char *CIL_KEY_NETIFCON;
++extern char *CIL_KEY_PIRQCON;
++extern char *CIL_KEY_IOMEMCON;
++extern char *CIL_KEY_IOPORTCON;
++extern char *CIL_KEY_PCIDEVICECON;
++extern char *CIL_KEY_DEVICETREECON;
++extern char *CIL_KEY_FSUSE;
++extern char *CIL_KEY_POLICYCAP;
++extern char *CIL_KEY_OPTIONAL;
++extern char *CIL_KEY_DEFAULTUSER;
++extern char *CIL_KEY_DEFAULTROLE;
++extern char *CIL_KEY_DEFAULTTYPE;
++extern char *CIL_KEY_ROOT;
++extern char *CIL_KEY_NODE;
++extern char *CIL_KEY_PERM;
++extern char *CIL_KEY_ALLOWX;
++extern char *CIL_KEY_AUDITALLOWX;
++extern char *CIL_KEY_DONTAUDITX;
++extern char *CIL_KEY_NEVERALLOWX;
++extern char *CIL_KEY_PERMISSIONX;
++extern char *CIL_KEY_IOCTL;
++extern char *CIL_KEY_UNORDERED;
++extern char *CIL_KEY_SRC_INFO;
++extern char *CIL_KEY_SRC_CIL;
++extern char *CIL_KEY_SRC_HLL;
+ 
+ /*
+ 	Symbol Table Array Indices
+-- 
+2.17.1
+
diff --git a/package/libsepol/0003-libsepol-remove-leftovers-of-cil_mem_error_handler.patch b/package/libsepol/0003-libsepol-remove-leftovers-of-cil_mem_error_handler.patch
new file mode 100644
index 0000000000..57ead4d7b4
--- /dev/null
+++ b/package/libsepol/0003-libsepol-remove-leftovers-of-cil_mem_error_handler.patch
@@ -0,0 +1,63 @@
+From 5f5f0dce25d46af57ddabd8713e548480f2460ab Mon Sep 17 00:00:00 2001
+From: Ondrej Mosnacek <omosnace@redhat.com>
+Date: Thu, 23 Jan 2020 13:57:14 +0100
+Subject: [PATCH] libsepol: remove leftovers of cil_mem_error_handler
+
+Commit 4459d635b8f1 ("libsepol: Remove cil_mem_error_handler() function
+pointer") replaced cil_mem_error_handler usage with inline contents of
+the default handler. However, it left over the header declaration and
+two callers. Convert these as well and remove the header declaration.
+
+This also fixes a build failure with -fno-common.
+
+Upstream: https://github.com/SELinuxProject/selinux/commit/3d32fc24d6aff360a538c63dad08ca5c957551b0
+
+Fixes: 4459d635b8f1 ("libsepol: Remove cil_mem_error_handler() function pointer")
+Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
+Signed-off-by: Matt Weber <matthew.weber@rockwellcollins.com>
+---
+ cil/src/cil_mem.h     | 1 -
+ cil/src/cil_strpool.c | 8 ++++----
+ 2 files changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/cil/src/cil_mem.h b/cil/src/cil_mem.h
+index 902ce13..794f02a 100644
+--- a/cil/src/cil_mem.h
++++ b/cil/src/cil_mem.h
+@@ -36,7 +36,6 @@ void *cil_calloc(size_t num_elements, size_t element_size);
+ void *cil_realloc(void *ptr, size_t size);
+ char *cil_strdup(const char *str);
+ int cil_asprintf(char **strp, const char *fmt, ...);
+-void (*cil_mem_error_handler)(void);
+ 
+ #endif /* CIL_MEM_H_ */
+ 
+diff --git a/cil/src/cil_strpool.c b/cil/src/cil_strpool.c
+index 97d4c4b..2598bbf 100644
+--- a/cil/src/cil_strpool.c
++++ b/cil/src/cil_strpool.c
+@@ -80,8 +80,8 @@ char *cil_strpool_add(const char *str)
+ 		int rc = hashtab_insert(cil_strpool_tab, (hashtab_key_t)strpool_ref->str, strpool_ref);
+ 		if (rc != SEPOL_OK) {
+ 			pthread_mutex_unlock(&cil_strpool_mutex);
+-			(*cil_mem_error_handler)();
+-			pthread_mutex_lock(&cil_strpool_mutex);
++			cil_log(CIL_ERR, "Failed to allocate memory\n");
++			exit(1);
+ 		}
+ 	}
+ 
+@@ -104,8 +104,8 @@ void cil_strpool_init(void)
+ 		cil_strpool_tab = hashtab_create(cil_strpool_hash, cil_strpool_compare, CIL_STRPOOL_TABLE_SIZE);
+ 		if (cil_strpool_tab == NULL) {
+ 			pthread_mutex_unlock(&cil_strpool_mutex);
+-			(*cil_mem_error_handler)();
+-			return;
++			cil_log(CIL_ERR, "Failed to allocate memory\n");
++			exit(1);
+ 		}
+ 	}
+ 	cil_strpool_readers++;
+-- 
+2.17.1
+

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2020-05-10 19:29 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-10 19:29 [Buildroot] [git commit branch/2020.02.x] package/libsepol: fix -fno-common build failures Peter Korsgaard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.