[Armadeus-commitlog] armadeus branch, master, updated. armadeus-6.0-450-g156362d70
Brought to you by:
sszy
|
From: Sébastien S. <ss...@us...> - 2018-07-12 06:09:43
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 156362d702c46bbf2b71d7f3df0dc7f3b898b934 (commit)
from 35683c19d44ec88312fdf6a1bebb8b67c8ae6a90 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 156362d702c46bbf2b71d7f3df0dc7f3b898b934
Author: Sébastien Szymanski <seb...@ar...>
Date: Thu Jul 12 08:20:18 2018 +0200
[BUILDROOT] 2017.02.x: patches missing from previous commit
-----------------------------------------------------------------------
Summary of changes:
...ux-fix-passing-of-host-CFLAGS-and-LDFLAGS.patch | 47 ++++++++++++++++
...6-linux-don-t-override-HOSTCC-for-kconfig.patch | 63 ++++++++++++++++++++++
2 files changed, 110 insertions(+)
create mode 100644 patches/buildroot/2017.02/235-linux-fix-passing-of-host-CFLAGS-and-LDFLAGS.patch
create mode 100644 patches/buildroot/2017.02/236-linux-don-t-override-HOSTCC-for-kconfig.patch
diff --git a/patches/buildroot/2017.02/235-linux-fix-passing-of-host-CFLAGS-and-LDFLAGS.patch b/patches/buildroot/2017.02/235-linux-fix-passing-of-host-CFLAGS-and-LDFLAGS.patch
new file mode 100644
index 000000000..535358c65
--- /dev/null
+++ b/patches/buildroot/2017.02/235-linux-fix-passing-of-host-CFLAGS-and-LDFLAGS.patch
@@ -0,0 +1,47 @@
+From dde090c299b0357fdb1a4ec44ad8d332ac57f65e Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <tho...@bo...>
+Date: Sun, 4 Mar 2018 22:31:17 +0100
+Subject: [PATCH] linux: fix passing of host CFLAGS and LDFLAGS
+
+We were passing HOSTCFLAGS="$(HOSTCFLAGS)" to Linux. However:
+
+ - HOSTCFLAGS in Buildroot doesn't exist, and is empty, so this
+ assignment never did anything. The name of the variable in
+ Buildroot in HOST_CFLAGS.
+
+ - HOSTCFLAGS in Linux isn't used everywhere, and passing it overrides
+ the default HOSTCFLAGS value defined in the main Linux kernel
+ Makefile.
+
+In addition, there is no way to pass additional host LDFLAGS in the
+Linux kernel build system.
+
+Therefore, we simply shoehorn our HOST_CFLAGS and HOST_LDFLAGS while
+passing HOSTCC to the Linux kernel build system. This has been tested
+to work fine with host OpenSSL and host libelf only available in
+$(HOST_DIR).
+
+Signed-off-by: Thomas Petazzoni <tho...@bo...>
+Tested-by: Frank Hunleth <fhu...@tr...>
+Signed-off-by: Peter Korsgaard <pe...@ko...>
+---
+ linux/linux.mk | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/linux/linux.mk b/linux/linux.mk
+index ab940e7305..3b69524663 100644
+--- a/linux/linux.mk
++++ b/linux/linux.mk
+@@ -95,8 +95,7 @@ LINUX_EXTRA_DOWNLOADS += $(ARCH_XTENSA_OVERLAY_URL)
+ endif
+
+ LINUX_MAKE_FLAGS = \
+- HOSTCC="$(HOSTCC)" \
+- HOSTCFLAGS="$(HOSTCFLAGS)" \
++ HOSTCC="$(HOSTCC) $(HOST_CFLAGS) $(HOST_LDFLAGS)" \
+ ARCH=$(KERNEL_ARCH) \
+ INSTALL_MOD_PATH=$(TARGET_DIR) \
+ CROSS_COMPILE="$(TARGET_CROSS)" \
+--
+2.16.4
+
diff --git a/patches/buildroot/2017.02/236-linux-don-t-override-HOSTCC-for-kconfig.patch b/patches/buildroot/2017.02/236-linux-don-t-override-HOSTCC-for-kconfig.patch
new file mode 100644
index 000000000..65d1f77a6
--- /dev/null
+++ b/patches/buildroot/2017.02/236-linux-don-t-override-HOSTCC-for-kconfig.patch
@@ -0,0 +1,63 @@
+From 6d3d09e23213e88c14f2ddc883700499315a41bc Mon Sep 17 00:00:00 2001
+From: "Arnout Vandecappelle (Essensium/Mind)" <ar...@mi...>
+Date: Thu, 17 May 2018 14:39:21 +0200
+Subject: [PATCH] linux: don't override HOSTCC for kconfig
+
+Kconfig uses either pkg-config or hard-coded /usr/include paths to find
+the ncurses or ncursesw library. If ncursesw is found, it will include
+<ncursesw.h>. Since Buildroot's host-ncurses doesn't install a .pc file,
+and linux.mk anyway doesn't pass the pkg-config options to find the host
+pkg-config files, Kconfig will always find the system's ncursesw.h.
+
+However, since commit dde090c299 (linux: fix passing of host CFLAGS and
+LDFLAGS) HOST_LDFLAGS is passed to the linux build system. Thus, if
+host-ncurses was already built before 'make linux-menuconfig' is called,
+the build will pick up libncurses from the host directory, which is NOT
+widechar. Thus, two different ncurses configurations are mixed into the
+final mconf program. This will result in serious breakage in the
+rendering of the menus (lots of @ and question mark characters).
+
+As a workaround (suggested by Yann), don't pass HOST_CFLAGS and
+HOST_LDFLAGS when running kconfig commands. For kconfig, we should never
+need host packages anyway. This way, the kconfig calls will always use
+the system's ncurses and never our host-ncurses.
+
+Note that the same problem could pop up for other kconfig packages as
+well if we ever pass HOST_CFLAGS/HOST_LDFLAGS to them. We could force
+HOSTCC=$(HOSTCC) directly in kconfig-package. However, for now there
+are no other packages that exhibit this problem, so this can be
+revisited when they do.
+
+Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <ar...@mi...>
+Cc: David De Grave <dav...@es...>
+Cc: Scott Fan <fan...@gm...>
+Cc: Yann E. MORIN <yan...@fr...>
+Tested-by: Matt Weber <mat...@ro...>
+Signed-off-by: Thomas Petazzoni <tho...@bo...>
+---
+ linux/linux.mk | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/linux/linux.mk b/linux/linux.mk
+index b6b91391b6..6b5f5344ed 100644
+--- a/linux/linux.mk
++++ b/linux/linux.mk
+@@ -235,7 +235,14 @@ LINUX_KCONFIG_FILE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE))
+ endif
+ LINUX_KCONFIG_FRAGMENT_FILES = $(call qstrip,$(BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES))
+ LINUX_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig
+-LINUX_KCONFIG_OPTS = $(LINUX_MAKE_FLAGS)
++
++# LINUX_MAKE_FLAGS overrides HOSTCC to allow the kernel build to find our
++# host-openssl and host-libelf. However, this triggers a bug in the kconfig
++# build script that causes it to build with /usr/include/ncurses.h (which is
++# typically wchar) but link with $(HOST_DIR)/lib/libncurses.so (which is not).
++# We don't actually need any host-package for kconfig, so remove the HOSTCC
++# override again.
++LINUX_KCONFIG_OPTS = $(LINUX_MAKE_FLAGS) HOSTCC="$(HOSTCC)"
+
+ # If no package has yet set it, set it from the Kconfig option
+ LINUX_NEEDS_MODULES ?= $(BR2_LINUX_NEEDS_MODULES)
+--
+2.16.4
+
hooks/post-receive
--
armadeus
|