diff options
Diffstat (limited to 'patches')
-rw-r--r-- | patches/02_fix-mconf-linking.patch | 30 |
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 |