Le 31/01/2013 23:20, Cyrille Lefevre a écrit :
Hi,

I'm attempting to build grub2-rc1 -emu under cygwin w/o success.
I've made a fast and dirty patch about the missing stuff (emunet tap),
see attachment,
but I don't known how to say to the build machine these symbols came
from cygwin
and should be resolved at last ? see bellow... everything else seems to
be ok.

thanks in advance.

build environment => cygwin2 up-to-date w/ gcc4

$ uname -a
CYGWIN_NT-6.0 pcvista 1.7.17(0.262/5/3) 2012-10-19 14:39 i686 Cygwin

the configure command I use :

CC=gcc-4 ./configure --with-platform=emu --enable-grub-emu-usb
--enable-grub-emu-sdl

and the make command :

make -j 1 -k

-j 1 is to avoid fork failures.

what's wrong is :

cat syminfo.lst | sort | awk -f ./genmoddep.awk > moddep.lst || (rm -f
moddep.lst; exit 1)
__imp__CloseHandle@4 in emunet is not defined
__imp__CreateEventA@16 in emunet is not defined
__imp__CreateFileA@28 in emunet is not defined
__imp__DeviceIoControl@32 in emunet is not defined
__imp__GetLastError@0 in emunet is not defined
__imp__GetOverlappedResult@16 in emunet is not defined
__imp__ReadFile@20 in emunet is not defined
__imp__RegCloseKey@4 in emunet is not defined
__imp__RegEnumKeyExA@32 in emunet is not defined
__imp__RegOpenKeyExA@20 in emunet is not defined
__imp__RegQueryValueExA@24 in emunet is not defined
__imp__ResetEvent@4 in emunet is not defined
__imp__WaitForSingleObject@8 in emunet is not defined
__imp__WriteFile@20 in emunet is not defined
_cygwin_attach_handle_to_fd in emunet is not defined
_get_osfhandle in emunet is not defined
Makefile:81312: recipe for target `moddep.lst' failed

Hi,

well, I've resolve the above issue by manually editing the Makefile as in the one attached.

now, I'm stuck with the following error, so, the question is, does grub-emu is supposed to build right ?

gcc-4 -DHAVE_CONFIG_H -I. -I.. -Wall -W -I../include -I../include -DGRUB_MACHINE_EMU=1 -DGRUB_MACHINE=I386_EMU -DGRUB_TARGET_CPU_I386=1 -m32 -DGRUB_FILE=\"symlist.c\" -I. -I. -I.. -I.. -I../include -I../include -Os -Wall -W -Wshadow -Wold-style-definition -Wpointer-arith -Wundef -Wextra -Waddress -Wattributes -Wcast-align -Wchar-subscripts -Wcomment -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wempty-body -Wendif-labels -Wfloat-equal -Wformat-extra-args -Wformat-security -Wformat-y2k -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Winit-self -Wint-to-pointer-cast -Winvalid-pch -Wmain -Wmissing-braces -Wmissing-field-initializers -Wmissing-format-attribute -Wmissing-noreturn -Wmultichar -Wnonnull -Woverflow -Wparentheses -Wpointer-arith -Wpointer-to-int-cast -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wstrict-aliasing -Wswitch -Wtrigraphs -Wundef -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value -Wunused-variable -Wvariadic-macros -Wvolatile-register-var -Wwrite-strings -Wnested-externs -Wstrict-prototypes -Wpointer-sign -g -Wredundant-decls -Wmissing-prototypes -Wmissing-declarations -falign-jumps=1 -falign-loops=1 -falign-functions=1 -mno-mmx -mno-sse -mno-sse2 -mno-3dnow -fno-dwarf2-cfi-asm -fno-asynchronous-unwind-tables -m32 -fno-stack-protector -mno-stack-arg-probe -MT grub_emu_lite-symlist.o -MD -MP -MF .deps-core/grub_emu_lite-symlist.Tpo -c -o grub_emu_lite-symlist.o `test -f 'symlist.c' || echo './'`symlist.c
symlist.c: In function 'grub_register_exported_symbols':
symlist.c:72:31: error: 'grub_bios_interrupt' undeclared (first use in this function) symlist.c:72:31: note: each undeclared identifier is reported only once for each function it appears in symlist.c:73:29: error: 'grub_boot_device' undeclared (first use in this function) symlist.c:148:31: error: 'grub_pc_net_config' undeclared (first use in this function) symlist.c:149:25: error: 'grub_pit_wait' undeclared (first use in this function) symlist.c:154:25: error: 'grub_pxe_call' undeclared (first use in this function)
symlist.c:216:3: error: duplicate case value
symlist.c:216:3: error: previously used here
Makefile:64893: recipe for target `grub_emu_lite-symlist.o' failed
make[1]: *** [grub_emu_lite-symlist.o] Error 1

thanks in advance...

Regards,

Cyrille Lefevre
--
mailto:cyrille.lefevre-li...@laposte.net

--- Makefile.bak	2013-02-07 03:00:13.999999900 +0100
+++ Makefile	2013-02-07 02:28:55.999999900 +0100
@@ -28900,8 +28900,8 @@
 nodist_grub_emu_OBJECTS =  \
 	grub_emu-grub_emu_init.$(OBJEXT)
 grub_emu_OBJECTS = $(am_grub_emu_OBJECTS) $(nodist_grub_emu_OBJECTS)
-am__DEPENDENCIES_1 =
-grub_emu_DEPENDENCIES = kernel.img$(EXEEXT) \
+am__DEPENDENCIES_1 = gnulib/libgnu.a
+grub_emu_DEPENDENCIES = kernel.exec$(EXEEXT) \
 	$(MODULE_FILES) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
@@ -28916,7 +28916,7 @@
 	grub_emu_lite-symlist.$(OBJEXT)
 grub_emu_lite_OBJECTS = $(am_grub_emu_lite_OBJECTS) \
 	$(nodist_grub_emu_lite_OBJECTS)
-grub_emu_lite_DEPENDENCIES = kernel.img$(EXEEXT) \
+grub_emu_lite_DEPENDENCIES = kernel.exec$(EXEEXT) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
@@ -34170,7 +34170,7 @@
 HELP2MAN = 
 HOST_CC = gcc-4
 HOST_CCASFLAGS = 
-HOST_CFLAGS =  -Wall -W -Wshadow -Wold-style-definition -Wpointer-arith -Wundef -Wextra -Waddress -Wattributes -Wcast-align -Wchar-subscripts -Wcomment -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wempty-body -Wendif-labels -Wfloat-equal -Wformat-extra-args -Wformat-security -Wformat-y2k -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Winit-self -Wint-to-pointer-cast -Winvalid-pch -Wmain -Wmissing-braces -Wmissing-field-initializers -Wmissing-format-attribute -Wmissing-noreturn -Wmultichar -Wnonnull -Woverflow -Wparentheses -Wpointer-arith -Wpointer-to-int-cast -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wstrict-aliasing -Wswitch -Wtrigraphs -Wundef -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value  -Wunused-variable -Wvariadic-macros -Wvolatile-register-var -Wwrite-strings -Wnested-externs -Wstrict-prototypes -Wpointer-sign -Werror
+HOST_CFLAGS =  -Wall -W -Wshadow -Wold-style-definition -Wpointer-arith -Wundef -Wextra -Waddress -Wattributes -Wcast-align -Wchar-subscripts -Wcomment -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wempty-body -Wendif-labels -Wfloat-equal -Wformat-extra-args -Wformat-security -Wformat-y2k -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Winit-self -Wint-to-pointer-cast -Winvalid-pch -Wmain -Wmissing-braces -Wmissing-field-initializers -Wmissing-format-attribute -Wmissing-noreturn -Wmultichar -Wnonnull -Woverflow -Wparentheses -Wpointer-arith -Wpointer-to-int-cast -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wstrict-aliasing -Wswitch -Wtrigraphs -Wundef -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value  -Wunused-variable -Wvariadic-macros -Wvolatile-register-var -Wwrite-strings -Wnested-externs -Wstrict-prototypes -Wpointer-sign
 HOST_CPPFLAGS =  -Wall -W -I$(top_builddir)/include -DGRUB_UTIL=1 -DGRUB_LIBDIR=\"$(pkglibdir)\" -DLOCALEDIR=\"$(localedir)\"
 HOST_LDFLAGS = 
 INCLUDE_NEXT = include_next
@@ -34368,14 +34368,14 @@
 TARGET_CC = gcc-4
 TARGET_CCAS = gcc-4
 TARGET_CCASFLAGS =  -g -m32
-TARGET_CFLAGS =  -Os -Wall -W -Wshadow -Wold-style-definition -Wpointer-arith -Wundef -Wextra -Waddress -Wattributes -Wcast-align -Wchar-subscripts -Wcomment -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wempty-body -Wendif-labels -Wfloat-equal -Wformat-extra-args -Wformat-security -Wformat-y2k -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Winit-self -Wint-to-pointer-cast -Winvalid-pch -Wmain -Wmissing-braces -Wmissing-field-initializers -Wmissing-format-attribute -Wmissing-noreturn -Wmultichar -Wnonnull -Woverflow -Wparentheses -Wpointer-arith -Wpointer-to-int-cast -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wstrict-aliasing -Wswitch -Wtrigraphs -Wundef -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value  -Wunused-variable -Wvariadic-macros -Wvolatile-register-var -Wwrite-strings -Wnested-externs -Wstrict-prototypes -Wpointer-sign -g -Wredundant-decls -Wmissing-prototypes -Wmissing-declarations -falign-jumps=1 -falign-loops=1 -falign-functions=1 -mno-mmx -mno-sse -mno-sse2 -mno-3dnow -fno-dwarf2-cfi-asm -fno-asynchronous-unwind-tables -m32 -fno-stack-protector -mno-stack-arg-probe -Werror $(am__append_9)
+TARGET_CFLAGS =  -Os -Wall -W -Wshadow -Wold-style-definition -Wpointer-arith -Wundef -Wextra -Waddress -Wattributes -Wcast-align -Wchar-subscripts -Wcomment -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wempty-body -Wendif-labels -Wfloat-equal -Wformat-extra-args -Wformat-security -Wformat-y2k -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Winit-self -Wint-to-pointer-cast -Winvalid-pch -Wmain -Wmissing-braces -Wmissing-field-initializers -Wmissing-format-attribute -Wmissing-noreturn -Wmultichar -Wnonnull -Woverflow -Wparentheses -Wpointer-arith -Wpointer-to-int-cast -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wstrict-aliasing -Wswitch -Wtrigraphs -Wundef -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value  -Wunused-variable -Wvariadic-macros -Wvolatile-register-var -Wwrite-strings -Wnested-externs -Wstrict-prototypes -Wpointer-sign -g -Wredundant-decls -Wmissing-prototypes -Wmissing-declarations -falign-jumps=1 -falign-loops=1 -falign-functions=1 -mno-mmx -mno-sse -mno-sse2 -mno-3dnow -fno-dwarf2-cfi-asm -fno-asynchronous-unwind-tables -m32 -fno-stack-protector -mno-stack-arg-probe $(am__append_9)
 TARGET_CPP = gcc-4 -E
 TARGET_CPPFLAGS =  -Wall -W -I$(top_srcdir)/include -I$(top_builddir)/include  -DGRUB_MACHINE_EMU=1 -DGRUB_MACHINE=I386_EMU -DGRUB_TARGET_CPU_I386=1 -m32
 TARGET_IMG_BASE_LDOPT = -Wl,-Ttext
 TARGET_IMG_CFLAGS = 
 TARGET_IMG_LDFLAGS = -Wl,-N
 TARGET_IMG_LDSCRIPT = 
-TARGET_LDFLAGS =  -m32
+TARGET_LDFLAGS =  -m32 -static-libgcc
 TARGET_LDFLAGS_OLDMAGIC = -Wl,-N
 TARGET_MODULE_FORMAT = elf32
 TARGET_OBJ2ELF = $(top_builddir)/grub-pe2elf
@@ -58385,14 +58385,14 @@
 	$(am__append_18216) $(am__append_18225) $(am__append_18234)
 grub_emu_SOURCES = kern/emu/full.c 
 nodist_grub_emu_SOURCES = grub_emu_init.c 
-grub_emu_LDADD = kernel.img$(EXEEXT) $(MODULE_FILES) $(LIBUTIL) $(LIBCURSES) $(LIBSDL) $(LIBUSB) $(LIBPCIACCESS) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM) 
+grub_emu_LDADD = kernel.exec$(EXEEXT) gnulib/libgnu.a $(MODULE_FILES) $(LIBUTIL) $(LIBCURSES) $(LIBSDL) $(LIBUSB) $(LIBINTL) $(LIBPCIACCESS) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)
 grub_emu_CFLAGS = $(AM_CFLAGS) $(CFLAGS_PROGRAM) 
 grub_emu_LDFLAGS = $(AM_LDFLAGS) $(LDFLAGS_PROGRAM) 
 grub_emu_CPPFLAGS = $(AM_CPPFLAGS) $(CPPFLAGS_PROGRAM) 
 grub_emu_CCASFLAGS = $(AM_CCASFLAGS) $(CCASFLAGS_PROGRAM) 
 grub_emu_lite_SOURCES = kern/emu/lite.c 
 nodist_grub_emu_lite_SOURCES = symlist.c 
-grub_emu_lite_LDADD = kernel.img$(EXEEXT) $(LIBUTIL) $(LIBCURSES) $(LIBSDL) $(LIBUSB) $(LIBPCIACCESS) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM) 
+grub_emu_lite_LDADD = kernel.exec$(EXEEXT) $(LIBUTIL) $(LIBCURSES) $(LIBSDL) $(LIBUSB) $(LIBPCIACCESS) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM) 
 grub_emu_lite_CFLAGS = $(AM_CFLAGS) $(CFLAGS_PROGRAM) 
 grub_emu_lite_LDFLAGS = $(AM_LDFLAGS) $(LDFLAGS_PROGRAM) 
 grub_emu_lite_CPPFLAGS = $(AM_CPPFLAGS) $(CPPFLAGS_PROGRAM) 
@@ -81301,8 +81301,12 @@
 crypto.lst: $(srcdir)/lib/libgcrypt-grub/cipher/crypto.lst
 	cp $^ $@
 
-syminfo.lst: gensyminfo.sh kernel_syms.lst $(MODULE_FILES)
+cygwin.lst: /usr/bin/cygwin1.dll
+	nm -u net/drivers/emu/emunet_module-emunet.o | awk '!/grub/{print "defined cygwin", $$NF}' > cygwin.lst
+
+syminfo.lst: gensyminfo.sh kernel_syms.lst $(MODULE_FILES) cygwin.lst
 	cat kernel_syms.lst > $@.new
+	cat cygwin.lst >> $@.new
 	for m in $(MODULE_FILES); do \
 	  sh $< $$m >> $@.new || exit 1; \
 	done
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to