aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Fleming <matt.fleming@intel.com>2013-07-29 09:43:29 +0100
committerMatt Fleming <matt.fleming@intel.com>2013-07-29 10:15:20 +0100
commit228194e45c916766e8fddb1124d8fd8b3dea3f92 (patch)
tree61951bb60e6de43085484864a9ab35c4d8e7f06f
parent0006a5e1bc8742fbbc6fbe52d1d12bab05eef311 (diff)
downloadsyslinux-228194e45c916766e8fddb1124d8fd8b3dea3f92.tar.gz
syslinux-228194e45c916766e8fddb1124d8fd8b3dea3f92.tar.xz
syslinux-228194e45c916766e8fddb1124d8fd8b3dea3f92.zip
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@intel.com>
-rw-r--r--com32/cmenu/Makefile7
-rw-r--r--tests/com32/Makefile10
-rw-r--r--tests/com32/hdt.cfg5
-rw-r--r--tests/com32/hdt.results2
4 files changed, 18 insertions, 6 deletions
diff --git a/com32/cmenu/Makefile b/com32/cmenu/Makefile
index 5334a6bd..100dba58 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 5a9a95bd..74504754 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 00000000..970627d3
--- /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 00000000..420e0184
--- /dev/null
+++ b/tests/com32/hdt.results
@@ -0,0 +1,2 @@
+Entering Auto mode
+Entering CLI mode