summaryrefslogtreecommitdiffstats
path: root/patches/02_fix-mconf-linking.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/02_fix-mconf-linking.patch')
-rw-r--r--patches/02_fix-mconf-linking.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/patches/02_fix-mconf-linking.patch b/patches/02_fix-mconf-linking.patch
new file mode 100644
index 0000000..4549fde
--- /dev/null
+++ b/patches/02_fix-mconf-linking.patch
@@ -0,0 +1,30 @@
+Author: "P. J. McDermott" <pj@pehjota.net>
+Subject: Fix mconf linking
+
+Recent versions of GNU ld no longer resolve references to symbols in implicitly
+linked shared objects.
+
+The object "scripts/kconfig/lxdialog/checklist.o" references the symbol
+"acs_map", which is defined in libtinfo.so.5, which is only implicitly linked.
+
+This hack causes libtinfo.so.5 to be explicitly linked (added to mconf's
+DT_NEEDED) for the symbol to be resolved.
+
+See <https://fedoraproject.org/wiki/UnderstandingDSOLinkChange> for a general
+description of ld's behavior.
+
+(Of course this is only needed to run `make menuconfig`. Normal preconfigured
+builds don't need this.)
+
+diff -Naur src.orig/scripts/kconfig/lxdialog/check-lxdialog.sh src/scripts/kconfig/lxdialog/check-lxdialog.sh
+--- src.orig/scripts/kconfig/lxdialog/check-lxdialog.sh
++++ src/scripts/kconfig/lxdialog/check-lxdialog.sh
+@@ -10,7 +10,7 @@
+ for lib in ncursesw ncurses curses ; do
+ $cc -print-file-name=lib${lib}.${ext} | grep -q /
+ if [ $? -eq 0 ]; then
+- echo "-l${lib}"
++ echo "-l${lib} -ltinfo"
+ exit
+ fi
+ done