* [PATCH 1/8] libsepol/cil: disable symver on Mac builds
@ 2016-10-17 20:24 william.c.roberts
2016-10-17 20:24 ` [PATCH 2/8] libsepol: build on mac william.c.roberts
` (6 more replies)
0 siblings, 7 replies; 15+ messages in thread
From: william.c.roberts @ 2016-10-17 20:24 UTC (permalink / raw)
To: selinux, seandroid-list, sds
From: William Roberts <william.c.roberts@intel.com>
symver does not work on Mac, so like Android, just
disable it.
Signed-off-by: William Roberts <william.c.roberts@intel.com>
---
libsepol/cil/src/dso.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libsepol/cil/src/dso.h b/libsepol/cil/src/dso.h
index a06e349..64a162c 100644
--- a/libsepol/cil/src/dso.h
+++ b/libsepol/cil/src/dso.h
@@ -1,7 +1,7 @@
#ifndef _SEPOL_DSO_H
#define _SEPOL_DSO_H 1
-#if !defined(SHARED) || defined(ANDROID)
+#if !defined(SHARED) || defined(ANDROID) || defined(__APPLE__)
#define DISABLE_SYMVER 1
#endif
--
1.9.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 2/8] libsepol: build on mac
2016-10-17 20:24 [PATCH 1/8] libsepol/cil: disable symver on Mac builds william.c.roberts
@ 2016-10-17 20:24 ` william.c.roberts
2016-10-17 20:24 ` [PATCH 3/8] libselinux: fix mac build warning when ANDROID_HOST=y william.c.roberts
` (5 subsequent siblings)
6 siblings, 0 replies; 15+ messages in thread
From: william.c.roberts @ 2016-10-17 20:24 UTC (permalink / raw)
To: selinux, seandroid-list, sds
From: William Roberts <william.c.roberts@intel.com>
Correct the build issues on mac, mostly flags for tools.
libsepol and cil now build completley on Mac with a
simple make command.
Signed-off-by: William Roberts <william.c.roberts@intel.com>
---
libsepol/src/Makefile | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/libsepol/src/Makefile b/libsepol/src/Makefile
index b0c901f..7856213 100644
--- a/libsepol/src/Makefile
+++ b/libsepol/src/Makefile
@@ -30,6 +30,13 @@ LOBJS += $(sort $(patsubst %.c,%.lo,$(sort $(wildcard $(CILDIR)/src/*.c)) $(CIL_
override CFLAGS += -I$(CILDIR)/include
endif
+LD_SONAME_FLAGS=-soname,$(LIBSO),--version-script=$(LIBMAP),-z,defs
+
+OS := $(shell uname)
+ifeq ($(OS), Darwin)
+LD_SONAME_FLAGS=-install_name,$(LIBSO)
+LDFLAGS += -undefined dynamic_lookup
+endif
all: $(LIBA) $(LIBSO) $(LIBPC)
@@ -39,7 +46,7 @@ $(LIBA): $(OBJS)
$(RANLIB) $@
$(LIBSO): $(LOBJS) $(LIBMAP)
- $(CC) $(CFLAGS) $(LDFLAGS) -shared -o $@ $(LOBJS) -Wl,-soname,$(LIBSO),--version-script=$(LIBMAP),-z,defs
+ $(CC) $(CFLAGS) $(LDFLAGS) -shared -o $@ $(LOBJS) -Wl,$(LD_SONAME_FLAGS)
ln -sf $@ $(TARGET)
$(LIBPC): $(LIBPC).in ../VERSION
--
1.9.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 3/8] libselinux: fix mac build warning when ANDROID_HOST=y
2016-10-17 20:24 [PATCH 1/8] libsepol/cil: disable symver on Mac builds william.c.roberts
2016-10-17 20:24 ` [PATCH 2/8] libsepol: build on mac william.c.roberts
@ 2016-10-17 20:24 ` william.c.roberts
2016-10-17 20:24 ` [PATCH 4/8] libselinux: fix required alignment for sha1.c on mac william.c.roberts
` (4 subsequent siblings)
6 siblings, 0 replies; 15+ messages in thread
From: william.c.roberts @ 2016-10-17 20:24 UTC (permalink / raw)
To: selinux, seandroid-list, sds
From: William Roberts <william.c.roberts@intel.com>
When building on Mac, outside of the Android tree, with ANDROID_HOST=y, this warning
is observed:
label.c:102:9: warning: implicit declaration of function 'fgets_unlocked' is invalid in C99 [-Wimplicit-function-declaration]
while (fgets_unlocked(buf, sizeof(buf) - 1, cfg)) {
Fix it by using the fgets_unlocked define that was introduced for Android, just apply it for mac builds
as well.
Signed-off-by: William Roberts <william.c.roberts@intel.com>
---
libselinux/src/label_internal.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libselinux/src/label_internal.h b/libselinux/src/label_internal.h
index 6a9481a..3d7ff74 100644
--- a/libselinux/src/label_internal.h
+++ b/libselinux/src/label_internal.h
@@ -16,8 +16,8 @@
#include "dso.h"
#include "sha1.h"
-#ifdef ANDROID
-// Android does not have fgets_unlocked()
+#if defined(ANDROID) || defined(__APPLE__)
+// Android and Mac do not have fgets_unlocked()
#define fgets_unlocked(buf, size, fp) fgets(buf, size, fp)
#endif
--
1.9.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 4/8] libselinux: fix required alignment for sha1.c on mac
2016-10-17 20:24 [PATCH 1/8] libsepol/cil: disable symver on Mac builds william.c.roberts
2016-10-17 20:24 ` [PATCH 2/8] libsepol: build on mac william.c.roberts
2016-10-17 20:24 ` [PATCH 3/8] libselinux: fix mac build warning when ANDROID_HOST=y william.c.roberts
@ 2016-10-17 20:24 ` william.c.roberts
2016-10-17 20:24 ` [PATCH 5/8] libselinux/utils: add noreturn to sefcontext_compile william.c.roberts
` (3 subsequent siblings)
6 siblings, 0 replies; 15+ messages in thread
From: william.c.roberts @ 2016-10-17 20:24 UTC (permalink / raw)
To: selinux, seandroid-list, sds
From: William Roberts <william.c.roberts@intel.com>
When building on mac with ANDROID_HOST=y, clang complains:
sha1.c:73:33: error: cast from 'uint8_t *' (aka 'unsigned char *') to 'CHAR64LONG16 *' increases required alignment from 1 to 4 [-Werror,-Wcast-align]
CHAR64LONG16* block = (CHAR64LONG16*) workspace;
Rather then casting the bytearray to the CHAR64LONG16 union,
just create a stack workspace of type CHAR64LONG16.
This will prevent alignment issues with the data accesses.
Signed-off-by: William Roberts <william.c.roberts@intel.com>
---
libselinux/src/sha1.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/libselinux/src/sha1.c b/libselinux/src/sha1.c
index 5f02af8..9bcbb6e 100644
--- a/libselinux/src/sha1.c
+++ b/libselinux/src/sha1.c
@@ -8,8 +8,14 @@
// Modified by WaterJuice retaining Public Domain license.
//
// This is free and unencumbered software released into the public domain - June 2013 waterjuice.org
-// Modified to stop symbols being exported for libselinux shared library - October 2015
+// Modified to:
+// - stop symbols being exported for libselinux shared library - October 2015
// Richard Haines <richard_c_haines@btinternet.com>
+// - Not cast the workspace from a byte array to a CHAR64LONG16 due to allignment isses.
+// Fixes:
+// sha1.c:73:33: error: cast from 'uint8_t *' (aka 'unsigned char *') to 'CHAR64LONG16 *' increases required alignment from 1 to 4 [-Werror,-Wcast-align]
+// CHAR64LONG16* block = (CHAR64LONG16*) workspace;
+// William Roberts <william.c.roberts@intel.com>
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -69,8 +75,8 @@ void
uint32_t c;
uint32_t d;
uint32_t e;
- uint8_t workspace[64];
- CHAR64LONG16* block = (CHAR64LONG16*) workspace;
+ CHAR64LONG16 workspace;
+ CHAR64LONG16* block = &workspace;
memcpy( block, buffer, 64 );
--
1.9.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 5/8] libselinux/utils: add noreturn to sefcontext_compile
2016-10-17 20:24 [PATCH 1/8] libsepol/cil: disable symver on Mac builds william.c.roberts
` (2 preceding siblings ...)
2016-10-17 20:24 ` [PATCH 4/8] libselinux: fix required alignment for sha1.c on mac william.c.roberts
@ 2016-10-17 20:24 ` william.c.roberts
2016-10-17 20:24 ` [PATCH 6/8] libselinux: support ANDROID_HOST=1 on Mac william.c.roberts
` (2 subsequent siblings)
6 siblings, 0 replies; 15+ messages in thread
From: william.c.roberts @ 2016-10-17 20:24 UTC (permalink / raw)
To: selinux, seandroid-list, sds
From: William Roberts <william.c.roberts@intel.com>
When building on mac, one encounters this error:
sefcontext_compile.c:270:1: error: function 'usage' could be declared with attribute 'noreturn' [-Werror,-Wmissing-noreturn]
To correct this, add the attribute noreturn to the function.
Signed-off-by: William Roberts <william.c.roberts@intel.com>
---
libselinux/utils/sefcontext_compile.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libselinux/utils/sefcontext_compile.c b/libselinux/utils/sefcontext_compile.c
index 6b564b4..54600e2 100644
--- a/libselinux/utils/sefcontext_compile.c
+++ b/libselinux/utils/sefcontext_compile.c
@@ -266,7 +266,7 @@ static void free_specs(struct saved_data *data)
memset(data, 0, sizeof(*data));
}
-static void usage(const char *progname)
+static __attribute__ ((__noreturn__)) void usage(const char *progname)
{
fprintf(stderr,
"usage: %s [-o out_file] [-p policy_file] fc_file\n"
--
1.9.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 6/8] libselinux: support ANDROID_HOST=1 on Mac
2016-10-17 20:24 [PATCH 1/8] libsepol/cil: disable symver on Mac builds william.c.roberts
` (3 preceding siblings ...)
2016-10-17 20:24 ` [PATCH 5/8] libselinux/utils: add noreturn to sefcontext_compile william.c.roberts
@ 2016-10-17 20:24 ` william.c.roberts
2016-10-18 12:42 ` Stephen Smalley
2016-11-01 18:06 ` Nicolas Iooss
2016-10-17 20:24 ` [PATCH 7/8] libselinux: DISABLE_BOOL move to include headers william.c.roberts
2016-10-17 20:24 ` [PATCH 8/8] libselinux: add booleans.c to ANDROID_HOST=y recipe william.c.roberts
6 siblings, 2 replies; 15+ messages in thread
From: william.c.roberts @ 2016-10-17 20:24 UTC (permalink / raw)
To: selinux, seandroid-list, sds
From: William Roberts <william.c.roberts@intel.com>
To build on mac, first build libsepol with
DISABLE_CIL=y and no DESTDIR set.
Secondly, build libselinux with ANDROID_HOST=y
This configuration can be used to test the Android
host build on Mac.
Signed-off-by: William Roberts <william.c.roberts@intel.com>
---
libselinux/Makefile | 10 ++++++++++
libselinux/src/Makefile | 36 ++++++++++++++++++++++++++----------
libselinux/utils/Makefile | 29 +++++++++++++++++++++--------
3 files changed, 57 insertions(+), 18 deletions(-)
diff --git a/libselinux/Makefile b/libselinux/Makefile
index baa0db3..ef971f4 100644
--- a/libselinux/Makefile
+++ b/libselinux/Makefile
@@ -27,6 +27,16 @@ else
endif
export PCRE_CFLAGS PCRE_LDFLAGS
+OS := $(shell uname)
+export OS
+
+ifeq ($(shell $(CC) -v 2>&1 | grep "clang"),)
+COMPILER := gcc
+else
+COMPILER := clang
+endif
+export COMPILER
+
all install relabel clean distclean indent:
@for subdir in $(SUBDIRS); do \
(cd $$subdir && $(MAKE) $@) || exit 1; \
diff --git a/libselinux/src/Makefile b/libselinux/src/Makefile
index 13501cd..7a1ae05 100644
--- a/libselinux/src/Makefile
+++ b/libselinux/src/Makefile
@@ -48,23 +48,39 @@ OBJS= $(patsubst %.c,%.o,$(SRCS))
LOBJS= $(patsubst %.c,%.lo,$(SRCS))
CFLAGS ?= -O -Wall -W -Wundef -Wformat-y2k -Wformat-security -Winit-self -Wmissing-include-dirs \
-Wunused -Wunknown-pragmas -Wstrict-aliasing -Wshadow -Wpointer-arith \
- -Wbad-function-cast -Wcast-align -Wwrite-strings -Wlogical-op -Waggregate-return \
+ -Wbad-function-cast -Wcast-align -Wwrite-strings -Waggregate-return \
-Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes \
-Wmissing-declarations -Wmissing-noreturn -Wmissing-format-attribute \
-Wredundant-decls -Wnested-externs -Winline -Winvalid-pch -Wvolatile-register-var \
- -Wdisabled-optimization -Wbuiltin-macro-redefined -Wpacked-bitfield-compat \
- -Wsync-nand -Wattributes -Wcoverage-mismatch -Wmultichar -Wcpp \
+ -Wdisabled-optimization -Wbuiltin-macro-redefined \
+ -Wattributes -Wmultichar \
-Wdeprecated-declarations -Wdiv-by-zero -Wdouble-promotion -Wendif-labels -Wextra \
- -Wformat-contains-nul -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \
- -Wnormalized=nfc -Woverflow -Wpointer-to-int-cast -Wpragmas -Wsuggest-attribute=const \
- -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines \
- -Wno-missing-field-initializers -Wno-sign-compare -Wjump-misses-init \
- -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) -Wp,-D_FORTIFY_SOURCE=2 \
+ -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \
+ -Woverflow -Wpointer-to-int-cast -Wpragmas \
+ -Wno-missing-field-initializers -Wno-sign-compare \
+ -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) \
-fstack-protector-all --param=ssp-buffer-size=4 -fexceptions \
-fasynchronous-unwind-tables -fdiagnostics-show-option -funit-at-a-time \
- -fipa-pure-const -Wno-suggest-attribute=pure -Wno-suggest-attribute=const \
-Werror -Wno-aggregate-return -Wno-redundant-decls
+LD_SONAME_FLAGS=-soname,$(LIBSO),-z,defs,-z,relro
+
+ifeq ($(COMPILER), gcc)
+override CFLAGS += -fipa-pure-const -Wlogical-op -Wpacked-bitfield-compat -Wsync-nand \
+ -Wcoverage-mismatch -Wcpp -Wformat-contains-nul -Wnormalized=nfc -Wsuggest-attribute=const \
+ -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines -Wjump-misses-init \
+ -Wno-suggest-attribute=pure -Wno-suggest-attribute=const -Wp,-D_FORTIFY_SOURCE=2
+else
+override CFLAGS += -Wunused-command-line-argument
+override LDFLAGS += -L/opt/local/lib -undefined dynamic_lookup
+LD_SONAME_FLAGS=-install_name,$(LIBSO)
+endif
+
+ifeq ($(OS), Darwin)
+override CFLAGS += -I/opt/local/include
+override LDFLAGS += -L/opt/local/lib -undefined dynamic_lookup
+endif
+
PCRE_LDFLAGS ?= -lpcre
override CFLAGS += -I../include -I$(INCLUDEDIR) -D_GNU_SOURCE $(DISABLE_FLAGS) $(PCRE_CFLAGS)
@@ -117,7 +133,7 @@ $(LIBA): $(OBJS)
$(RANLIB) $@
$(LIBSO): $(LOBJS)
- $(CC) $(CFLAGS) -shared -o $@ $^ $(PCRE_LDFLAGS) -ldl $(LDFLAGS) -L$(LIBDIR) -Wl,-soname,$(LIBSO),-z,defs,-z,relro
+ $(CC) $(CFLAGS) -shared -o $@ $^ $(PCRE_LDFLAGS) -ldl $(LDFLAGS) -L$(LIBDIR) -Wl,$(LD_SONAME_FLAGS)
ln -sf $@ $(TARGET)
$(LIBPC): $(LIBPC).in ../VERSION
diff --git a/libselinux/utils/Makefile b/libselinux/utils/Makefile
index e56a953..a4f9903 100644
--- a/libselinux/utils/Makefile
+++ b/libselinux/utils/Makefile
@@ -8,22 +8,35 @@ INCLUDEDIR ?= $(PREFIX)/include
MAX_STACK_SIZE=8192
CFLAGS ?= -O -Wall -W -Wundef -Wformat-y2k -Wformat-security -Winit-self -Wmissing-include-dirs \
-Wunused -Wunknown-pragmas -Wstrict-aliasing -Wshadow -Wpointer-arith \
- -Wbad-function-cast -Wcast-align -Wwrite-strings -Wlogical-op -Waggregate-return \
+ -Wbad-function-cast -Wcast-align -Wwrite-strings -Waggregate-return \
-Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes \
-Wmissing-declarations -Wmissing-noreturn -Wmissing-format-attribute \
-Wredundant-decls -Wnested-externs -Winline -Winvalid-pch -Wvolatile-register-var \
- -Wdisabled-optimization -Wbuiltin-macro-redefined -Wpacked-bitfield-compat \
- -Wsync-nand -Wattributes -Wcoverage-mismatch -Wmultichar -Wcpp \
+ -Wdisabled-optimization -Wbuiltin-macro-redefined \
+ -Wattributes -Wmultichar \
-Wdeprecated-declarations -Wdiv-by-zero -Wdouble-promotion -Wendif-labels -Wextra \
- -Wformat-contains-nul -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \
- -Wnormalized=nfc -Woverflow -Wpointer-to-int-cast -Wpragmas -Wsuggest-attribute=const \
- -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines \
- -Wno-missing-field-initializers -Wno-sign-compare -Wjump-misses-init \
+ -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \
+ -Woverflow -Wpointer-to-int-cast -Wpragmas \
+ -Wno-missing-field-initializers -Wno-sign-compare \
-Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) -Wp,-D_FORTIFY_SOURCE=2 \
-fstack-protector-all --param=ssp-buffer-size=4 -fexceptions \
-fasynchronous-unwind-tables -fdiagnostics-show-option -funit-at-a-time \
- -fipa-pure-const -Wno-suggest-attribute=pure -Wno-suggest-attribute=const \
-Werror -Wno-aggregate-return -Wno-redundant-decls
+
+LD_SONAME_FLAGS=-soname,$(LIBSO),-z,defs,-z,relro
+
+ifeq ($(COMPILER), gcc)
+override CFLAGS += -fipa-pure-const -Wpacked-bitfield-compat -Wsync-nand -Wcoverage-mismatch \
+ -Wcpp -Wformat-contains-nul -Wnormalized=nfc -Wsuggest-attribute=const \
+ -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines -Wjump-misses-init \
+ -Wno-suggest-attribute=pure -Wno-suggest-attribute=const
+endif
+
+ifeq ($(OS), Darwin)
+override CFLAGS += -I/opt/local/include -I../../libsepol/include
+override LDFLAGS += -L../../libsepol/src -undefined dynamic_lookup
+endif
+
override CFLAGS += -I../include -I$(INCLUDEDIR) -D_GNU_SOURCE $(DISABLE_FLAGS) $(PCRE_CFLAGS)
LDLIBS += -L../src -lselinux -L$(LIBDIR)
PCRE_LDFLAGS ?= -lpcre
--
1.9.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 7/8] libselinux: DISABLE_BOOL move to include headers
2016-10-17 20:24 [PATCH 1/8] libsepol/cil: disable symver on Mac builds william.c.roberts
` (4 preceding siblings ...)
2016-10-17 20:24 ` [PATCH 6/8] libselinux: support ANDROID_HOST=1 on Mac william.c.roberts
@ 2016-10-17 20:24 ` william.c.roberts
2016-10-17 20:24 ` [PATCH 8/8] libselinux: add booleans.c to ANDROID_HOST=y recipe william.c.roberts
6 siblings, 0 replies; 15+ messages in thread
From: william.c.roberts @ 2016-10-17 20:24 UTC (permalink / raw)
To: selinux, seandroid-list, sds
From: William Roberts <william.c.roberts@intel.com>
Some systems, like Mac, don't have stdio_ext.h. Since we're
building with DISABLE_BOOL=y on Mac, just include the
header files with the DISABLE define, and use the bare
minimum headers for DISABLE_BOOL=y.
Signed-off-by: William Roberts <william.c.roberts@intel.com>
---
libselinux/src/booleans.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/libselinux/src/booleans.c b/libselinux/src/booleans.c
index cbb0610..ba9d934 100644
--- a/libselinux/src/booleans.c
+++ b/libselinux/src/booleans.c
@@ -5,6 +5,8 @@
* Dan Walsh <dwalsh@redhat.com> - Added security_load_booleans().
*/
+#ifndef DISABLE_BOOL
+
#include <assert.h>
#include <sys/types.h>
#include <sys/stat.h>
@@ -25,8 +27,6 @@
#define SELINUX_BOOL_DIR "/booleans/"
-#ifndef DISABLE_BOOL
-
static int filename_select(const struct dirent *d)
{
if (d->d_name[0] == '.'
@@ -561,6 +561,10 @@ int security_load_booleans(char *path)
}
#else
+
+#include <stdlib.h>
+#include "selinux_internal.h"
+
int security_set_boolean_list(size_t boolcnt __attribute__((unused)),
SELboolean * boollist __attribute__((unused)),
int permanent __attribute__((unused)))
--
1.9.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 8/8] libselinux: add booleans.c to ANDROID_HOST=y recipe
2016-10-17 20:24 [PATCH 1/8] libsepol/cil: disable symver on Mac builds william.c.roberts
` (5 preceding siblings ...)
2016-10-17 20:24 ` [PATCH 7/8] libselinux: DISABLE_BOOL move to include headers william.c.roberts
@ 2016-10-17 20:24 ` william.c.roberts
2016-10-18 18:07 ` Stephen Smalley
6 siblings, 1 reply; 15+ messages in thread
From: william.c.roberts @ 2016-10-17 20:24 UTC (permalink / raw)
To: selinux, seandroid-list, sds
From: William Roberts <william.c.roberts@intel.com>
We build booleans.c with DISABLE_BOOL set on Android host
and target. Add that file to the upstream Makefile.
Signed-off-by: William Roberts <william.c.roberts@intel.com>
---
libselinux/src/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libselinux/src/Makefile b/libselinux/src/Makefile
index 7a1ae05..ccd8442 100644
--- a/libselinux/src/Makefile
+++ b/libselinux/src/Makefile
@@ -100,7 +100,7 @@ DISABLE_FLAGS+= -DNO_MEDIA_BACKEND -DNO_DB_BACKEND -DNO_X_BACKEND \
-DBUILD_HOST
SRCS= callbacks.c freecon.c label.c label_file.c \
label_backends_android.c regex.c label_support.c \
- matchpathcon.c setrans_client.c sha1.c
+ matchpathcon.c setrans_client.c sha1.c booleans.c
else
DISABLE_FLAGS+= -DNO_ANDROID_BACKEND
SRCS:= $(filter-out label_backends_android.c, $(SRCS))
--
1.9.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 6/8] libselinux: support ANDROID_HOST=1 on Mac
2016-10-17 20:24 ` [PATCH 6/8] libselinux: support ANDROID_HOST=1 on Mac william.c.roberts
@ 2016-10-18 12:42 ` Stephen Smalley
2016-10-18 12:43 ` William Roberts
2016-11-01 18:06 ` Nicolas Iooss
1 sibling, 1 reply; 15+ messages in thread
From: Stephen Smalley @ 2016-10-18 12:42 UTC (permalink / raw)
To: william.c.roberts, selinux, seandroid-list
On 10/17/2016 04:24 PM, william.c.roberts@intel.com wrote:
> From: William Roberts <william.c.roberts@intel.com>
>
> To build on mac, first build libsepol with
> DISABLE_CIL=y and no DESTDIR set.
DISABLE_CIL=y isn't required after the earlier patches, right?
>
> Secondly, build libselinux with ANDROID_HOST=y
>
> This configuration can be used to test the Android
> host build on Mac.
>
> Signed-off-by: William Roberts <william.c.roberts@intel.com>
> ---
> libselinux/Makefile | 10 ++++++++++
> libselinux/src/Makefile | 36 ++++++++++++++++++++++++++----------
> libselinux/utils/Makefile | 29 +++++++++++++++++++++--------
> 3 files changed, 57 insertions(+), 18 deletions(-)
>
> diff --git a/libselinux/Makefile b/libselinux/Makefile
> index baa0db3..ef971f4 100644
> --- a/libselinux/Makefile
> +++ b/libselinux/Makefile
> @@ -27,6 +27,16 @@ else
> endif
> export PCRE_CFLAGS PCRE_LDFLAGS
>
> +OS := $(shell uname)
> +export OS
> +
> +ifeq ($(shell $(CC) -v 2>&1 | grep "clang"),)
> +COMPILER := gcc
> +else
> +COMPILER := clang
> +endif
> +export COMPILER
> +
> all install relabel clean distclean indent:
> @for subdir in $(SUBDIRS); do \
> (cd $$subdir && $(MAKE) $@) || exit 1; \
> diff --git a/libselinux/src/Makefile b/libselinux/src/Makefile
> index 13501cd..7a1ae05 100644
> --- a/libselinux/src/Makefile
> +++ b/libselinux/src/Makefile
> @@ -48,23 +48,39 @@ OBJS= $(patsubst %.c,%.o,$(SRCS))
> LOBJS= $(patsubst %.c,%.lo,$(SRCS))
> CFLAGS ?= -O -Wall -W -Wundef -Wformat-y2k -Wformat-security -Winit-self -Wmissing-include-dirs \
> -Wunused -Wunknown-pragmas -Wstrict-aliasing -Wshadow -Wpointer-arith \
> - -Wbad-function-cast -Wcast-align -Wwrite-strings -Wlogical-op -Waggregate-return \
> + -Wbad-function-cast -Wcast-align -Wwrite-strings -Waggregate-return \
> -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes \
> -Wmissing-declarations -Wmissing-noreturn -Wmissing-format-attribute \
> -Wredundant-decls -Wnested-externs -Winline -Winvalid-pch -Wvolatile-register-var \
> - -Wdisabled-optimization -Wbuiltin-macro-redefined -Wpacked-bitfield-compat \
> - -Wsync-nand -Wattributes -Wcoverage-mismatch -Wmultichar -Wcpp \
> + -Wdisabled-optimization -Wbuiltin-macro-redefined \
> + -Wattributes -Wmultichar \
> -Wdeprecated-declarations -Wdiv-by-zero -Wdouble-promotion -Wendif-labels -Wextra \
> - -Wformat-contains-nul -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \
> - -Wnormalized=nfc -Woverflow -Wpointer-to-int-cast -Wpragmas -Wsuggest-attribute=const \
> - -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines \
> - -Wno-missing-field-initializers -Wno-sign-compare -Wjump-misses-init \
> - -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) -Wp,-D_FORTIFY_SOURCE=2 \
> + -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \
> + -Woverflow -Wpointer-to-int-cast -Wpragmas \
> + -Wno-missing-field-initializers -Wno-sign-compare \
> + -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) \
> -fstack-protector-all --param=ssp-buffer-size=4 -fexceptions \
> -fasynchronous-unwind-tables -fdiagnostics-show-option -funit-at-a-time \
> - -fipa-pure-const -Wno-suggest-attribute=pure -Wno-suggest-attribute=const \
> -Werror -Wno-aggregate-return -Wno-redundant-decls
>
> +LD_SONAME_FLAGS=-soname,$(LIBSO),-z,defs,-z,relro
> +
> +ifeq ($(COMPILER), gcc)
> +override CFLAGS += -fipa-pure-const -Wlogical-op -Wpacked-bitfield-compat -Wsync-nand \
> + -Wcoverage-mismatch -Wcpp -Wformat-contains-nul -Wnormalized=nfc -Wsuggest-attribute=const \
> + -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines -Wjump-misses-init \
> + -Wno-suggest-attribute=pure -Wno-suggest-attribute=const -Wp,-D_FORTIFY_SOURCE=2
> +else
> +override CFLAGS += -Wunused-command-line-argument
> +override LDFLAGS += -L/opt/local/lib -undefined dynamic_lookup
> +LD_SONAME_FLAGS=-install_name,$(LIBSO)
> +endif
> +
> +ifeq ($(OS), Darwin)
> +override CFLAGS += -I/opt/local/include
> +override LDFLAGS += -L/opt/local/lib -undefined dynamic_lookup
> +endif
> +
> PCRE_LDFLAGS ?= -lpcre
>
> override CFLAGS += -I../include -I$(INCLUDEDIR) -D_GNU_SOURCE $(DISABLE_FLAGS) $(PCRE_CFLAGS)
> @@ -117,7 +133,7 @@ $(LIBA): $(OBJS)
> $(RANLIB) $@
>
> $(LIBSO): $(LOBJS)
> - $(CC) $(CFLAGS) -shared -o $@ $^ $(PCRE_LDFLAGS) -ldl $(LDFLAGS) -L$(LIBDIR) -Wl,-soname,$(LIBSO),-z,defs,-z,relro
> + $(CC) $(CFLAGS) -shared -o $@ $^ $(PCRE_LDFLAGS) -ldl $(LDFLAGS) -L$(LIBDIR) -Wl,$(LD_SONAME_FLAGS)
> ln -sf $@ $(TARGET)
>
> $(LIBPC): $(LIBPC).in ../VERSION
> diff --git a/libselinux/utils/Makefile b/libselinux/utils/Makefile
> index e56a953..a4f9903 100644
> --- a/libselinux/utils/Makefile
> +++ b/libselinux/utils/Makefile
> @@ -8,22 +8,35 @@ INCLUDEDIR ?= $(PREFIX)/include
> MAX_STACK_SIZE=8192
> CFLAGS ?= -O -Wall -W -Wundef -Wformat-y2k -Wformat-security -Winit-self -Wmissing-include-dirs \
> -Wunused -Wunknown-pragmas -Wstrict-aliasing -Wshadow -Wpointer-arith \
> - -Wbad-function-cast -Wcast-align -Wwrite-strings -Wlogical-op -Waggregate-return \
> + -Wbad-function-cast -Wcast-align -Wwrite-strings -Waggregate-return \
> -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes \
> -Wmissing-declarations -Wmissing-noreturn -Wmissing-format-attribute \
> -Wredundant-decls -Wnested-externs -Winline -Winvalid-pch -Wvolatile-register-var \
> - -Wdisabled-optimization -Wbuiltin-macro-redefined -Wpacked-bitfield-compat \
> - -Wsync-nand -Wattributes -Wcoverage-mismatch -Wmultichar -Wcpp \
> + -Wdisabled-optimization -Wbuiltin-macro-redefined \
> + -Wattributes -Wmultichar \
> -Wdeprecated-declarations -Wdiv-by-zero -Wdouble-promotion -Wendif-labels -Wextra \
> - -Wformat-contains-nul -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \
> - -Wnormalized=nfc -Woverflow -Wpointer-to-int-cast -Wpragmas -Wsuggest-attribute=const \
> - -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines \
> - -Wno-missing-field-initializers -Wno-sign-compare -Wjump-misses-init \
> + -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \
> + -Woverflow -Wpointer-to-int-cast -Wpragmas \
> + -Wno-missing-field-initializers -Wno-sign-compare \
> -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) -Wp,-D_FORTIFY_SOURCE=2 \
> -fstack-protector-all --param=ssp-buffer-size=4 -fexceptions \
> -fasynchronous-unwind-tables -fdiagnostics-show-option -funit-at-a-time \
> - -fipa-pure-const -Wno-suggest-attribute=pure -Wno-suggest-attribute=const \
> -Werror -Wno-aggregate-return -Wno-redundant-decls
> +
> +LD_SONAME_FLAGS=-soname,$(LIBSO),-z,defs,-z,relro
> +
> +ifeq ($(COMPILER), gcc)
> +override CFLAGS += -fipa-pure-const -Wpacked-bitfield-compat -Wsync-nand -Wcoverage-mismatch \
> + -Wcpp -Wformat-contains-nul -Wnormalized=nfc -Wsuggest-attribute=const \
> + -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines -Wjump-misses-init \
> + -Wno-suggest-attribute=pure -Wno-suggest-attribute=const
> +endif
> +
> +ifeq ($(OS), Darwin)
> +override CFLAGS += -I/opt/local/include -I../../libsepol/include
> +override LDFLAGS += -L../../libsepol/src -undefined dynamic_lookup
> +endif
> +
> override CFLAGS += -I../include -I$(INCLUDEDIR) -D_GNU_SOURCE $(DISABLE_FLAGS) $(PCRE_CFLAGS)
> LDLIBS += -L../src -lselinux -L$(LIBDIR)
> PCRE_LDFLAGS ?= -lpcre
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 6/8] libselinux: support ANDROID_HOST=1 on Mac
2016-10-18 12:42 ` Stephen Smalley
@ 2016-10-18 12:43 ` William Roberts
0 siblings, 0 replies; 15+ messages in thread
From: William Roberts @ 2016-10-18 12:43 UTC (permalink / raw)
To: Stephen Smalley; +Cc: William Roberts, selinux, seandroid-list
[-- Attachment #1: Type: text/plain, Size: 8636 bytes --]
On Oct 18, 2016 08:41, "Stephen Smalley" <sds@tycho.nsa.gov> wrote:
>
> On 10/17/2016 04:24 PM, william.c.roberts@intel.com wrote:
> > From: William Roberts <william.c.roberts@intel.com>
> >
> > To build on mac, first build libsepol with
> > DISABLE_CIL=y and no DESTDIR set.
>
> DISABLE_CIL=y isn't required after the earlier patches, right?
Correct libsepol builds, I forgot to edit the commit message. I'm flying,
so if that's your only issue could you please rewrite the message?
>
> >
> > Secondly, build libselinux with ANDROID_HOST=y
> >
> > This configuration can be used to test the Android
> > host build on Mac.
> >
> > Signed-off-by: William Roberts <william.c.roberts@intel.com>
> > ---
> > libselinux/Makefile | 10 ++++++++++
> > libselinux/src/Makefile | 36 ++++++++++++++++++++++++++----------
> > libselinux/utils/Makefile | 29 +++++++++++++++++++++--------
> > 3 files changed, 57 insertions(+), 18 deletions(-)
> >
> > diff --git a/libselinux/Makefile b/libselinux/Makefile
> > index baa0db3..ef971f4 100644
> > --- a/libselinux/Makefile
> > +++ b/libselinux/Makefile
> > @@ -27,6 +27,16 @@ else
> > endif
> > export PCRE_CFLAGS PCRE_LDFLAGS
> >
> > +OS := $(shell uname)
> > +export OS
> > +
> > +ifeq ($(shell $(CC) -v 2>&1 | grep "clang"),)
> > +COMPILER := gcc
> > +else
> > +COMPILER := clang
> > +endif
> > +export COMPILER
> > +
> > all install relabel clean distclean indent:
> > @for subdir in $(SUBDIRS); do \
> > (cd $$subdir && $(MAKE) $@) || exit 1; \
> > diff --git a/libselinux/src/Makefile b/libselinux/src/Makefile
> > index 13501cd..7a1ae05 100644
> > --- a/libselinux/src/Makefile
> > +++ b/libselinux/src/Makefile
> > @@ -48,23 +48,39 @@ OBJS= $(patsubst %.c,%.o,$(SRCS))
> > LOBJS= $(patsubst %.c,%.lo,$(SRCS))
> > CFLAGS ?= -O -Wall -W -Wundef -Wformat-y2k -Wformat-security
-Winit-self -Wmissing-include-dirs \
> > -Wunused -Wunknown-pragmas -Wstrict-aliasing -Wshadow
-Wpointer-arith \
> > - -Wbad-function-cast -Wcast-align -Wwrite-strings
-Wlogical-op -Waggregate-return \
> > + -Wbad-function-cast -Wcast-align -Wwrite-strings
-Waggregate-return \
> > -Wstrict-prototypes -Wold-style-definition
-Wmissing-prototypes \
> > -Wmissing-declarations -Wmissing-noreturn
-Wmissing-format-attribute \
> > -Wredundant-decls -Wnested-externs -Winline -Winvalid-pch
-Wvolatile-register-var \
> > - -Wdisabled-optimization -Wbuiltin-macro-redefined
-Wpacked-bitfield-compat \
> > - -Wsync-nand -Wattributes -Wcoverage-mismatch -Wmultichar
-Wcpp \
> > + -Wdisabled-optimization -Wbuiltin-macro-redefined \
> > + -Wattributes -Wmultichar \
> > -Wdeprecated-declarations -Wdiv-by-zero -Wdouble-promotion
-Wendif-labels -Wextra \
> > - -Wformat-contains-nul -Wformat-extra-args
-Wformat-zero-length -Wformat=2 -Wmultichar \
> > - -Wnormalized=nfc -Woverflow -Wpointer-to-int-cast -Wpragmas
-Wsuggest-attribute=const \
> > - -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure
-Wtrampolines \
> > - -Wno-missing-field-initializers -Wno-sign-compare
-Wjump-misses-init \
> > - -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE)
-Wp,-D_FORTIFY_SOURCE=2 \
> > + -Wformat-extra-args -Wformat-zero-length -Wformat=2
-Wmultichar \
> > + -Woverflow -Wpointer-to-int-cast -Wpragmas \
> > + -Wno-missing-field-initializers -Wno-sign-compare \
> > + -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE)
\
> > -fstack-protector-all --param=ssp-buffer-size=4 -fexceptions
\
> > -fasynchronous-unwind-tables -fdiagnostics-show-option
-funit-at-a-time \
> > - -fipa-pure-const -Wno-suggest-attribute=pure
-Wno-suggest-attribute=const \
> > -Werror -Wno-aggregate-return -Wno-redundant-decls
> >
> > +LD_SONAME_FLAGS=-soname,$(LIBSO),-z,defs,-z,relro
> > +
> > +ifeq ($(COMPILER), gcc)
> > +override CFLAGS += -fipa-pure-const -Wlogical-op
-Wpacked-bitfield-compat -Wsync-nand \
> > + -Wcoverage-mismatch -Wcpp -Wformat-contains-nul -Wnormalized=nfc
-Wsuggest-attribute=const \
> > + -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure
-Wtrampolines -Wjump-misses-init \
> > + -Wno-suggest-attribute=pure -Wno-suggest-attribute=const
-Wp,-D_FORTIFY_SOURCE=2
> > +else
> > +override CFLAGS += -Wunused-command-line-argument
> > +override LDFLAGS += -L/opt/local/lib -undefined dynamic_lookup
> > +LD_SONAME_FLAGS=-install_name,$(LIBSO)
> > +endif
> > +
> > +ifeq ($(OS), Darwin)
> > +override CFLAGS += -I/opt/local/include
> > +override LDFLAGS += -L/opt/local/lib -undefined dynamic_lookup
> > +endif
> > +
> > PCRE_LDFLAGS ?= -lpcre
> >
> > override CFLAGS += -I../include -I$(INCLUDEDIR) -D_GNU_SOURCE
$(DISABLE_FLAGS) $(PCRE_CFLAGS)
> > @@ -117,7 +133,7 @@ $(LIBA): $(OBJS)
> > $(RANLIB) $@
> >
> > $(LIBSO): $(LOBJS)
> > - $(CC) $(CFLAGS) -shared -o $@ $^ $(PCRE_LDFLAGS) -ldl $(LDFLAGS)
-L$(LIBDIR) -Wl,-soname,$(LIBSO),-z,defs,-z,relro
> > + $(CC) $(CFLAGS) -shared -o $@ $^ $(PCRE_LDFLAGS) -ldl $(LDFLAGS)
-L$(LIBDIR) -Wl,$(LD_SONAME_FLAGS)
> > ln -sf $@ $(TARGET)
> >
> > $(LIBPC): $(LIBPC).in ../VERSION
> > diff --git a/libselinux/utils/Makefile b/libselinux/utils/Makefile
> > index e56a953..a4f9903 100644
> > --- a/libselinux/utils/Makefile
> > +++ b/libselinux/utils/Makefile
> > @@ -8,22 +8,35 @@ INCLUDEDIR ?= $(PREFIX)/include
> > MAX_STACK_SIZE=8192
> > CFLAGS ?= -O -Wall -W -Wundef -Wformat-y2k -Wformat-security
-Winit-self -Wmissing-include-dirs \
> > -Wunused -Wunknown-pragmas -Wstrict-aliasing -Wshadow
-Wpointer-arith \
> > - -Wbad-function-cast -Wcast-align -Wwrite-strings
-Wlogical-op -Waggregate-return \
> > + -Wbad-function-cast -Wcast-align -Wwrite-strings
-Waggregate-return \
> > -Wstrict-prototypes -Wold-style-definition
-Wmissing-prototypes \
> > -Wmissing-declarations -Wmissing-noreturn
-Wmissing-format-attribute \
> > -Wredundant-decls -Wnested-externs -Winline -Winvalid-pch
-Wvolatile-register-var \
> > - -Wdisabled-optimization -Wbuiltin-macro-redefined
-Wpacked-bitfield-compat \
> > - -Wsync-nand -Wattributes -Wcoverage-mismatch -Wmultichar
-Wcpp \
> > + -Wdisabled-optimization -Wbuiltin-macro-redefined \
> > + -Wattributes -Wmultichar \
> > -Wdeprecated-declarations -Wdiv-by-zero -Wdouble-promotion
-Wendif-labels -Wextra \
> > - -Wformat-contains-nul -Wformat-extra-args
-Wformat-zero-length -Wformat=2 -Wmultichar \
> > - -Wnormalized=nfc -Woverflow -Wpointer-to-int-cast -Wpragmas
-Wsuggest-attribute=const \
> > - -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure
-Wtrampolines \
> > - -Wno-missing-field-initializers -Wno-sign-compare
-Wjump-misses-init \
> > + -Wformat-extra-args -Wformat-zero-length -Wformat=2
-Wmultichar \
> > + -Woverflow -Wpointer-to-int-cast -Wpragmas \
> > + -Wno-missing-field-initializers -Wno-sign-compare \
> > -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE)
-Wp,-D_FORTIFY_SOURCE=2 \
> > -fstack-protector-all --param=ssp-buffer-size=4 -fexceptions
\
> > -fasynchronous-unwind-tables -fdiagnostics-show-option
-funit-at-a-time \
> > - -fipa-pure-const -Wno-suggest-attribute=pure
-Wno-suggest-attribute=const \
> > -Werror -Wno-aggregate-return -Wno-redundant-decls
> > +
> > +LD_SONAME_FLAGS=-soname,$(LIBSO),-z,defs,-z,relro
> > +
> > +ifeq ($(COMPILER), gcc)
> > +override CFLAGS += -fipa-pure-const -Wpacked-bitfield-compat
-Wsync-nand -Wcoverage-mismatch \
> > + -Wcpp -Wformat-contains-nul -Wnormalized=nfc
-Wsuggest-attribute=const \
> > + -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure
-Wtrampolines -Wjump-misses-init \
> > + -Wno-suggest-attribute=pure -Wno-suggest-attribute=const
> > +endif
> > +
> > +ifeq ($(OS), Darwin)
> > +override CFLAGS += -I/opt/local/include -I../../libsepol/include
> > +override LDFLAGS += -L../../libsepol/src -undefined dynamic_lookup
> > +endif
> > +
> > override CFLAGS += -I../include -I$(INCLUDEDIR) -D_GNU_SOURCE
$(DISABLE_FLAGS) $(PCRE_CFLAGS)
> > LDLIBS += -L../src -lselinux -L$(LIBDIR)
> > PCRE_LDFLAGS ?= -lpcre
> >
>
> _______________________________________________
> Seandroid-list mailing list
> Seandroid-list@tycho.nsa.gov
> To unsubscribe, send email to Seandroid-list-leave@tycho.nsa.gov.
> To get help, send an email containing "help" to
Seandroid-list-request@tycho.nsa.gov.
[-- Attachment #2: Type: text/html, Size: 11178 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 8/8] libselinux: add booleans.c to ANDROID_HOST=y recipe
2016-10-17 20:24 ` [PATCH 8/8] libselinux: add booleans.c to ANDROID_HOST=y recipe william.c.roberts
@ 2016-10-18 18:07 ` Stephen Smalley
0 siblings, 0 replies; 15+ messages in thread
From: Stephen Smalley @ 2016-10-18 18:07 UTC (permalink / raw)
To: william.c.roberts, selinux, seandroid-list
On 10/17/2016 04:24 PM, william.c.roberts@intel.com wrote:
> From: William Roberts <william.c.roberts@intel.com>
>
> We build booleans.c with DISABLE_BOOL set on Android host
> and target. Add that file to the upstream Makefile.
>
> Signed-off-by: William Roberts <william.c.roberts@intel.com>
Thanks, applied the series.
> ---
> libselinux/src/Makefile | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libselinux/src/Makefile b/libselinux/src/Makefile
> index 7a1ae05..ccd8442 100644
> --- a/libselinux/src/Makefile
> +++ b/libselinux/src/Makefile
> @@ -100,7 +100,7 @@ DISABLE_FLAGS+= -DNO_MEDIA_BACKEND -DNO_DB_BACKEND -DNO_X_BACKEND \
> -DBUILD_HOST
> SRCS= callbacks.c freecon.c label.c label_file.c \
> label_backends_android.c regex.c label_support.c \
> - matchpathcon.c setrans_client.c sha1.c
> + matchpathcon.c setrans_client.c sha1.c booleans.c
> else
> DISABLE_FLAGS+= -DNO_ANDROID_BACKEND
> SRCS:= $(filter-out label_backends_android.c, $(SRCS))
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 6/8] libselinux: support ANDROID_HOST=1 on Mac
2016-10-17 20:24 ` [PATCH 6/8] libselinux: support ANDROID_HOST=1 on Mac william.c.roberts
2016-10-18 12:42 ` Stephen Smalley
@ 2016-11-01 18:06 ` Nicolas Iooss
2016-11-01 19:48 ` William Roberts
1 sibling, 1 reply; 15+ messages in thread
From: Nicolas Iooss @ 2016-11-01 18:06 UTC (permalink / raw)
To: william.c.roberts, selinux
Hello,
After this commit, libselinux fails to build with clang on Linux:
clang-3.9: warning: argument unused during compilation: '-undefined
dynamic_lookup'
/usr/bin/ld: unrecognised option: -install_name
clang-3.9: error: linker command failed with exit code 1 (use -v to
see invocation)
It seems clang 3.9.0 does not like "-undefined dynamic_lookup" and
binutils 2.27 does not know about "-install_name". Would it be possible
to put the lines which add these two options to the compiler command
lines into a "ifeq ($(OS), Darwin)" block, if they are indeed targeted
to MacOS?
Thanks,
Nicolas
On 17/10/16 22:24, william.c.roberts@intel.com wrote:
> From: William Roberts <william.c.roberts@intel.com>
>
> To build on mac, first build libsepol with
> DISABLE_CIL=y and no DESTDIR set.
>
> Secondly, build libselinux with ANDROID_HOST=y
>
> This configuration can be used to test the Android
> host build on Mac.
>
> Signed-off-by: William Roberts <william.c.roberts@intel.com>
> ---
> libselinux/Makefile | 10 ++++++++++
> libselinux/src/Makefile | 36 ++++++++++++++++++++++++++----------
> libselinux/utils/Makefile | 29 +++++++++++++++++++++--------
> 3 files changed, 57 insertions(+), 18 deletions(-)
>
> diff --git a/libselinux/Makefile b/libselinux/Makefile
> index baa0db3..ef971f4 100644
> --- a/libselinux/Makefile
> +++ b/libselinux/Makefile
> @@ -27,6 +27,16 @@ else
> endif
> export PCRE_CFLAGS PCRE_LDFLAGS
>
> +OS := $(shell uname)
> +export OS
> +
> +ifeq ($(shell $(CC) -v 2>&1 | grep "clang"),)
> +COMPILER := gcc
> +else
> +COMPILER := clang
> +endif
> +export COMPILER
> +
> all install relabel clean distclean indent:
> @for subdir in $(SUBDIRS); do \
> (cd $$subdir && $(MAKE) $@) || exit 1; \
> diff --git a/libselinux/src/Makefile b/libselinux/src/Makefile
> index 13501cd..7a1ae05 100644
> --- a/libselinux/src/Makefile
> +++ b/libselinux/src/Makefile
> @@ -48,23 +48,39 @@ OBJS= $(patsubst %.c,%.o,$(SRCS))
> LOBJS= $(patsubst %.c,%.lo,$(SRCS))
> CFLAGS ?= -O -Wall -W -Wundef -Wformat-y2k -Wformat-security -Winit-self -Wmissing-include-dirs \
> -Wunused -Wunknown-pragmas -Wstrict-aliasing -Wshadow -Wpointer-arith \
> - -Wbad-function-cast -Wcast-align -Wwrite-strings -Wlogical-op -Waggregate-return \
> + -Wbad-function-cast -Wcast-align -Wwrite-strings -Waggregate-return \
> -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes \
> -Wmissing-declarations -Wmissing-noreturn -Wmissing-format-attribute \
> -Wredundant-decls -Wnested-externs -Winline -Winvalid-pch -Wvolatile-register-var \
> - -Wdisabled-optimization -Wbuiltin-macro-redefined -Wpacked-bitfield-compat \
> - -Wsync-nand -Wattributes -Wcoverage-mismatch -Wmultichar -Wcpp \
> + -Wdisabled-optimization -Wbuiltin-macro-redefined \
> + -Wattributes -Wmultichar \
> -Wdeprecated-declarations -Wdiv-by-zero -Wdouble-promotion -Wendif-labels -Wextra \
> - -Wformat-contains-nul -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \
> - -Wnormalized=nfc -Woverflow -Wpointer-to-int-cast -Wpragmas -Wsuggest-attribute=const \
> - -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines \
> - -Wno-missing-field-initializers -Wno-sign-compare -Wjump-misses-init \
> - -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) -Wp,-D_FORTIFY_SOURCE=2 \
> + -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \
> + -Woverflow -Wpointer-to-int-cast -Wpragmas \
> + -Wno-missing-field-initializers -Wno-sign-compare \
> + -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) \
> -fstack-protector-all --param=ssp-buffer-size=4 -fexceptions \
> -fasynchronous-unwind-tables -fdiagnostics-show-option -funit-at-a-time \
> - -fipa-pure-const -Wno-suggest-attribute=pure -Wno-suggest-attribute=const \
> -Werror -Wno-aggregate-return -Wno-redundant-decls
>
> +LD_SONAME_FLAGS=-soname,$(LIBSO),-z,defs,-z,relro
> +
> +ifeq ($(COMPILER), gcc)
> +override CFLAGS += -fipa-pure-const -Wlogical-op -Wpacked-bitfield-compat -Wsync-nand \
> + -Wcoverage-mismatch -Wcpp -Wformat-contains-nul -Wnormalized=nfc -Wsuggest-attribute=const \
> + -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines -Wjump-misses-init \
> + -Wno-suggest-attribute=pure -Wno-suggest-attribute=const -Wp,-D_FORTIFY_SOURCE=2
> +else
> +override CFLAGS += -Wunused-command-line-argument
> +override LDFLAGS += -L/opt/local/lib -undefined dynamic_lookup
> +LD_SONAME_FLAGS=-install_name,$(LIBSO)
> +endif
> +
> +ifeq ($(OS), Darwin)
> +override CFLAGS += -I/opt/local/include
> +override LDFLAGS += -L/opt/local/lib -undefined dynamic_lookup
> +endif
> +
> PCRE_LDFLAGS ?= -lpcre
>
> override CFLAGS += -I../include -I$(INCLUDEDIR) -D_GNU_SOURCE $(DISABLE_FLAGS) $(PCRE_CFLAGS)
> @@ -117,7 +133,7 @@ $(LIBA): $(OBJS)
> $(RANLIB) $@
>
> $(LIBSO): $(LOBJS)
> - $(CC) $(CFLAGS) -shared -o $@ $^ $(PCRE_LDFLAGS) -ldl $(LDFLAGS) -L$(LIBDIR) -Wl,-soname,$(LIBSO),-z,defs,-z,relro
> + $(CC) $(CFLAGS) -shared -o $@ $^ $(PCRE_LDFLAGS) -ldl $(LDFLAGS) -L$(LIBDIR) -Wl,$(LD_SONAME_FLAGS)
> ln -sf $@ $(TARGET)
>
> $(LIBPC): $(LIBPC).in ../VERSION
> diff --git a/libselinux/utils/Makefile b/libselinux/utils/Makefile
> index e56a953..a4f9903 100644
> --- a/libselinux/utils/Makefile
> +++ b/libselinux/utils/Makefile
> @@ -8,22 +8,35 @@ INCLUDEDIR ?= $(PREFIX)/include
> MAX_STACK_SIZE=8192
> CFLAGS ?= -O -Wall -W -Wundef -Wformat-y2k -Wformat-security -Winit-self -Wmissing-include-dirs \
> -Wunused -Wunknown-pragmas -Wstrict-aliasing -Wshadow -Wpointer-arith \
> - -Wbad-function-cast -Wcast-align -Wwrite-strings -Wlogical-op -Waggregate-return \
> + -Wbad-function-cast -Wcast-align -Wwrite-strings -Waggregate-return \
> -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes \
> -Wmissing-declarations -Wmissing-noreturn -Wmissing-format-attribute \
> -Wredundant-decls -Wnested-externs -Winline -Winvalid-pch -Wvolatile-register-var \
> - -Wdisabled-optimization -Wbuiltin-macro-redefined -Wpacked-bitfield-compat \
> - -Wsync-nand -Wattributes -Wcoverage-mismatch -Wmultichar -Wcpp \
> + -Wdisabled-optimization -Wbuiltin-macro-redefined \
> + -Wattributes -Wmultichar \
> -Wdeprecated-declarations -Wdiv-by-zero -Wdouble-promotion -Wendif-labels -Wextra \
> - -Wformat-contains-nul -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \
> - -Wnormalized=nfc -Woverflow -Wpointer-to-int-cast -Wpragmas -Wsuggest-attribute=const \
> - -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines \
> - -Wno-missing-field-initializers -Wno-sign-compare -Wjump-misses-init \
> + -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \
> + -Woverflow -Wpointer-to-int-cast -Wpragmas \
> + -Wno-missing-field-initializers -Wno-sign-compare \
> -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) -Wp,-D_FORTIFY_SOURCE=2 \
> -fstack-protector-all --param=ssp-buffer-size=4 -fexceptions \
> -fasynchronous-unwind-tables -fdiagnostics-show-option -funit-at-a-time \
> - -fipa-pure-const -Wno-suggest-attribute=pure -Wno-suggest-attribute=const \
> -Werror -Wno-aggregate-return -Wno-redundant-decls
> +
> +LD_SONAME_FLAGS=-soname,$(LIBSO),-z,defs,-z,relro
> +
> +ifeq ($(COMPILER), gcc)
> +override CFLAGS += -fipa-pure-const -Wpacked-bitfield-compat -Wsync-nand -Wcoverage-mismatch \
> + -Wcpp -Wformat-contains-nul -Wnormalized=nfc -Wsuggest-attribute=const \
> + -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines -Wjump-misses-init \
> + -Wno-suggest-attribute=pure -Wno-suggest-attribute=const
> +endif
> +
> +ifeq ($(OS), Darwin)
> +override CFLAGS += -I/opt/local/include -I../../libsepol/include
> +override LDFLAGS += -L../../libsepol/src -undefined dynamic_lookup
> +endif
> +
> override CFLAGS += -I../include -I$(INCLUDEDIR) -D_GNU_SOURCE $(DISABLE_FLAGS) $(PCRE_CFLAGS)
> LDLIBS += -L../src -lselinux -L$(LIBDIR)
> PCRE_LDFLAGS ?= -lpcre
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 6/8] libselinux: support ANDROID_HOST=1 on Mac
2016-11-01 18:06 ` Nicolas Iooss
@ 2016-11-01 19:48 ` William Roberts
2016-11-01 20:16 ` William Roberts
0 siblings, 1 reply; 15+ messages in thread
From: William Roberts @ 2016-11-01 19:48 UTC (permalink / raw)
To: Nicolas Iooss; +Cc: William Roberts, selinux
On Tue, Nov 1, 2016 at 11:06 AM, Nicolas Iooss <nicolas.iooss@m4x.org> wrote:
> Hello,
>
> After this commit, libselinux fails to build with clang on Linux:
>
> clang-3.9: warning: argument unused during compilation: '-undefined
> dynamic_lookup'
> /usr/bin/ld: unrecognised option: -install_name
> clang-3.9: error: linker command failed with exit code 1 (use -v to
> see invocation)
>
> It seems clang 3.9.0 does not like "-undefined dynamic_lookup" and
> binutils 2.27 does not know about "-install_name". Would it be possible
> to put the lines which add these two options to the compiler command
> lines into a "ifeq ($(OS), Darwin)" block, if they are indeed targeted
> to MacOS?
I'll look into this, likely needs to be Darwin and clang
>
> Thanks,
> Nicolas
>
> On 17/10/16 22:24, william.c.roberts@intel.com wrote:
>> From: William Roberts <william.c.roberts@intel.com>
>>
>> To build on mac, first build libsepol with
>> DISABLE_CIL=y and no DESTDIR set.
>>
>> Secondly, build libselinux with ANDROID_HOST=y
>>
>> This configuration can be used to test the Android
>> host build on Mac.
>>
>> Signed-off-by: William Roberts <william.c.roberts@intel.com>
>> ---
>> libselinux/Makefile | 10 ++++++++++
>> libselinux/src/Makefile | 36 ++++++++++++++++++++++++++----------
>> libselinux/utils/Makefile | 29 +++++++++++++++++++++--------
>> 3 files changed, 57 insertions(+), 18 deletions(-)
>>
>> diff --git a/libselinux/Makefile b/libselinux/Makefile
>> index baa0db3..ef971f4 100644
>> --- a/libselinux/Makefile
>> +++ b/libselinux/Makefile
>> @@ -27,6 +27,16 @@ else
>> endif
>> export PCRE_CFLAGS PCRE_LDFLAGS
>>
>> +OS := $(shell uname)
>> +export OS
>> +
>> +ifeq ($(shell $(CC) -v 2>&1 | grep "clang"),)
>> +COMPILER := gcc
>> +else
>> +COMPILER := clang
>> +endif
>> +export COMPILER
>> +
>> all install relabel clean distclean indent:
>> @for subdir in $(SUBDIRS); do \
>> (cd $$subdir && $(MAKE) $@) || exit 1; \
>> diff --git a/libselinux/src/Makefile b/libselinux/src/Makefile
>> index 13501cd..7a1ae05 100644
>> --- a/libselinux/src/Makefile
>> +++ b/libselinux/src/Makefile
>> @@ -48,23 +48,39 @@ OBJS= $(patsubst %.c,%.o,$(SRCS))
>> LOBJS= $(patsubst %.c,%.lo,$(SRCS))
>> CFLAGS ?= -O -Wall -W -Wundef -Wformat-y2k -Wformat-security -Winit-self -Wmissing-include-dirs \
>> -Wunused -Wunknown-pragmas -Wstrict-aliasing -Wshadow -Wpointer-arith \
>> - -Wbad-function-cast -Wcast-align -Wwrite-strings -Wlogical-op -Waggregate-return \
>> + -Wbad-function-cast -Wcast-align -Wwrite-strings -Waggregate-return \
>> -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes \
>> -Wmissing-declarations -Wmissing-noreturn -Wmissing-format-attribute \
>> -Wredundant-decls -Wnested-externs -Winline -Winvalid-pch -Wvolatile-register-var \
>> - -Wdisabled-optimization -Wbuiltin-macro-redefined -Wpacked-bitfield-compat \
>> - -Wsync-nand -Wattributes -Wcoverage-mismatch -Wmultichar -Wcpp \
>> + -Wdisabled-optimization -Wbuiltin-macro-redefined \
>> + -Wattributes -Wmultichar \
>> -Wdeprecated-declarations -Wdiv-by-zero -Wdouble-promotion -Wendif-labels -Wextra \
>> - -Wformat-contains-nul -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \
>> - -Wnormalized=nfc -Woverflow -Wpointer-to-int-cast -Wpragmas -Wsuggest-attribute=const \
>> - -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines \
>> - -Wno-missing-field-initializers -Wno-sign-compare -Wjump-misses-init \
>> - -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) -Wp,-D_FORTIFY_SOURCE=2 \
>> + -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \
>> + -Woverflow -Wpointer-to-int-cast -Wpragmas \
>> + -Wno-missing-field-initializers -Wno-sign-compare \
>> + -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) \
>> -fstack-protector-all --param=ssp-buffer-size=4 -fexceptions \
>> -fasynchronous-unwind-tables -fdiagnostics-show-option -funit-at-a-time \
>> - -fipa-pure-const -Wno-suggest-attribute=pure -Wno-suggest-attribute=const \
>> -Werror -Wno-aggregate-return -Wno-redundant-decls
>>
>> +LD_SONAME_FLAGS=-soname,$(LIBSO),-z,defs,-z,relro
>> +
>> +ifeq ($(COMPILER), gcc)
>> +override CFLAGS += -fipa-pure-const -Wlogical-op -Wpacked-bitfield-compat -Wsync-nand \
>> + -Wcoverage-mismatch -Wcpp -Wformat-contains-nul -Wnormalized=nfc -Wsuggest-attribute=const \
>> + -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines -Wjump-misses-init \
>> + -Wno-suggest-attribute=pure -Wno-suggest-attribute=const -Wp,-D_FORTIFY_SOURCE=2
>> +else
>> +override CFLAGS += -Wunused-command-line-argument
>> +override LDFLAGS += -L/opt/local/lib -undefined dynamic_lookup
>> +LD_SONAME_FLAGS=-install_name,$(LIBSO)
>> +endif
>> +
>> +ifeq ($(OS), Darwin)
>> +override CFLAGS += -I/opt/local/include
>> +override LDFLAGS += -L/opt/local/lib -undefined dynamic_lookup
>> +endif
>> +
>> PCRE_LDFLAGS ?= -lpcre
>>
>> override CFLAGS += -I../include -I$(INCLUDEDIR) -D_GNU_SOURCE $(DISABLE_FLAGS) $(PCRE_CFLAGS)
>> @@ -117,7 +133,7 @@ $(LIBA): $(OBJS)
>> $(RANLIB) $@
>>
>> $(LIBSO): $(LOBJS)
>> - $(CC) $(CFLAGS) -shared -o $@ $^ $(PCRE_LDFLAGS) -ldl $(LDFLAGS) -L$(LIBDIR) -Wl,-soname,$(LIBSO),-z,defs,-z,relro
>> + $(CC) $(CFLAGS) -shared -o $@ $^ $(PCRE_LDFLAGS) -ldl $(LDFLAGS) -L$(LIBDIR) -Wl,$(LD_SONAME_FLAGS)
>> ln -sf $@ $(TARGET)
>>
>> $(LIBPC): $(LIBPC).in ../VERSION
>> diff --git a/libselinux/utils/Makefile b/libselinux/utils/Makefile
>> index e56a953..a4f9903 100644
>> --- a/libselinux/utils/Makefile
>> +++ b/libselinux/utils/Makefile
>> @@ -8,22 +8,35 @@ INCLUDEDIR ?= $(PREFIX)/include
>> MAX_STACK_SIZE=8192
>> CFLAGS ?= -O -Wall -W -Wundef -Wformat-y2k -Wformat-security -Winit-self -Wmissing-include-dirs \
>> -Wunused -Wunknown-pragmas -Wstrict-aliasing -Wshadow -Wpointer-arith \
>> - -Wbad-function-cast -Wcast-align -Wwrite-strings -Wlogical-op -Waggregate-return \
>> + -Wbad-function-cast -Wcast-align -Wwrite-strings -Waggregate-return \
>> -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes \
>> -Wmissing-declarations -Wmissing-noreturn -Wmissing-format-attribute \
>> -Wredundant-decls -Wnested-externs -Winline -Winvalid-pch -Wvolatile-register-var \
>> - -Wdisabled-optimization -Wbuiltin-macro-redefined -Wpacked-bitfield-compat \
>> - -Wsync-nand -Wattributes -Wcoverage-mismatch -Wmultichar -Wcpp \
>> + -Wdisabled-optimization -Wbuiltin-macro-redefined \
>> + -Wattributes -Wmultichar \
>> -Wdeprecated-declarations -Wdiv-by-zero -Wdouble-promotion -Wendif-labels -Wextra \
>> - -Wformat-contains-nul -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \
>> - -Wnormalized=nfc -Woverflow -Wpointer-to-int-cast -Wpragmas -Wsuggest-attribute=const \
>> - -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines \
>> - -Wno-missing-field-initializers -Wno-sign-compare -Wjump-misses-init \
>> + -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \
>> + -Woverflow -Wpointer-to-int-cast -Wpragmas \
>> + -Wno-missing-field-initializers -Wno-sign-compare \
>> -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) -Wp,-D_FORTIFY_SOURCE=2 \
>> -fstack-protector-all --param=ssp-buffer-size=4 -fexceptions \
>> -fasynchronous-unwind-tables -fdiagnostics-show-option -funit-at-a-time \
>> - -fipa-pure-const -Wno-suggest-attribute=pure -Wno-suggest-attribute=const \
>> -Werror -Wno-aggregate-return -Wno-redundant-decls
>> +
>> +LD_SONAME_FLAGS=-soname,$(LIBSO),-z,defs,-z,relro
>> +
>> +ifeq ($(COMPILER), gcc)
>> +override CFLAGS += -fipa-pure-const -Wpacked-bitfield-compat -Wsync-nand -Wcoverage-mismatch \
>> + -Wcpp -Wformat-contains-nul -Wnormalized=nfc -Wsuggest-attribute=const \
>> + -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines -Wjump-misses-init \
>> + -Wno-suggest-attribute=pure -Wno-suggest-attribute=const
>> +endif
>> +
>> +ifeq ($(OS), Darwin)
>> +override CFLAGS += -I/opt/local/include -I../../libsepol/include
>> +override LDFLAGS += -L../../libsepol/src -undefined dynamic_lookup
>> +endif
>> +
>> override CFLAGS += -I../include -I$(INCLUDEDIR) -D_GNU_SOURCE $(DISABLE_FLAGS) $(PCRE_CFLAGS)
>> LDLIBS += -L../src -lselinux -L$(LIBDIR)
>> PCRE_LDFLAGS ?= -lpcre
>>
> _______________________________________________
> Selinux mailing list
> Selinux@tycho.nsa.gov
> To unsubscribe, send email to Selinux-leave@tycho.nsa.gov.
> To get help, send an email containing "help" to Selinux-request@tycho.nsa.gov.
--
Respectfully,
William C Roberts
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 6/8] libselinux: support ANDROID_HOST=1 on Mac
2016-11-01 19:48 ` William Roberts
@ 2016-11-01 20:16 ` William Roberts
2016-11-01 21:29 ` Nicolas Iooss
0 siblings, 1 reply; 15+ messages in thread
From: William Roberts @ 2016-11-01 20:16 UTC (permalink / raw)
To: Nicolas Iooss, Stephen Smalley; +Cc: William Roberts, selinux
On the current tip of master, with clang 3.8.0 on my Ubuntu box I get:
avc_internal.c:105:25: error: cast from 'char *' to 'struct nlmsghdr
*' increases required alignment from 1 to 4 [-Werror,-Wcast-align]
struct nlmsghdr *nlh = (struct nlmsghdr *)buf;
^~~~~~~~~~~~~~~~~~~~~~
avc_internal.c:161:25: error: cast from 'char *' to 'struct nlmsghdr
*' increases required alignment from 1 to 4 [-Werror,-Wcast-align]
struct nlmsghdr *nlh = (struct nlmsghdr *)buf;
I'm not sure of the best way to handle that, considering we don't
unsure that buf is bigger than a nlmsghdr...
I'll send a test patch out in bit.
On Tue, Nov 1, 2016 at 12:48 PM, William Roberts
<bill.c.roberts@gmail.com> wrote:
> On Tue, Nov 1, 2016 at 11:06 AM, Nicolas Iooss <nicolas.iooss@m4x.org> wrote:
>> Hello,
>>
>> After this commit, libselinux fails to build with clang on Linux:
>>
>> clang-3.9: warning: argument unused during compilation: '-undefined
>> dynamic_lookup'
>> /usr/bin/ld: unrecognised option: -install_name
>> clang-3.9: error: linker command failed with exit code 1 (use -v to
>> see invocation)
>>
>> It seems clang 3.9.0 does not like "-undefined dynamic_lookup" and
>> binutils 2.27 does not know about "-install_name". Would it be possible
>> to put the lines which add these two options to the compiler command
>> lines into a "ifeq ($(OS), Darwin)" block, if they are indeed targeted
>> to MacOS?
>
> I'll look into this, likely needs to be Darwin and clang
>
>>
>> Thanks,
>> Nicolas
>>
>> On 17/10/16 22:24, william.c.roberts@intel.com wrote:
>>> From: William Roberts <william.c.roberts@intel.com>
>>>
>>> To build on mac, first build libsepol with
>>> DISABLE_CIL=y and no DESTDIR set.
>>>
>>> Secondly, build libselinux with ANDROID_HOST=y
>>>
>>> This configuration can be used to test the Android
>>> host build on Mac.
>>>
>>> Signed-off-by: William Roberts <william.c.roberts@intel.com>
>>> ---
>>> libselinux/Makefile | 10 ++++++++++
>>> libselinux/src/Makefile | 36 ++++++++++++++++++++++++++----------
>>> libselinux/utils/Makefile | 29 +++++++++++++++++++++--------
>>> 3 files changed, 57 insertions(+), 18 deletions(-)
>>>
>>> diff --git a/libselinux/Makefile b/libselinux/Makefile
>>> index baa0db3..ef971f4 100644
>>> --- a/libselinux/Makefile
>>> +++ b/libselinux/Makefile
>>> @@ -27,6 +27,16 @@ else
>>> endif
>>> export PCRE_CFLAGS PCRE_LDFLAGS
>>>
>>> +OS := $(shell uname)
>>> +export OS
>>> +
>>> +ifeq ($(shell $(CC) -v 2>&1 | grep "clang"),)
>>> +COMPILER := gcc
>>> +else
>>> +COMPILER := clang
>>> +endif
>>> +export COMPILER
>>> +
>>> all install relabel clean distclean indent:
>>> @for subdir in $(SUBDIRS); do \
>>> (cd $$subdir && $(MAKE) $@) || exit 1; \
>>> diff --git a/libselinux/src/Makefile b/libselinux/src/Makefile
>>> index 13501cd..7a1ae05 100644
>>> --- a/libselinux/src/Makefile
>>> +++ b/libselinux/src/Makefile
>>> @@ -48,23 +48,39 @@ OBJS= $(patsubst %.c,%.o,$(SRCS))
>>> LOBJS= $(patsubst %.c,%.lo,$(SRCS))
>>> CFLAGS ?= -O -Wall -W -Wundef -Wformat-y2k -Wformat-security -Winit-self -Wmissing-include-dirs \
>>> -Wunused -Wunknown-pragmas -Wstrict-aliasing -Wshadow -Wpointer-arith \
>>> - -Wbad-function-cast -Wcast-align -Wwrite-strings -Wlogical-op -Waggregate-return \
>>> + -Wbad-function-cast -Wcast-align -Wwrite-strings -Waggregate-return \
>>> -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes \
>>> -Wmissing-declarations -Wmissing-noreturn -Wmissing-format-attribute \
>>> -Wredundant-decls -Wnested-externs -Winline -Winvalid-pch -Wvolatile-register-var \
>>> - -Wdisabled-optimization -Wbuiltin-macro-redefined -Wpacked-bitfield-compat \
>>> - -Wsync-nand -Wattributes -Wcoverage-mismatch -Wmultichar -Wcpp \
>>> + -Wdisabled-optimization -Wbuiltin-macro-redefined \
>>> + -Wattributes -Wmultichar \
>>> -Wdeprecated-declarations -Wdiv-by-zero -Wdouble-promotion -Wendif-labels -Wextra \
>>> - -Wformat-contains-nul -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \
>>> - -Wnormalized=nfc -Woverflow -Wpointer-to-int-cast -Wpragmas -Wsuggest-attribute=const \
>>> - -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines \
>>> - -Wno-missing-field-initializers -Wno-sign-compare -Wjump-misses-init \
>>> - -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) -Wp,-D_FORTIFY_SOURCE=2 \
>>> + -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \
>>> + -Woverflow -Wpointer-to-int-cast -Wpragmas \
>>> + -Wno-missing-field-initializers -Wno-sign-compare \
>>> + -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) \
>>> -fstack-protector-all --param=ssp-buffer-size=4 -fexceptions \
>>> -fasynchronous-unwind-tables -fdiagnostics-show-option -funit-at-a-time \
>>> - -fipa-pure-const -Wno-suggest-attribute=pure -Wno-suggest-attribute=const \
>>> -Werror -Wno-aggregate-return -Wno-redundant-decls
>>>
>>> +LD_SONAME_FLAGS=-soname,$(LIBSO),-z,defs,-z,relro
>>> +
>>> +ifeq ($(COMPILER), gcc)
>>> +override CFLAGS += -fipa-pure-const -Wlogical-op -Wpacked-bitfield-compat -Wsync-nand \
>>> + -Wcoverage-mismatch -Wcpp -Wformat-contains-nul -Wnormalized=nfc -Wsuggest-attribute=const \
>>> + -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines -Wjump-misses-init \
>>> + -Wno-suggest-attribute=pure -Wno-suggest-attribute=const -Wp,-D_FORTIFY_SOURCE=2
>>> +else
>>> +override CFLAGS += -Wunused-command-line-argument
>>> +override LDFLAGS += -L/opt/local/lib -undefined dynamic_lookup
>>> +LD_SONAME_FLAGS=-install_name,$(LIBSO)
>>> +endif
>>> +
>>> +ifeq ($(OS), Darwin)
>>> +override CFLAGS += -I/opt/local/include
>>> +override LDFLAGS += -L/opt/local/lib -undefined dynamic_lookup
>>> +endif
>>> +
>>> PCRE_LDFLAGS ?= -lpcre
>>>
>>> override CFLAGS += -I../include -I$(INCLUDEDIR) -D_GNU_SOURCE $(DISABLE_FLAGS) $(PCRE_CFLAGS)
>>> @@ -117,7 +133,7 @@ $(LIBA): $(OBJS)
>>> $(RANLIB) $@
>>>
>>> $(LIBSO): $(LOBJS)
>>> - $(CC) $(CFLAGS) -shared -o $@ $^ $(PCRE_LDFLAGS) -ldl $(LDFLAGS) -L$(LIBDIR) -Wl,-soname,$(LIBSO),-z,defs,-z,relro
>>> + $(CC) $(CFLAGS) -shared -o $@ $^ $(PCRE_LDFLAGS) -ldl $(LDFLAGS) -L$(LIBDIR) -Wl,$(LD_SONAME_FLAGS)
>>> ln -sf $@ $(TARGET)
>>>
>>> $(LIBPC): $(LIBPC).in ../VERSION
>>> diff --git a/libselinux/utils/Makefile b/libselinux/utils/Makefile
>>> index e56a953..a4f9903 100644
>>> --- a/libselinux/utils/Makefile
>>> +++ b/libselinux/utils/Makefile
>>> @@ -8,22 +8,35 @@ INCLUDEDIR ?= $(PREFIX)/include
>>> MAX_STACK_SIZE=8192
>>> CFLAGS ?= -O -Wall -W -Wundef -Wformat-y2k -Wformat-security -Winit-self -Wmissing-include-dirs \
>>> -Wunused -Wunknown-pragmas -Wstrict-aliasing -Wshadow -Wpointer-arith \
>>> - -Wbad-function-cast -Wcast-align -Wwrite-strings -Wlogical-op -Waggregate-return \
>>> + -Wbad-function-cast -Wcast-align -Wwrite-strings -Waggregate-return \
>>> -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes \
>>> -Wmissing-declarations -Wmissing-noreturn -Wmissing-format-attribute \
>>> -Wredundant-decls -Wnested-externs -Winline -Winvalid-pch -Wvolatile-register-var \
>>> - -Wdisabled-optimization -Wbuiltin-macro-redefined -Wpacked-bitfield-compat \
>>> - -Wsync-nand -Wattributes -Wcoverage-mismatch -Wmultichar -Wcpp \
>>> + -Wdisabled-optimization -Wbuiltin-macro-redefined \
>>> + -Wattributes -Wmultichar \
>>> -Wdeprecated-declarations -Wdiv-by-zero -Wdouble-promotion -Wendif-labels -Wextra \
>>> - -Wformat-contains-nul -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \
>>> - -Wnormalized=nfc -Woverflow -Wpointer-to-int-cast -Wpragmas -Wsuggest-attribute=const \
>>> - -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines \
>>> - -Wno-missing-field-initializers -Wno-sign-compare -Wjump-misses-init \
>>> + -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \
>>> + -Woverflow -Wpointer-to-int-cast -Wpragmas \
>>> + -Wno-missing-field-initializers -Wno-sign-compare \
>>> -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) -Wp,-D_FORTIFY_SOURCE=2 \
>>> -fstack-protector-all --param=ssp-buffer-size=4 -fexceptions \
>>> -fasynchronous-unwind-tables -fdiagnostics-show-option -funit-at-a-time \
>>> - -fipa-pure-const -Wno-suggest-attribute=pure -Wno-suggest-attribute=const \
>>> -Werror -Wno-aggregate-return -Wno-redundant-decls
>>> +
>>> +LD_SONAME_FLAGS=-soname,$(LIBSO),-z,defs,-z,relro
>>> +
>>> +ifeq ($(COMPILER), gcc)
>>> +override CFLAGS += -fipa-pure-const -Wpacked-bitfield-compat -Wsync-nand -Wcoverage-mismatch \
>>> + -Wcpp -Wformat-contains-nul -Wnormalized=nfc -Wsuggest-attribute=const \
>>> + -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines -Wjump-misses-init \
>>> + -Wno-suggest-attribute=pure -Wno-suggest-attribute=const
>>> +endif
>>> +
>>> +ifeq ($(OS), Darwin)
>>> +override CFLAGS += -I/opt/local/include -I../../libsepol/include
>>> +override LDFLAGS += -L../../libsepol/src -undefined dynamic_lookup
>>> +endif
>>> +
>>> override CFLAGS += -I../include -I$(INCLUDEDIR) -D_GNU_SOURCE $(DISABLE_FLAGS) $(PCRE_CFLAGS)
>>> LDLIBS += -L../src -lselinux -L$(LIBDIR)
>>> PCRE_LDFLAGS ?= -lpcre
>>>
>> _______________________________________________
>> Selinux mailing list
>> Selinux@tycho.nsa.gov
>> To unsubscribe, send email to Selinux-leave@tycho.nsa.gov.
>> To get help, send an email containing "help" to Selinux-request@tycho.nsa.gov.
>
>
>
> --
> Respectfully,
>
> William C Roberts
--
Respectfully,
William C Roberts
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 6/8] libselinux: support ANDROID_HOST=1 on Mac
2016-11-01 20:16 ` William Roberts
@ 2016-11-01 21:29 ` Nicolas Iooss
0 siblings, 0 replies; 15+ messages in thread
From: Nicolas Iooss @ 2016-11-01 21:29 UTC (permalink / raw)
To: William Roberts, Stephen Smalley; +Cc: William Roberts, selinux
Actually this is the kind of error that clang reports that I find kind
of useless, so I disabled this warning with some other ones in my build
configuration. The full list of warnings I disabled is at the beginning
of https://github.com/fishilico/selinux/blob/master/Makefile.
Also, the last time I tried to compile the Python modules (in
policycoreutils) with CC=clang only, I encountered linking-time issues
which were solved by also defining LDSHARED=clang (I spent some time
figuring out that this variable was needed).
Finally I also have some patches which may fix some issues which I have
not send to the list yet. If you are interested in taking a look to
them, they are on https://github.com/fishilico/selinux/commits/master.
Thanks,
Nicolas
On 01/11/16 21:16, William Roberts wrote:
> On the current tip of master, with clang 3.8.0 on my Ubuntu box I get:
>
> avc_internal.c:105:25: error: cast from 'char *' to 'struct nlmsghdr
> *' increases required alignment from 1 to 4 [-Werror,-Wcast-align]
> struct nlmsghdr *nlh = (struct nlmsghdr *)buf;
> ^~~~~~~~~~~~~~~~~~~~~~
> avc_internal.c:161:25: error: cast from 'char *' to 'struct nlmsghdr
> *' increases required alignment from 1 to 4 [-Werror,-Wcast-align]
> struct nlmsghdr *nlh = (struct nlmsghdr *)buf;
>
>
> I'm not sure of the best way to handle that, considering we don't
> unsure that buf is bigger than a nlmsghdr...
>
> I'll send a test patch out in bit.
>
>
> On Tue, Nov 1, 2016 at 12:48 PM, William Roberts
> <bill.c.roberts@gmail.com> wrote:
>> On Tue, Nov 1, 2016 at 11:06 AM, Nicolas Iooss <nicolas.iooss@m4x.org> wrote:
>>> Hello,
>>>
>>> After this commit, libselinux fails to build with clang on Linux:
>>>
>>> clang-3.9: warning: argument unused during compilation: '-undefined
>>> dynamic_lookup'
>>> /usr/bin/ld: unrecognised option: -install_name
>>> clang-3.9: error: linker command failed with exit code 1 (use -v to
>>> see invocation)
>>>
>>> It seems clang 3.9.0 does not like "-undefined dynamic_lookup" and
>>> binutils 2.27 does not know about "-install_name". Would it be possible
>>> to put the lines which add these two options to the compiler command
>>> lines into a "ifeq ($(OS), Darwin)" block, if they are indeed targeted
>>> to MacOS?
>>
>> I'll look into this, likely needs to be Darwin and clang
>>
>>>
>>> Thanks,
>>> Nicolas
>>>
>>> On 17/10/16 22:24, william.c.roberts@intel.com wrote:
>>>> From: William Roberts <william.c.roberts@intel.com>
>>>>
>>>> To build on mac, first build libsepol with
>>>> DISABLE_CIL=y and no DESTDIR set.
>>>>
>>>> Secondly, build libselinux with ANDROID_HOST=y
>>>>
>>>> This configuration can be used to test the Android
>>>> host build on Mac.
>>>>
>>>> Signed-off-by: William Roberts <william.c.roberts@intel.com>
>>>> ---
>>>> libselinux/Makefile | 10 ++++++++++
>>>> libselinux/src/Makefile | 36 ++++++++++++++++++++++++++----------
>>>> libselinux/utils/Makefile | 29 +++++++++++++++++++++--------
>>>> 3 files changed, 57 insertions(+), 18 deletions(-)
>>>>
>>>> diff --git a/libselinux/Makefile b/libselinux/Makefile
>>>> index baa0db3..ef971f4 100644
>>>> --- a/libselinux/Makefile
>>>> +++ b/libselinux/Makefile
>>>> @@ -27,6 +27,16 @@ else
>>>> endif
>>>> export PCRE_CFLAGS PCRE_LDFLAGS
>>>>
>>>> +OS := $(shell uname)
>>>> +export OS
>>>> +
>>>> +ifeq ($(shell $(CC) -v 2>&1 | grep "clang"),)
>>>> +COMPILER := gcc
>>>> +else
>>>> +COMPILER := clang
>>>> +endif
>>>> +export COMPILER
>>>> +
>>>> all install relabel clean distclean indent:
>>>> @for subdir in $(SUBDIRS); do \
>>>> (cd $$subdir && $(MAKE) $@) || exit 1; \
>>>> diff --git a/libselinux/src/Makefile b/libselinux/src/Makefile
>>>> index 13501cd..7a1ae05 100644
>>>> --- a/libselinux/src/Makefile
>>>> +++ b/libselinux/src/Makefile
>>>> @@ -48,23 +48,39 @@ OBJS= $(patsubst %.c,%.o,$(SRCS))
>>>> LOBJS= $(patsubst %.c,%.lo,$(SRCS))
>>>> CFLAGS ?= -O -Wall -W -Wundef -Wformat-y2k -Wformat-security -Winit-self -Wmissing-include-dirs \
>>>> -Wunused -Wunknown-pragmas -Wstrict-aliasing -Wshadow -Wpointer-arith \
>>>> - -Wbad-function-cast -Wcast-align -Wwrite-strings -Wlogical-op -Waggregate-return \
>>>> + -Wbad-function-cast -Wcast-align -Wwrite-strings -Waggregate-return \
>>>> -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes \
>>>> -Wmissing-declarations -Wmissing-noreturn -Wmissing-format-attribute \
>>>> -Wredundant-decls -Wnested-externs -Winline -Winvalid-pch -Wvolatile-register-var \
>>>> - -Wdisabled-optimization -Wbuiltin-macro-redefined -Wpacked-bitfield-compat \
>>>> - -Wsync-nand -Wattributes -Wcoverage-mismatch -Wmultichar -Wcpp \
>>>> + -Wdisabled-optimization -Wbuiltin-macro-redefined \
>>>> + -Wattributes -Wmultichar \
>>>> -Wdeprecated-declarations -Wdiv-by-zero -Wdouble-promotion -Wendif-labels -Wextra \
>>>> - -Wformat-contains-nul -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \
>>>> - -Wnormalized=nfc -Woverflow -Wpointer-to-int-cast -Wpragmas -Wsuggest-attribute=const \
>>>> - -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines \
>>>> - -Wno-missing-field-initializers -Wno-sign-compare -Wjump-misses-init \
>>>> - -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) -Wp,-D_FORTIFY_SOURCE=2 \
>>>> + -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \
>>>> + -Woverflow -Wpointer-to-int-cast -Wpragmas \
>>>> + -Wno-missing-field-initializers -Wno-sign-compare \
>>>> + -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) \
>>>> -fstack-protector-all --param=ssp-buffer-size=4 -fexceptions \
>>>> -fasynchronous-unwind-tables -fdiagnostics-show-option -funit-at-a-time \
>>>> - -fipa-pure-const -Wno-suggest-attribute=pure -Wno-suggest-attribute=const \
>>>> -Werror -Wno-aggregate-return -Wno-redundant-decls
>>>>
>>>> +LD_SONAME_FLAGS=-soname,$(LIBSO),-z,defs,-z,relro
>>>> +
>>>> +ifeq ($(COMPILER), gcc)
>>>> +override CFLAGS += -fipa-pure-const -Wlogical-op -Wpacked-bitfield-compat -Wsync-nand \
>>>> + -Wcoverage-mismatch -Wcpp -Wformat-contains-nul -Wnormalized=nfc -Wsuggest-attribute=const \
>>>> + -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines -Wjump-misses-init \
>>>> + -Wno-suggest-attribute=pure -Wno-suggest-attribute=const -Wp,-D_FORTIFY_SOURCE=2
>>>> +else
>>>> +override CFLAGS += -Wunused-command-line-argument
>>>> +override LDFLAGS += -L/opt/local/lib -undefined dynamic_lookup
>>>> +LD_SONAME_FLAGS=-install_name,$(LIBSO)
>>>> +endif
>>>> +
>>>> +ifeq ($(OS), Darwin)
>>>> +override CFLAGS += -I/opt/local/include
>>>> +override LDFLAGS += -L/opt/local/lib -undefined dynamic_lookup
>>>> +endif
>>>> +
>>>> PCRE_LDFLAGS ?= -lpcre
>>>>
>>>> override CFLAGS += -I../include -I$(INCLUDEDIR) -D_GNU_SOURCE $(DISABLE_FLAGS) $(PCRE_CFLAGS)
>>>> @@ -117,7 +133,7 @@ $(LIBA): $(OBJS)
>>>> $(RANLIB) $@
>>>>
>>>> $(LIBSO): $(LOBJS)
>>>> - $(CC) $(CFLAGS) -shared -o $@ $^ $(PCRE_LDFLAGS) -ldl $(LDFLAGS) -L$(LIBDIR) -Wl,-soname,$(LIBSO),-z,defs,-z,relro
>>>> + $(CC) $(CFLAGS) -shared -o $@ $^ $(PCRE_LDFLAGS) -ldl $(LDFLAGS) -L$(LIBDIR) -Wl,$(LD_SONAME_FLAGS)
>>>> ln -sf $@ $(TARGET)
>>>>
>>>> $(LIBPC): $(LIBPC).in ../VERSION
>>>> diff --git a/libselinux/utils/Makefile b/libselinux/utils/Makefile
>>>> index e56a953..a4f9903 100644
>>>> --- a/libselinux/utils/Makefile
>>>> +++ b/libselinux/utils/Makefile
>>>> @@ -8,22 +8,35 @@ INCLUDEDIR ?= $(PREFIX)/include
>>>> MAX_STACK_SIZE=8192
>>>> CFLAGS ?= -O -Wall -W -Wundef -Wformat-y2k -Wformat-security -Winit-self -Wmissing-include-dirs \
>>>> -Wunused -Wunknown-pragmas -Wstrict-aliasing -Wshadow -Wpointer-arith \
>>>> - -Wbad-function-cast -Wcast-align -Wwrite-strings -Wlogical-op -Waggregate-return \
>>>> + -Wbad-function-cast -Wcast-align -Wwrite-strings -Waggregate-return \
>>>> -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes \
>>>> -Wmissing-declarations -Wmissing-noreturn -Wmissing-format-attribute \
>>>> -Wredundant-decls -Wnested-externs -Winline -Winvalid-pch -Wvolatile-register-var \
>>>> - -Wdisabled-optimization -Wbuiltin-macro-redefined -Wpacked-bitfield-compat \
>>>> - -Wsync-nand -Wattributes -Wcoverage-mismatch -Wmultichar -Wcpp \
>>>> + -Wdisabled-optimization -Wbuiltin-macro-redefined \
>>>> + -Wattributes -Wmultichar \
>>>> -Wdeprecated-declarations -Wdiv-by-zero -Wdouble-promotion -Wendif-labels -Wextra \
>>>> - -Wformat-contains-nul -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \
>>>> - -Wnormalized=nfc -Woverflow -Wpointer-to-int-cast -Wpragmas -Wsuggest-attribute=const \
>>>> - -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines \
>>>> - -Wno-missing-field-initializers -Wno-sign-compare -Wjump-misses-init \
>>>> + -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar \
>>>> + -Woverflow -Wpointer-to-int-cast -Wpragmas \
>>>> + -Wno-missing-field-initializers -Wno-sign-compare \
>>>> -Wno-format-nonliteral -Wframe-larger-than=$(MAX_STACK_SIZE) -Wp,-D_FORTIFY_SOURCE=2 \
>>>> -fstack-protector-all --param=ssp-buffer-size=4 -fexceptions \
>>>> -fasynchronous-unwind-tables -fdiagnostics-show-option -funit-at-a-time \
>>>> - -fipa-pure-const -Wno-suggest-attribute=pure -Wno-suggest-attribute=const \
>>>> -Werror -Wno-aggregate-return -Wno-redundant-decls
>>>> +
>>>> +LD_SONAME_FLAGS=-soname,$(LIBSO),-z,defs,-z,relro
>>>> +
>>>> +ifeq ($(COMPILER), gcc)
>>>> +override CFLAGS += -fipa-pure-const -Wpacked-bitfield-compat -Wsync-nand -Wcoverage-mismatch \
>>>> + -Wcpp -Wformat-contains-nul -Wnormalized=nfc -Wsuggest-attribute=const \
>>>> + -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines -Wjump-misses-init \
>>>> + -Wno-suggest-attribute=pure -Wno-suggest-attribute=const
>>>> +endif
>>>> +
>>>> +ifeq ($(OS), Darwin)
>>>> +override CFLAGS += -I/opt/local/include -I../../libsepol/include
>>>> +override LDFLAGS += -L../../libsepol/src -undefined dynamic_lookup
>>>> +endif
>>>> +
>>>> override CFLAGS += -I../include -I$(INCLUDEDIR) -D_GNU_SOURCE $(DISABLE_FLAGS) $(PCRE_CFLAGS)
>>>> LDLIBS += -L../src -lselinux -L$(LIBDIR)
>>>> PCRE_LDFLAGS ?= -lpcre
>>>>
>>> _______________________________________________
>>> Selinux mailing list
>>> Selinux@tycho.nsa.gov
>>> To unsubscribe, send email to Selinux-leave@tycho.nsa.gov.
>>> To get help, send an email containing "help" to Selinux-request@tycho.nsa.gov.
>>
>>
>>
>> --
>> Respectfully,
>>
>> William C Roberts
>
>
>
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2016-11-01 21:29 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-17 20:24 [PATCH 1/8] libsepol/cil: disable symver on Mac builds william.c.roberts
2016-10-17 20:24 ` [PATCH 2/8] libsepol: build on mac william.c.roberts
2016-10-17 20:24 ` [PATCH 3/8] libselinux: fix mac build warning when ANDROID_HOST=y william.c.roberts
2016-10-17 20:24 ` [PATCH 4/8] libselinux: fix required alignment for sha1.c on mac william.c.roberts
2016-10-17 20:24 ` [PATCH 5/8] libselinux/utils: add noreturn to sefcontext_compile william.c.roberts
2016-10-17 20:24 ` [PATCH 6/8] libselinux: support ANDROID_HOST=1 on Mac william.c.roberts
2016-10-18 12:42 ` Stephen Smalley
2016-10-18 12:43 ` William Roberts
2016-11-01 18:06 ` Nicolas Iooss
2016-11-01 19:48 ` William Roberts
2016-11-01 20:16 ` William Roberts
2016-11-01 21:29 ` Nicolas Iooss
2016-10-17 20:24 ` [PATCH 7/8] libselinux: DISABLE_BOOL move to include headers william.c.roberts
2016-10-17 20:24 ` [PATCH 8/8] libselinux: add booleans.c to ANDROID_HOST=y recipe william.c.roberts
2016-10-18 18:07 ` Stephen Smalley
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.