mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-30 22:11:59 -09:00
support/kconfig: apply upstream nconfig ncurses/ncursesw fix
Buildroot's "make nconfig" command stopped working a while ago on
Gentoo systems. Running the command would result in a crash.
The issue is caused by lxdialog's cflags which are also used to build
nconfig; It would detect *ncursesw* and turn on WIDECHAR support --
but the Makefile would still link to plain *ncurses* while building
nconfig (which was built without WIDECHAR support).
This would cause a crash after using *wattrset* on a WINDOW instance.
WIDECHAR *wattrset* would try to set the _color member in the WINDOW
struct which does not exist in the NON-WIDECHAR ncurses instance. It
would end up clobbering data outside the struct (usually _line entries).
An upstream patch fixes the issue, so we're applying it to Buildroot's
kconfig.
Signed-off-by: Guillermo A. Amaral <g@maral.me>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(cherry picked from commit 8aa4ee2b02)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
committed by
Peter Korsgaard
parent
4c2d473780
commit
3e0fae4fd2
@@ -220,7 +220,8 @@ HOSTCFLAGS_gconf.o = `pkg-config --cflags gtk+-2.0 gmodule-2.0 libglade-2.0` \
|
|||||||
HOSTLOADLIBES_mconf = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))
|
HOSTLOADLIBES_mconf = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))
|
||||||
|
|
||||||
HOSTLOADLIBES_nconf = $(shell \
|
HOSTLOADLIBES_nconf = $(shell \
|
||||||
pkg-config --libs menu panel ncurses 2>/dev/null \
|
pkg-config --libs menuw panelw ncursesw 2>/dev/null \
|
||||||
|
|| pkg-config --libs menu panel ncurses 2>/dev/null \
|
||||||
|| echo "-lmenu -lpanel -lncurses" )
|
|| echo "-lmenu -lpanel -lncurses" )
|
||||||
$(obj)/qconf.o: $(obj)/.tmp_qtcheck
|
$(obj)/qconf.o: $(obj)/.tmp_qtcheck
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,45 @@
|
|||||||
|
From 7285996aa0006d671bb01f0d35991d254b2b2b01 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Brian Norris <computersforpeace@gmail.com>
|
||||||
|
Date: Wed, 4 Jun 2014 00:52:31 -0700
|
||||||
|
Subject: kconfig: nconfig: fix multi-byte UTF handling
|
||||||
|
|
||||||
|
Currently, Kconfig descriptions that use multi-byte UTF-8 characters
|
||||||
|
(such as MTD_NAND_CAFE) will have their menu entries dropped from the
|
||||||
|
'make nconfig' ncurses menu, and all subsequent entries in the same
|
||||||
|
window will be omitted. This seems to be due to the ncurses 'menu'
|
||||||
|
library, which does not traditionally handle UTF-8 >8-bit characters
|
||||||
|
properly.
|
||||||
|
|
||||||
|
The ncursesw library ('w' is for "wide") is written to handle these
|
||||||
|
UTF-8 characters, and is practically a drop-in replacement at the source
|
||||||
|
level. Use it by default, if available.
|
||||||
|
|
||||||
|
Link: https://bugzilla.kernel.org/show_bug.cgi?id=43067
|
||||||
|
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
|
||||||
|
Cc: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||||
|
Cc: Martin Walch <walch.martin@web.de>
|
||||||
|
Acked-by: Sam Ravnborg <sam@ravnborg.org>
|
||||||
|
Signed-off-by: Michal Marek <mmarek@suse.cz>
|
||||||
|
---
|
||||||
|
scripts/kconfig/Makefile | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
(limited to 'scripts/kconfig/Makefile')
|
||||||
|
|
||||||
|
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
|
||||||
|
index e7bf38e..c059385 100644
|
||||||
|
--- a/scripts/kconfig/Makefile
|
||||||
|
+++ b/scripts/kconfig/Makefile
|
||||||
|
@@ -191,7 +191,8 @@ HOSTCFLAGS_gconf.o = `pkg-config --cflags gtk+-2.0 gmodule-2.0 libglade-2.0` \
|
||||||
|
HOSTLOADLIBES_mconf = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))
|
||||||
|
|
||||||
|
HOSTLOADLIBES_nconf = $(shell \
|
||||||
|
- pkg-config --libs menu panel ncurses 2>/dev/null \
|
||||||
|
+ pkg-config --libs menuw panelw ncursesw 2>/dev/null \
|
||||||
|
+ || pkg-config --libs menu panel ncurses 2>/dev/null \
|
||||||
|
|| echo "-lmenu -lpanel -lncurses" )
|
||||||
|
$(obj)/qconf.o: $(obj)/.tmp_qtcheck
|
||||||
|
|
||||||
|
--
|
||||||
|
cgit v1.1
|
||||||
|
|
||||||
@@ -7,3 +7,4 @@
|
|||||||
15-fix-qconf-moc-rule.patch
|
15-fix-qconf-moc-rule.patch
|
||||||
16-fix-space-to-de-select-options.patch
|
16-fix-space-to-de-select-options.patch
|
||||||
17-kconfig-lxdialog-get-ncurses-CFLAGS-with-pkg-config.patch
|
17-kconfig-lxdialog-get-ncurses-CFLAGS-with-pkg-config.patch
|
||||||
|
18-kconfig-nconfig-fix-multi-byte-UTF-handling.patch
|
||||||
|
|||||||
Reference in New Issue
Block a user