diff options
author | Matt Fleming <matt.fleming@intel.com> | 2013-07-29 09:43:29 +0100 |
---|---|---|
committer | Matt Fleming <matt.fleming@intel.com> | 2013-07-29 10:15:20 +0100 |
commit | 228194e45c916766e8fddb1124d8fd8b3dea3f92 (patch) | |
tree | 61951bb60e6de43085484864a9ab35c4d8e7f06f | |
parent | 0006a5e1bc8742fbbc6fbe52d1d12bab05eef311 (diff) | |
download | syslinux-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/Makefile | 7 | ||||
-rw-r--r-- | tests/com32/Makefile | 10 | ||||
-rw-r--r-- | tests/com32/hdt.cfg | 5 | ||||
-rw-r--r-- | tests/com32/hdt.results | 2 |
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
|