libselinux: use correct definition of ARCH
authorVicente Olivert Riera <Vincent.Riera@imgtec.com>
Wed, 16 Sep 2015 10:10:03 +0000 (11:10 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 16 Sep 2015 20:19:25 +0000 (22:19 +0200)
The Makefile of libselinux performs the following check:

ARCH := $(patsubst i%86,i386,$(shell uname -m))
ifneq (,$(filter i386,$(ARCH)))
TLSFLAGS += -mno-tls-direct-seg-refs
endif

Which means that if the host machine is an x86, then TLSFLAGS will
contain -mno-tls-direct-seg-refs. That command line option causes
libselinux to fail when building it for target architectures where the
compiler doesn't support that option, i.e. MIPS:

mips-img-linux-gnu-gcc: error: unrecognized command line option
‘-mno-tls-direct-seg-refs’

So to fix that problem we can set the ARCH variable to $(KERNEL_ARCH),
and then append it to the LIBSELINUX_MAKE_OPTS.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/libselinux/libselinux.mk

index e6a7c6b6c6dadcdc7cd743906766be739130c2b5..d4b96c47d10107f4babda95d57919aa13df91390 100644 (file)
@@ -15,7 +15,8 @@ LIBSELINUX_INSTALL_STAGING = YES
 
 LIBSELINUX_MAKE_OPTS = \
        $(TARGET_CONFIGURE_OPTS) \
-       LDFLAGS="$(TARGET_LDFLAGS) -lpcre -lpthread"
+       LDFLAGS="$(TARGET_LDFLAGS) -lpcre -lpthread" \
+       ARCH=$(KERNEL_ARCH)
 
 define LIBSELINUX_BUILD_CMDS
        # DESTDIR is needed during the compile to compute library and