[syslinux:firmware] cmenu: the order of entries in $(LIBMENU) is vital
syslinux-bot for Matt Fleming
matt.fleming at intel.com
Mon Jul 29 06:12:08 PDT 2013
Commit-ID: 228194e45c916766e8fddb1124d8fd8b3dea3f92
Gitweb: http://www.syslinux.org/commit/228194e45c916766e8fddb1124d8fd8b3dea3f92
Author: Matt Fleming <matt.fleming at intel.com>
AuthorDate: Mon, 29 Jul 2013 09:43:29 +0100
Committer: Matt Fleming <matt.fleming at intel.com>
CommitDate: Mon, 29 Jul 2013 10:15:20 +0100
cmenu: the order of entries in $(LIBMENU) is vital
Unresolved symbols in an object file cannot be resolved from shared
libraries that are listed earlier in $(LIBMENU). We need to put the
shared libraries at the end of $(LIBMENU).
commit 1408e6ca ("Add per-firmware object directory support") appears to
have broken this rule, which resulted in hdt.c32 (among other modules)
failing to load with,
"Undef symbol FAIL: symbol console_ansi_raw"
Add a simple regression test that loads hdt.c32.
Signed-off-by: Matt Fleming <matt.fleming at intel.com>
---
com32/cmenu/Makefile | 7 +++----
tests/com32/Makefile | 10 ++++++++--
tests/com32/hdt.cfg | 5 +++++
tests/com32/hdt.results | 2 ++
4 files changed, 18 insertions(+), 6 deletions(-)
diff --git a/com32/cmenu/Makefile b/com32/cmenu/Makefile
index 5334a6b..100dba5 100644
--- a/com32/cmenu/Makefile
+++ b/com32/cmenu/Makefile
@@ -26,10 +26,9 @@ include $(MAKEDIR)/elf.mk
CFLAGS += -I$(SRC)/libmenu
-LIBMENU = $(objdir)/com32/libutil/libutil.c32 \
- $(objdir)/com32/lib/libcom32.c32 \
- libmenu/syslnx.o libmenu/com32io.o libmenu/tui.o \
- libmenu/menu.o libmenu/passwords.o libmenu/des.o libmenu/help.o
+LIBMENU = libmenu/syslnx.o libmenu/com32io.o libmenu/tui.o \
+ libmenu/menu.o libmenu/passwords.o libmenu/des.o libmenu/help.o \
+ $(objdir)/com32/libutil/libutil.c32 $(objdir)/com32/lib/libcom32.c32
CMENUS = $(patsubst %.c,%.c32,$(wildcard $(SRC)/*.c))
IMENUS = $(patsubst %.menu,%.c32,$(wildcard $(SRC)/*.menu))
diff --git a/tests/com32/Makefile b/tests/com32/Makefile
index 5a9a95b..7450475 100644
--- a/tests/com32/Makefile
+++ b/tests/com32/Makefile
@@ -19,11 +19,17 @@ chaindisk_results = chaindisk.results
chaindisk:
$(run-test)
-tests: banner chaindisk
+tests: banner chaindisk hdt
else
-tests:
+tests: banner hdt
endif # ifeq ($(DERIVATIVE),SYSLINUX)
+hdt_cfg = hdt.cfg
+hdt_files = $(hdt_cfg)
+hdt_results = hdt.results
+hdt:
+ $(run-test)
+
banner:
printf " Running COM32 module regression tests...\n"
diff --git a/tests/com32/hdt.cfg b/tests/com32/hdt.cfg
new file mode 100644
index 0000000..970627d
--- /dev/null
+++ b/tests/com32/hdt.cfg
@@ -0,0 +1,5 @@
+DEFAULT dohdt
+
+LABEL dohdt
+ COM32 hdt.c32
+ APPEND nomenu auto='exit'
diff --git a/tests/com32/hdt.results b/tests/com32/hdt.results
new file mode 100644
index 0000000..420e018
--- /dev/null
+++ b/tests/com32/hdt.results
@@ -0,0 +1,2 @@
+Entering Auto mode
+Entering CLI mode
More information about the Syslinux-commits
mailing list