Hi,

This patch merges grub-emu's --enable-grub-emu-modules build into
normal emu build, by introducing a new tool, grub-emu-lite, which
supports module loading.

This patch is made on top of my earlier grub-emu sources re-org patch.


-- 
bvk.chaitanya
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: bvk.gro...@gmail.com-20100429042546-v7k0k7fgtwpktwms
# target_branch: ../emu-reorg/
# testament_sha1: 677d2ae4b8ae5ac3e6e14344deaafe3af731e92e
# timestamp: 2010-04-29 09:56:21 +0530
# base_revision_id: bvk.gro...@gmail.com-20100427152945-\
#   bjgexrt8o76byxuf
# 
# Begin patch
=== modified file 'Makefile.in'
--- Makefile.in 2010-04-17 15:17:36 +0000
+++ Makefile.in 2010-04-29 04:25:46 +0000
@@ -44,7 +44,6 @@
 
 # Internationalization library.
 LIBINTL = @LIBINTL@
-TARGET_NO_MODULES = @TARGET_NO_MODULES@
 
 # Util library.
 LIBUTIL = @LIBUTIL@
@@ -187,17 +186,10 @@
 -include $(wildcard $(GRUB_CONTRIB)/*/conf/common.mk)
 endif
 
-ifeq ($(TARGET_NO_MODULES), yes)
-       TARGET_CFLAGS += -DGRUB_TARGET_NO_MODULES=1
-       CFLAGS += -DGRUB_TARGET_NO_MODULES=1
-endif
-
 ### General targets.
 
 CLEANFILES += $(pkglib_DATA) $(pkgdata_DATA) po/*.mo
-ifneq ($(TARGET_NO_MODULES), yes)
 pkglib_DATA += moddep.lst command.lst fs.lst partmap.lst parttool.lst 
handler.lst video.lst crypto.lst terminal.lst
-endif
 moddep.lst: $(DEFSYMFILES) $(UNDSYMFILES) genmoddep.awk
        cat $(DEFSYMFILES) /dev/null \
          | $(AWK) -f $(srcdir)/genmoddep.awk $(UNDSYMFILES) > $@ \
@@ -298,7 +290,7 @@
        ) > $@
 pkglib_BUILDDIR += config.h grub_script.tab.h
 
-all-local: $(PROGRAMS) $(GRUB_EMU) $(PKGLIB) $(PKGDATA) $(SCRIPTS) $(INFOS) 
$(MKFILES) $(foreach lang, $(LINGUAS), po/$(lang).mo)
+all-local: $(PROGRAMS) $(GRUB_EMU) $(GRUB_EMU_LITE) $(PKGLIB) $(PKGDATA) 
$(SCRIPTS) $(INFOS) $(MKFILES) $(foreach lang, $(LINGUAS), po/$(lang).mo)
 
 install: install-local
 
@@ -319,7 +311,7 @@
          $(INSTALL_DATA) $$dir$$file $(DESTDIR)$(pkgdatadir)/$$dest; \
        done
        $(SHELL) $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1
-       @list='$(bin_UTILITIES) $(GRUB_EMU)'; for file in $$list; do \
+       @list='$(bin_UTILITIES) $(GRUB_EMU) $(GRUB_EMU_LITE)'; for file in 
$$list; do \
          if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
          dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
          $(INSTALL_PROGRAM) $$dir$$file $(DESTDIR)$(bindir)/$$dest; \
@@ -395,7 +387,7 @@
          dest="`echo $$file | sed 's,.*/,,'`"; \
          rm -f $(DESTDIR)$(pkgdatadir)/$$dest; \
        done
-       @list='$(bin_UTILITIES) $(bin_SCRIPTS) $(GRUB_EMU)'; for file in 
$$list; do \
+       @list='$(bin_UTILITIES) $(bin_SCRIPTS) $(GRUB_EMU) $(GRUB_EMU_LITE)'; 
for file in $$list; do \
          dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
          rm -f $(DESTDIR)$(bindir)/$$dest; \
          rm -f $(DESTDIR)$(mandir)/man1/$$dest.1; \

=== modified file 'commands/parttool.c'
--- commands/parttool.c 2010-02-07 03:23:44 +0000
+++ commands/parttool.c 2010-04-29 04:25:46 +0000
@@ -175,7 +175,7 @@
     }
 
   /* Load modules. */
-#if GRUB_NO_MODULES
+#if GRUB_MACHINE_EMU
   {
     const char *prefix;
     prefix = grub_env_get ("prefix");

=== modified file 'conf/any-emu.rmk'
--- conf/any-emu.rmk    2010-04-27 15:25:12 +0000
+++ conf/any-emu.rmk    2010-04-29 04:25:46 +0000
@@ -20,16 +20,13 @@
 kernel_img_LDFLAGS = $(COMMON_LDFLAGS)
 TARGET_NO_STRIP = yes
 
-ifneq ($(TARGET_NO_MODULES), yes)
-kernel_img_SOURCES += symlist.c kern/$(target_cpu)/dl.c
-ifneq ($(target_cpu), i386)
-ifneq ($(target_cpu), x86_64)
-kernel_img_SOURCES += kern/$(target_cpu)/cache.S
-endif
-endif
-else
-kernel_img_SOURCES += grub_emu_init.c
-endif
+noinst_MODULES = emu-full.mod
+emu_full_mod_SOURCES = kern/emu/full.c
+emu_full_mod_CFLAGS = $(COMMON_CFLAGS)
+
+noinst_MODULES = emu-lite.mod
+emu_lite_mod_SOURCES = kern/emu/lite.c kern/emu/cache.S symlist.c
+emu_lite_mod_CFLAGS = $(COMMON_CFLAGS)
 
 # For halt.mod.
 pkglib_MODULES += halt.mod
@@ -102,13 +99,16 @@
        rm -f $@; echo $(pkglib_MODULES) | sh $(srcdir)/genemuinit.sh $(NM) > $@
 DISTCLEANFILES += grub_emu_init.c
 
+grub_emu_init.o: grub_emu_init.c grub_emu_init.h
+       rm -f $@; $(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) 
-DGRUB_FILE=\"grub_init.c\" -c -o $@ $<
+CLEANFILES += grub_emu_init.o
+
+CLEANFILES += grub-emu-lite
+grub-emu-lite: $(pkglib_PROGRAMS) emu-lite.mod
+       $(CC) -o $@ $^ $(grub_emu_LDFLAGS) $(LDFLAGS)
+GRUB_EMU_LITE=grub-emu-lite
+
 CLEANFILES += grub-emu
-ifneq ($(TARGET_NO_MODULES), yes)
-grub-emu: $(pkglib_PROGRAMS)
-       $(CC) -o $@ $^ $(grub_emu_LDFLAGS) $(LDFLAGS)
-else
-grub-emu: $(pkglib_MODULES) $(pkglib_PROGRAMS)
-       $(CC) -o $@ $^ $(grub_emu_LDFLAGS) $(LDFLAGS)
-endif
+grub-emu: $(pkglib_MODULES) $(pkglib_PROGRAMS) emu-full.mod grub_emu_init.o
+       $(CC) -o $@ $^ $(grub_emu_LDFLAGS) $(LDFLAGS)
 GRUB_EMU=grub-emu
-

=== modified file 'configure.ac'
--- configure.ac        2010-04-18 17:57:50 +0000
+++ configure.ac        2010-04-29 04:25:46 +0000
@@ -54,14 +54,12 @@
   amd64)       target_cpu=x86_64 ;;
   sparc)       target_cpu=sparc64 ;;
   mipsel|mips64el)
-                target_cpu=mips;    
-               TARGET_CFLAGS="$TARGET_CFLAGS -DGRUB_CPU_MIPSEL=1"; 
-               CFLAGS="$CFLAGS -DGRUB_CPU_MIPSEL=1";
+                target_cpu=mips;
+               cpu_CPPFLAGS="-DGRUB_CPU_MIPSEL=1";
                ;;
   mips|mips64)
-                target_cpu=mips;    
-               TARGET_CFLAGS="$TARGET_CFLAGS -DGRUB_CPU_MIPS=1"; 
-               CFLAGS="$CFLAGS -DGRUB_CPU_MIPS=1";
+                target_cpu=mips;
+               cpu_CPPFLAGS="-DGRUB_CPU_MIPS=1";
                ;;
 esac
 
@@ -135,23 +133,26 @@
 esac
 
 case "$platform" in
-  coreboot)    machine_CFLAGS="-DGRUB_MACHINE_COREBOOT=1" ;;
-  efi)         machine_CFLAGS="-DGRUB_MACHINE_EFI=1" ;;
-  ieee1275)    machine_CFLAGS="-DGRUB_MACHINE_IEEE1275=1" ;;
-  qemu)                machine_CFLAGS="-DGRUB_MACHINE_QEMU=1" ;;
-  pc)          machine_CFLAGS="-DGRUB_MACHINE_PCBIOS=1" ;;
-  emu)         machine_CFLAGS="-DGRUB_MACHINE_EMU=1" ;;
-  yeeloong)    machine_CFLAGS="-DGRUB_MACHINE_MIPS_YEELOONG=1 
-DGRUB_MACHINE_MIPS_BONITO=1" ;;
-  qemu-mips)   machine_CFLAGS="-DGRUB_MACHINE_MIPS_QEMU_MIPS=1 
-DGRUB_MACHINE_MIPS_BONITO=1" ;;
+  coreboot)    machine_CPPFLAGS="-DGRUB_MACHINE_COREBOOT=1" ;;
+  efi)         machine_CPPFLAGS="-DGRUB_MACHINE_EFI=1" ;;
+  ieee1275)    machine_CPPFLAGS="-DGRUB_MACHINE_IEEE1275=1" ;;
+  qemu)                machine_CPPFLAGS="-DGRUB_MACHINE_QEMU=1" ;;
+  pc)          machine_CPPFLAGS="-DGRUB_MACHINE_PCBIOS=1" ;;
+  emu)         machine_CPPFLAGS="-DGRUB_MACHINE_EMU=1" ;;
+  yeeloong)    machine_CPPFLAGS="-DGRUB_MACHINE_MIPS_YEELOONG=1 
-DGRUB_MACHINE_MIPS_BONITO=1" ;;
+  qemu-mips)   machine_CPPFLAGS="-DGRUB_MACHINE_MIPS_QEMU_MIPS=1 
-DGRUB_MACHINE_MIPS_BONITO=1" ;;
 esac
 case "$target_cpu" in
-  mips)        machine_CFLAGS="$machine_CFLAGS -DGRUB_MACHINE_MIPS=1" ;;
-  sparc64)      machine_CFLAGS="$machine_CFLAGS -DGRUB_MACHINE_SPARC64=1" ;;
+  i386)         cpu_CPPFLAGS="$cpu_CPPFLAGS -DGRUB_CPU_I386";;
+  x86_64)       cpu_CPPFLAGS="$cpu_CPPFLAGS -DGRUB_CPU_X86_64";;
+  powerpc)      cpu_CPPFLAGS="$cpu_CPPFLAGS -DGRUB_CPU_POWERPC";;
+  mips)        machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_MIPS=1" ;; # 
cpu_CPPFLAGS handled above
+  sparc64)      cpu_CPPFLAGS="$cpu_CPPFLAGS -DGRUB_CPU_SPARC64";
+                machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_SPARC64=1" 
;;
 esac
 
-CFLAGS="$CFLAGS $machine_CFLAGS"
-TARGET_ASFLAGS="$TARGET_ASFLAGS $machine_CFLAGS"
-TARGET_CFLAGS="$TARGET_CFLAGS $machine_CFLAGS"
+CPPFLAGS="$CPPFLAGS $cpu_CPPFLAGS $machine_CPPFLAGS"
+TARGET_CFLAGS="$TARGET_CFLAGS $cpu_CPPFLAGS $machine_CPPFLAGS"
 
 AC_SUBST(host_cpu)
 AC_SUBST(host_os)
@@ -608,10 +609,6 @@
              [AS_HELP_STRING([--enable-grub-emu-pci],
                              [build and install the `grub-emu' debugging 
utility with PCI support (potentially dangerous) (default=no)])])
 
-AC_ARG_ENABLE([grub-emu-modules],
-             [AS_HELP_STRING([--enable-grub-emu-modules],
-                             [Support module loading in `grub-emu' debugging 
utility (default=no)])])
-
 if test "$platform" = emu; then
   missing_ncurses=
 [# Check for curses libraries.]
@@ -630,13 +627,6 @@
   AC_MSG_ERROR([grub-emu can't be compiled without ncurses])
 fi
 
-if test x"$enable_grub_emu_modules" = xyes ; then
-  TARGET_NO_MODULES=no
-else
-  TARGET_NO_MODULES=yes
-fi
-AC_SUBST(TARGET_NO_MODULES)
-
 if test x"$enable_grub_emu_usb" = xno ; then
   grub_emu_usb_excuse="explicitly disabled"
 fi
@@ -814,11 +804,6 @@
 else
 echo PCI support for grub-emu: No "($grub_emu_pci_excuse)"
 fi
-if [ x"$TARGET_NO_MODULES" = xno ]; then
-echo Module support for grub-emu: Yes
-else
-echo Module support for grub-emu: No
-fi
 fi
 if [ x"$enable_mm_debug" = xyes ]; then
 echo With memory debugging: Yes

=== modified file 'genmk.rb'
--- genmk.rb    2010-04-09 23:25:46 +0000
+++ genmk.rb    2010-04-29 04:25:46 +0000
@@ -143,13 +143,6 @@
 MOSTLYCLEAN_MODULE_TARGETS += mostlyclean-module...@name}.#{@rule_count}
 UNDSYMFILES += #{undsym}
 
-ifeq ($(TARGET_NO_MODULES), yes)
-...@name}: #{pre_obj} $(TARGET_OBJ2ELF)
-       -rm -f $@
-       $(TARGET_CC) $(#{prefix}_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ 
#{pre_obj}
-       if test ! -z \"$(TARGET_OBJ2ELF)\"; then ./$(TARGET_OBJ2ELF) $@ || (rm 
-f $@; exit 1); fi
-       if test x$(TARGET_NO_STRIP) != xyes ; then $(STRIP) --strip-unneeded -K 
grub_mod_init -K grub_mod_fini -K _grub_mod_init -K _grub_mod_fini -R .note -R 
.comment $@; fi
-else
 ifneq ($(TARGET_APPLE_CC),1)
 #...@name}: #{pre_obj} #{mod_obj} $(TARGET_OBJ2ELF)
        -rm -f $@
@@ -164,7 +157,6 @@
        $(OBJCONV) -f$(TARGET_MODULE_FORMAT) -nr:_grub_mod_init:grub_mod_init 
-nr:_grub_mod_fini:grub_mod_fini -wd1106 -ew2030 -ew2050 -nu -nd $...@.bin $@
        -rm -f $...@.bin
 endif
-endif
 
 #{pre_obj}: $(#{prefix}_DEPENDENCIES) #{objs_str}
        -rm -f $@

=== modified file 'include/grub/dl.h'
--- include/grub/dl.h   2010-04-27 08:27:14 +0000
+++ include/grub/dl.h   2010-04-29 04:25:46 +0000
@@ -91,22 +91,17 @@
 int EXPORT_FUNC(grub_dl_unload) (grub_dl_t mod);
 void grub_dl_unload_unneeded (void);
 void grub_dl_unload_all (void);
-#if defined (GRUB_UTIL) || defined (GRUB_TARGET_NO_MODULES)
-#define GRUB_NO_MODULES 1
-#else
-#define GRUB_NO_MODULES 0
-#endif
 int EXPORT_FUNC(grub_dl_ref) (grub_dl_t mod);
 int EXPORT_FUNC(grub_dl_unref) (grub_dl_t mod);
 void EXPORT_FUNC(grub_dl_iterate) (int (*hook) (grub_dl_t mod));
 grub_dl_t EXPORT_FUNC(grub_dl_get) (const char *name);
-grub_err_t grub_dl_register_symbol (const char *name, void *addr,
-                                   grub_dl_t mod);
+grub_err_t EXPORT_FUNC(grub_dl_register_symbol) (const char *name, void *addr,
+                                                grub_dl_t mod);
 
 grub_err_t grub_arch_dl_check_header (void *ehdr);
 grub_err_t grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr);
 
-#if defined (_mips) && ! GRUB_NO_MODULES
+#if defined (_mips) && ! GRUB_MACHINE_EMU
 #define GRUB_LINKER_HAVE_INIT 1
 void grub_arch_dl_init_linker (void);
 #endif

=== modified file 'include/grub/emu/misc.h'
--- include/grub/emu/misc.h     2010-04-27 15:25:12 +0000
+++ include/grub/emu/misc.h     2010-04-29 04:25:46 +0000
@@ -16,6 +16,7 @@
 extern int verbosity;
 extern const char *program_name;
 
+void grub_emu_init (void);
 void grub_init_all (void);
 void grub_fini_all (void);
 

=== added file 'kern/emu/cache.S'
--- kern/emu/cache.S    1970-01-01 00:00:00 +0000
+++ kern/emu/cache.S    2010-04-29 04:25:46 +0000
@@ -0,0 +1,19 @@
+#ifndef GRUB_MACHINE_EMU
+#error "This source is only meant for grub-emu platform"
+#endif
+
+#if defined(GRUB_CPU_I386)
+/* Nothing is necessary.  */
+#elif defined(GRUB_CPU_X86_64)
+/* Nothing is necessary.  */
+#elif defined(GRUB_CPU_SPARC64)
+#include "../sparc64/cache.S"
+#elif defined(GRUB_CPU_MIPS)
+#include "../mips/cache.S"
+#elif defined(GRUB_CPU_MIPSEL)
+#include "../mips/cache.S"
+#elif defined(GRUB_CPU_POWERPC)
+#include "../powerpc/cache.S"
+#else
+#error "No target cpu type is defined"
+#endif

=== added file 'kern/emu/dl.c'
--- kern/emu/dl.c       1970-01-01 00:00:00 +0000
+++ kern/emu/dl.c       2010-04-29 04:25:46 +0000
@@ -0,0 +1,19 @@
+#ifndef GRUB_MACHINE_EMU
+#error "This source is only meant for grub-emu platform"
+#endif
+
+#if defined(GRUB_CPU_I386)
+#include "../i386/dl.c"
+#elif defined(GRUB_CPU_X86_64)
+#include "../x86_64/dl.c"
+#elif defined(GRUB_CPU_SPARC64)
+#include "../sparc64/dl.c"
+#elif defined(GRUB_CPU_MIPS)
+#include "../mips/dl.c"
+#elif defined(GRUB_CPU_MIPSEL)
+#include "../mips/dl.c"
+#elif defined(GRUB_CPU_POWERPC)
+#include "../powerpc/dl.c"
+#else
+#error "No target cpu type is defined"
+#endif

=== added file 'kern/emu/full.c'
--- kern/emu/full.c     1970-01-01 00:00:00 +0000
+++ kern/emu/full.c     2010-04-29 04:25:46 +0000
@@ -0,0 +1,49 @@
+/*
+ *  GRUB  --  GRand Unified Bootloader
+ *  Copyright (C) 2010  Free Software Foundation, Inc.
+ *
+ *  GRUB is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  GRUB is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <config.h>
+#include <grub/dl.h>
+#include <grub/env.h>
+#include <grub/kernel.h>
+#include <grub/emu/misc.h>
+
+void
+grub_register_exported_symbols (void)
+{
+}
+
+grub_err_t
+grub_arch_dl_check_header (void *ehdr)
+{
+  (void) ehdr;
+  return GRUB_ERR_BAD_MODULE;
+}
+
+grub_err_t
+grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr)
+{
+  (void) mod;
+  (void) ehdr;
+  return GRUB_ERR_BAD_MODULE;
+}
+
+void
+grub_emu_init (void)
+{
+  grub_env_set ("noautoload", "1");
+}

=== added file 'kern/emu/lite.c'
--- kern/emu/lite.c     1970-01-01 00:00:00 +0000
+++ kern/emu/lite.c     2010-04-29 04:25:46 +0000
@@ -0,0 +1,42 @@
+#include <config.h>
+#include <grub/emu/misc.h>
+
+#ifndef GRUB_MACHINE_EMU
+#error "This source is only meant for grub-emu platform"
+#endif
+
+#if defined(GRUB_CPU_I386)
+#include "../i386/dl.c"
+#elif defined(GRUB_CPU_X86_64)
+#include "../x86_64/dl.c"
+#elif defined(GRUB_CPU_SPARC64)
+#include "../sparc64/dl.c"
+#elif defined(GRUB_CPU_MIPS)
+#include "../mips/dl.c"
+#elif defined(GRUB_CPU_MIPSEL)
+#include "../mips/dl.c"
+#elif defined(GRUB_CPU_POWERPC)
+#include "../powerpc/dl.c"
+#else
+#error "No target cpu type is defined"
+#endif
+
+/* grub-emu-lite supports dynamic module loading, so it won't have any
+   embedded modules.  */
+void
+grub_init_all (void)
+{
+  return;
+}
+
+void
+grub_fini_all (void)
+{
+  return;
+}
+
+void
+grub_emu_init (void)
+{
+  return;
+}

=== modified file 'kern/emu/main.c'
--- kern/emu/main.c     2010-04-27 08:27:14 +0000
+++ kern/emu/main.c     2010-04-29 04:25:46 +0000
@@ -57,25 +57,6 @@
   return 0;
 }
 
-#if GRUB_NO_MODULES
-grub_err_t
-grub_arch_dl_check_header (void *ehdr)
-{
-  (void) ehdr;
-
-  return GRUB_ERR_BAD_MODULE;
-}
-
-grub_err_t
-grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr)
-{
-  (void) mod;
-  (void) ehdr;
-
-  return GRUB_ERR_BAD_MODULE;
-}
-#endif
-
 void
 grub_reboot (void)
 {
@@ -154,10 +135,7 @@
 void grub_hostfs_fini (void);
 void grub_host_init (void);
 void grub_host_fini (void);
-#if GRUB_NO_MODULES
-void grub_init_all (void);
-void grub_fini_all (void);
-#endif
+void grub_emu_init (void);
 
 int
 main (int argc, char *argv[])
@@ -216,6 +194,7 @@
     }
 
   signal (SIGINT, SIG_IGN);
+  grub_emu_init ();
   grub_console_init ();
   grub_host_init ();
   grub_hostfs_init ();
@@ -223,9 +202,7 @@
   /* XXX: This is a bit unportable.  */
   grub_util_biosdisk_init (dev_map);
 
-#if GRUB_NO_MODULES
   grub_init_all ();
-#endif
 
   /* Make sure that there is a root device.  */
   if (! root_dev)
@@ -255,9 +232,7 @@
   if (setjmp (main_env) == 0)
     grub_main ();
 
-#if GRUB_NO_MODULES
   grub_fini_all ();
-#endif
   grub_hostfs_fini ();
   grub_host_fini ();
 
@@ -287,10 +262,3 @@
 }
 
 #endif
-
-#if GRUB_NO_MODULES
-void
-grub_register_exported_symbols (void)
-{
-}
-#endif

=== modified file 'normal/main.c'
--- normal/main.c       2010-04-09 19:07:24 +0000
+++ normal/main.c       2010-04-29 04:25:46 +0000
@@ -437,10 +437,13 @@
 static void
 read_lists (const char *val)
 {
-  read_command_list (val);
-  read_fs_list (val);
-  read_crypto_list (val);
-  read_terminal_list (val);
+  if (! grub_env_get("noautoload"))
+    {
+      read_command_list (val);
+      read_fs_list (val);
+      read_crypto_list (val);
+      read_terminal_list (val);
+    }
 }
 
 static char *

=== modified file 'util/misc.c'
--- util/misc.c 2010-04-27 15:25:12 +0000
+++ util/misc.c 2010-04-29 04:25:46 +0000
@@ -188,12 +188,10 @@
 {
 }
 
-#if GRUB_NO_MODULES
 void
 grub_register_exported_symbols (void)
 {
 }
-#endif
 
 #ifdef __MINGW32__
 
@@ -217,7 +215,7 @@
 
 #endif
 
-#if !(defined (__i386__) || defined (__x86_64__)) && GRUB_NO_MODULES
+#if !(defined (__i386__) || defined (__x86_64__)) && GRUB_MACHINE_EMU
 void
 grub_arch_sync_caches (void *address __attribute__ ((unused)),
                       grub_size_t len __attribute__ ((unused)))

# Begin bundle
IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWQxYibYADIzfgFo0ff///3/v
/+W////+YBRufe1d2Ou93vDxVrQzppEC2aSAURy0VVSHuHO2UHRdrOt3bu3Wa7jtc05Xs108JIpo
FNDJ6TMk1T/JPRqNBqnqe1TymYptTRo9T01GRoPUeibUEkiIzTKU/RqnlNNlGynqNMw1QHqHqaDQ
0AA0AAMiMQRFNppB+qZAaGgAaDQAAAyaAAEiIQIyp6aMKamaamwqek8myKaZDR6mZTRtTQGjQekH
GhoGjTI00aZAYmCAAGgNAaZAYEyBJIBGgBDRDSempPRoSn6p6noIZA0AyNBppiMSqNgGUivgwORx
OMmIqLT9+7ePDv9q463PMaa3Pd5erqo+yMuTZHs5ok8To5cUl+6H4IKtsNPNlq0zzfMf4KQGRbYY
VwzstUa/xYXnwmXdBlOE+dpSuEHnX4E/lXRndbiXNB4sDMgiuiwXgHA1AHa7IhAhFRZkRVB1Z6+s
iimTzrlwodOrd89WJAoghBlErOxst3KWtg9cUdWrNAfy8jeWrJw7oiCB8mv/RcZYlJGKYYWuwVBG
LSiq0Ch3zRJasJXRkejWRkOlKjYlznxMOpCRUomDGHO1xXzTqYd9IbVS5idkhmObNUAZt8W14nSX
0EbLpaNg9xE7ejiV5zvCI/suy0h7c4hkx/4QknmwA5UUrR+rgta0b7P1+tSRKBHOIaTYm220m0ht
tsbENm/70B5Hh1nx3UNkV6o62drvfbWMXXtcUZc7O7KFasVeDLZFJpELBw6JRTEtfbS17mrFOE0p
asNwZYNPFGSjqIR0E7XkFhcEnesqUWqGULeiUkkKJsk31um1Zi5lR0jGatudBH9toG0X8fu4fZw3
cbryjTD66TrzaWUfOm02KeLjPXRcoRlHwohpIDxR6Gl4Y5PKXJB14f9ZQmEEHaxrsSxxa8aGMoEq
B6d+O7C4ruLJxRsOtksbDcfO2eZQqUO2PuFAm3FtYY6kIYgadSmC7IJ1RdytH/FlLfq6glf5KLpM
Y93IkkoyaMlF3C9OJgkymtYGOK2WkyNKcvR8U5HGOafa9huGxtJvvWSn6d/d549Pf8rHTumsCIY3
6XV+qzi78M+d/k8pGjRcZY98tvGD16Z+USimFn0Eu3otNO0DdDgRwAGNpBJn9j3a62TTTARwaA8I
wn5hJJnsGhH7hl2sBxjAwdww56RiYzlkWhlKGEQMIHBk3O+GJxmBkl16srTXYuTPzMX8g/vYY21l
FC6PmMKL1+UlkXWmDo8OyLZZT7euKCybREN/k5W8N2NZ5wkzZUk0xHLSl2R15+Gk5ftxJ5u7x/9K
TBNO8M39CDvJ8QcfTJCAnKDoOlHAKccCclE4AXle1sjOROaBgk28RgwaYOOxRYhGgiz3VzN2zj3I
RQDZqja0X3q6/CYgK67f4THevv2APzAHK3ZBpsOcha4gjWzaQSFRjYkj4eFAiZoxh5CDx4K1omaR
TzJlBdoaugOvKJYzBTMJT5IzcYcYGMJJJ0Xpq0rcOeWklBMg64kXazh2eV/RmjpNJItT59oIbSsx
WaVWKzCjKMTaEUL7bPjrfRjEkmgWB2nIX9dRJK2DYYY9PCS1xpmLQky1ltTYZmoLwAYCWZQvs70b
zQ7a0eJgYzkWoQ+2Rci8lgTsSRJwzGA4AcssqlSFgwxQqfEcXDF40lxoTO/mAH/6EScUOJ7CZAds
Z1ddOKzibgiADmlPQwpWVHmQSdGazFEEEEZj+g+w0dsbdD4W2aJIarjTTKJzDSZhj7zMopezy4tN
cvbocZkONHceo6TTJudqZkCiEXuDQqPRjpWvHEpjumNxgKhiAWJa22I+G7MWyml2UsTPGMZm47AB
i91r+tknhkWGr1kO191mPEnefbEeuTGLDmF5a3HIStOZxL/DkaEXDGRgYDXqp5PO2BeX7t88htab
G1ptxw4YVjGgXKnGJk4JIloSToymrVBUncZFiozUPU8SpBtGrGwpOZdF6EYFDQ1lK2HiRZUZum4A
LcJ1szKFQMhkjFhFjOcAeVMTiYIRUo0wQNgt2QWIDMGiTKlhpEMDQkYlFaeCNz3kCdxjg65+kHwk
8Z0c5Qx1lRCJzMRy8DIJzlcSmUcPqbTuicbR5gUKk9ag4zGskUMS0nJmQiJbe8gWHCRHAii5rR49
+R/2HgHIoY5zNIlxAa3E5ynkYGhsa3kIjFpuMalxqZmZQmZEipgYHzPgTJjEc8mKa3XDS6KRtdqx
QvqIgknVREiqMsFiABiisnkJgAkQP4eJrRPRhcYjCQel8QwebFHNmZdBgSiXOkgClSs589i66RQ7
mhlZDjItyOwZyOSS1BxsrBxM1NDY3Im442I4nIYn7Xvx0bcNi+RmNoM4pVqiM5383x8hXDkh7FDZ
qqcSVYa3gQkRJFt88mVkxAUH5Ym2hfWtXuzoOgVm5Oa1g0QiJo+45FqkYllSwxNzMvHnI0Vl/1Q6
22GOyay5nLXaYLqZ10pZo5yhNdC8kAKDsTRyQipuI1DKgXULj5LYPDYb8ikj9fraaxbTNRMbGOZL
LnwIj7hnZnibkenLMAkgsKLkTLjUeRLqkomAw4kjuvghEJ4nDi19gNF+FZOrl3LH9NzsWDirC2uk
An9fOD9ideBcU3oUxpY+3OexdkqGI8q8a+/AibzANjEvNypQvPmiBocSQxYbgByKfEQH7zl9EIp0
trx6Pfe7g4dyaDWushKVB+tsLFaeBKx6KVC0na0HETEezXTIjzQ8jgeAdLyhja2CWJE/eGwQkczQ
+DUYieC1Gf48HDyh8+JhqMTImZcYPvIHU7q0ehE3XjPKb0tjGUptKDnS6FxFJqFRgBjPhGVwSRsK
lKIReaxnC5xdxJ6EVQtMN8HYka1LRykpb+6b8jEpZgdDBELpHg99juI1TaDaES4iZm6eDOLSoMXk
yTgsLyRaUDl/Cvz0g3eZxvci5jSCBxVkQ5ts09dXpK0AFwRg7JLBAYVfYev6hrwjB8ZA6hn5a+kg
n7ek9h7vIjJtjZ+xr5xJibD+4z6RBuMPiRDQ22m9iiIjMSiJiGQ224CIbENMbbDMQI/H41fnDq/D
NI8PY1JcdWLtBOJlz0hWGGxAjuKqDyEGswIEe5YDyeWHyRMjzfF8WWRr5aDMkyQ2Ntew+36oNP0X
AhRnl8Grl79iJwkkhJ4iCpAhuwJ7AI6mNT02D8qQdkVOKpnJPYw2hXzUWu8Kwg/FofPxCTEOYxIN
2xHJCAxTd0H30v3oGNeGBqIbYBNbQEW0Q5XKmF/ATaY02m0G+SUxMQ9yBF8LJIN2Qfj4Jlkgx5eQ
guk/gJZDw4MUuHXH8J6mwTQI8rjEcb9gyBvfWoUV2QSIGxKm4hGRyqwB1482IgiNRmHFUziSqSLE
aq8lsQNIp+Us3XuoHQ3SEI1YByUEltPbSgZCSpBiAXUATUmOzRUcjU2jqoIsL1YpBOLhp2AJWDIg
MAwZx72wbawT5a6iS9ynQwgQWqzLSZCUroDBXxCnKnubwbRGbFBluqjqXIlFYigmRjABLXwRyyKt
oOCgMmZAabtEGiF92w+C/u/RwIH5APAcS89JiQZecXUNkwEDGBoAqJNNpU4BNSAoIGEtDDlPSfXN
AgjJr1aioTJAUz7/Ee7HE+rKR+qjaQdznwH7/4b71zbHA0NttDBt2FewcoDL1Y+2xpaw7oLs9eIJ
Z3ZQriNf3eP0cZxupIiSrOQgcXpMByDUk85MTEDbE3TznjHjFZsHfsk59GHpWvtmMeoD1iXfnIC9
7ue0esxFRkWMY0WoDZEkZ2Df6HIJrgbcp03HVveEYBsy3Xtct7bbiN1VKWQrvfk89tYUH6p0kpRO
6pJ9ublejAD75YSGvcFqYYA5SQou1HIYiQqIEpykC6BwkhXKcBooTkWEkup3WQhTK/YYDFpuRMQc
WHCB7EnEjI8HECmBic3GK8F9Fk8IrF/K41MR4Hoc0kwlH+6W9C+U9Bn8iQlkpGwWppW8XUSKgwPN
1gUWQpGKieecjHMhgMgxWWhAcjNgzhJGSmQ3zpzePIGvREmb39GkWHucRt0MTBSL11bmhjFjgcCz
nYTygB8WST6SAXAoj0DgJIpnm3mNxbtgiQ+wT/PxPn4Em9cfBWLGjGmTY2TkWqIZkVDCCAEGGj5e
vrI6Fx2HnvPM7nyGD1JlTDuWkS0iYAFamABS4jYVLTG5CTBkpXumOsPkRMCJgYGyLy0sJmZ83lV7
y0vp6pIlgvPqkiESDZhDAzLiJ/LMXySVIXWdwXdmGZuqKUIkz4GTEd6hL68JdQfQA9zJY+xIHE5w
7CTojjBdVa+dHkpPzaL7Y6tcSMBSUR6YePeJQMWiUZNJspdM4ZC4U2OPtriOte5t84vrG8+0eehv
5n2GhMxahmceH4BLISdoggwuJ1EtBLFARXoTRucy1OGH3FT0T6kiblv5Xw539ZTQjmWG5Lwhd5Mv
w8N51bx1aP4MVcXGbeUwCvXk7YTmBrN1XyaiW82XlcflJSc5VaU3LBF95QGMo5HtPMiPMegYhnkn
EXtXWuZGiSsmAWWHJdvJ3q5wMaL13eeKD8YWLIV58/Up3tzGfoLN8iOLQFtVFohK/AXne5nOmkHu
ouXuMzrOnM7DpLUOtttJzAhFA8eaBh5Ua9ZKwoOYTmkcUkpXiBAgZ7KTARLw5mbrEElYOgOqMSSp
ACLsKPQJVkFxCTiTgKvhJVLGLXlTmJpd1T8VLNYRl2qpJjNaXjWTqbKIIVM9QZfRQkaVv/MSRtyE
+E5KIEauZfW1wrujihnGrTgYmxhczHbO5COoAaK/A9zhN3Q5Jy1El/le+Tj2+gYBACIG9uvPBnEn
PYp7SOHEjVTHp01AgxQOAnwNQbWQow6M/oTGrveETTIEdF6EnGdstWwXdLRRJSksJUXCDLIqN8SR
nmSSOw+YqRvJ4dtYIpIz9VAWiVQF0cZP4C3m4XAw9fLvXtqmSDJIpQRgngc/UgGg6TYc6LgaDdUF
wOh4RqEqdilcV12WtAhlnADnIWoRcADzGx9P1PfW4q60cKsQDABYsm+LDy/LHNU4grREDIJEkQs3
JAbwXBnvPuGKSaA4O2Rer6oBubkBUGEpwPFRWk7kk/MMf6j6nMKcHKQ2l4xg2AuzLgdtaZTb4oRI
TxLHlAWK1cYSoSM9V6LGHZ5sBOJIxlLM1pzGWP41X8jCXBZnxNjL5EreVPHEX3mTmGZjKa5BXFQL
UVKoGHtQVodKtJV7hJhJWCBROEnTql01dAYxg6KjUCUp0j9OAlp9F9QExoB9BuTvFJQSuGAsMRVU
ClMqQ0/B9cCVFVdG86TGHRFbGClJQ02ARzwpUh8gx8DTWtBw3dyy3UnYXzkU5VtbGkLRi8kb4NlZ
UhZ2lEDnBG2BXqyK8OJCSKWVBjzshFswr9NafBTQv+StHRFNN2PEJrEcjXkBM8tLrdGVKEVqVYI7
Byz4YF4GSBEOahtUMrEdlfrQPm4SYA9eDPvCxJdTBVKB3+9dQAsVOrvrmOwXctkkOQIrd4iCbzzQ
jYhDyRfQjZ4jplGlhNpcBJz1wplwHgHjxWqaAcur/X3IYsC1ME3LZ/nD8wNoeh8PvM2oklFHT6uS
VM4iapPw/DICOSbIZMmFOfXUWCBFQvQhrJi7hnkVIZRVEkYnEvKlR9HSeQw4Bo1Rq5qElmufYX3l
ajGDSNsJCN+PYsQJ/KxMuWlecOXo9C+LDxK3tZxezAH3REsUjZkSNzDrWxXhm0MiDUgGVjdipZWv
TyhAcK8s0sZWO/ECCr5B6MANgbJ0mYogDUEAmACVnPE9wZxeyUmKPspCGthfYhLp5oRJfcUIoGyG
g6t2x1iRzfEwWCAgnPePoMAWOW2SOq/KAGQAXaLX0J5qBIowP1DlJMAoZCSPeqeLmAXJRPbCkk5A
4u7aj0JGK4I8yVkWPruU+n11G4X9LBwAPLQ7OGUTJjuqscgIIEakPgzhwjgNwyM/j9UclZiDB7ng
A5gA/EPn7VPtJvPXPPxUnhkMhL6LbznF+6y9M0IhEGWDHUO30IFFKk7V93lWksZmKsMp55kvlfci
ZH/i7kinChIBixE2wA==
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to