Updated patch with review comments (on IRC) is attached.



-- 
bvk.chaitanya
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: bvk.gro...@gmail.com-20100602091507-1ue7h482akbs3w5b
# target_branch: ../mainline/
# testament_sha1: b64ba6563eb16fb1ff5ae97d2102dc8f20c6b61d
# timestamp: 2010-06-02 14:51:49 +0530
# base_revision_id: phco...@gmail.com-20100531190101-7nv9wk13lovmlg25
# 
# Begin patch
=== modified file 'Makefile.in'
--- Makefile.in	2010-05-18 11:55:26 +0000
+++ Makefile.in	2010-05-25 10:39:03 +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-05-03 11:17:12 +0000
+++ commands/parttool.c	2010-06-02 09:15:07 +0000
@@ -175,7 +175,7 @@
     }
 
   /* Load modules. */
-#if !GRUB_NO_MODULES
+  if (! grub_no_autoload)
   {
     const char *prefix;
     prefix = grub_env_get ("prefix");
@@ -233,7 +233,6 @@
     /* Ignore errors.  */
     grub_errno = GRUB_ERR_NONE;
   }
-#endif
 
   if (argc == 1)
     return show_help ();

=== modified file 'conf/any-emu.rmk'
--- conf/any-emu.rmk	2010-05-28 13:48:45 +0000
+++ conf/any-emu.rmk	2010-06-02 03:42:52 +0000
@@ -1,5 +1,10 @@
 # -*- makefile -*-
 
+ifeq ($(target_cpu), sparc64)
+COMMON_CFLAGS += -mno-app-regs
+COMMON_LDFLAGS += -mno-relax
+endif
+
 kernel_img_RELOCATABLE = yes
 pkglib_PROGRAMS = kernel.img
 kernel_img_SOURCES = kern/device.c kern/disk.c kern/dl.c kern/env.c	\
@@ -18,17 +23,6 @@
 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
-
 # For halt.mod.
 pkglib_MODULES += halt.mod
 halt_mod_SOURCES = commands/halt.c
@@ -43,6 +37,9 @@
 endif
 
 grub_emu_LDFLAGS = $(LIBCURSES)
+ifeq ($(target_cpu), sparc64)
+grub_emu_LDFLAGS += -m64 -melf64_sparc -mno-relax
+endif
 
 ifeq ($(enable_grub_emu_usb), yes)
 kernel_img_HEADERS += libusb.h
@@ -100,13 +97,32 @@
 	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
+
+kern_emu_lite.o: kern/emu/lite.c
+	$(TARGET_CC) $(COMMON_CFLAGS) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -DGRUB_FILE=\"kern/emu/lite.c\" -c -o $@ $<
+CLEANFILES += kern_emu_lite.o
+
+kern_emu_full.o: kern/emu/full.c
+	$(TARGET_CC) $(COMMON_CFLAGS) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -DGRUB_FILE=\"kern/emu/full.c\" -c -o $@ $<
+CLEANFILES += kern_emu_full.o
+
+kern_emu_cache.o: kern/emu/cache.S
+	$(TARGET_CC) $(COMMON_CFLAGS) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(TARGET_ASFLAGS) -DGRUB_FILE=\"kern/emu/cache.S\" -c -o $@ $<
+CLEANFILES += kern_emu_cache.o
+
+symlist.o: symlist.c
+	$(TARGET_CC) $(COMMON_CFLAGS) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -DGRUB_FILE=\"symlist.c\" -c -o $@ $<
+CLEANFILES += symlist.o
+
+CLEANFILES += grub-emu-lite
+grub-emu-lite: kern_emu_lite.o kern_emu_cache.o symlist.o kernel.img
+	$(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: $(PREMODFILES) kern_emu_full.o grub_emu_init.o kernel.img
+	$(CC) -o $@ $^ $(grub_emu_LDFLAGS) $(LDFLAGS)
 GRUB_EMU=grub-emu
-

=== modified file 'configure.ac'
--- configure.ac	2010-05-28 17:13:48 +0000
+++ configure.ac	2010-06-02 08:21:05 +0000
@@ -609,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.]
@@ -631,19 +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 "$TARGET_NO_MODULES" = yes ; then
-  # Do not convert modules, otherwise linkage may fail (Cygwin only).
-  # FIXME: Should be checked above before TARGET_OBJ2ELF is set first.
-  TARGET_OBJ2ELF=
-fi
-
 if test x"$enable_grub_emu_usb" = xno ; then
   grub_emu_usb_excuse="explicitly disabled"
 fi
@@ -837,11 +820,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-05-28 00:04:31 +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,11 +157,11 @@
 	$(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 $@
 	$(TARGET_CC) $(#{prefix}_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ #{objs_str}
+PREMODFILES += #{pre_obj}
 
 #{mod_obj}: #{mod_src}
 	$(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(#{prefix}_CFLAGS) -DGRUB_FILE=\\\"#{mod_src}\\\" -c -o $@ $<

=== modified file 'include/grub/dl.h'
--- include/grub/dl.h	2010-04-27 08:27:14 +0000
+++ include/grub/dl.h	2010-06-02 09:15:07 +0000
@@ -91,11 +91,6 @@
 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));
@@ -106,7 +101,7 @@
 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)
 #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-05-28 13:48:45 +0000
+++ include/grub/emu/misc.h	2010-06-02 09:15:07 +0000
@@ -23,6 +23,7 @@
 extern int verbosity;
 extern const char *program_name;
 
+void grub_emu_init (void);
 void grub_init_all (void);
 void grub_fini_all (void);
 

=== modified file 'include/grub/misc.h'
--- include/grub/misc.h	2010-04-11 19:24:21 +0000
+++ include/grub/misc.h	2010-06-02 09:15:07 +0000
@@ -308,4 +308,11 @@
 void EXPORT_FUNC (grub_halt) (void);
 #endif
 
+#ifdef GRUB_MACHINE_EMU
+/* Flag to control module autoloading in normal mode.  */
+extern int EXPORT_VAR(grub_no_autoload);
+#else
+#define grub_no_autoload 0
+#endif
+
 #endif /* ! GRUB_MISC_HEADER */

=== added file 'kern/emu/cache.S'
--- kern/emu/cache.S	1970-01-01 00:00:00 +0000
+++ kern/emu/cache.S	2010-06-02 08:21:05 +0000
@@ -0,0 +1,15 @@
+#ifndef GRUB_MACHINE_EMU
+#error "This source is only meant for grub-emu platform"
+#endif
+
+#if defined(__i386__) || defined(__x86_64__)
+/* Nothing is necessary.  */
+#elif defined(__sparc__)
+#include "../sparc64/cache.S"
+#elif defined(__mips__)
+#include "../mips/cache.S"
+#elif defined(__powerpc__)
+#include "../powerpc/cache.S"
+#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-05-06 06:08:35 +0000
@@ -0,0 +1,50 @@
+/*
+ *  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/misc.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_no_autoload = 1;
+}

=== added file 'kern/emu/lite.c'
--- kern/emu/lite.c	1970-01-01 00:00:00 +0000
+++ kern/emu/lite.c	2010-06-02 08:21:05 +0000
@@ -0,0 +1,40 @@
+#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(__i386__)
+#include "../i386/dl.c"
+#elif defined(__x86_64__)
+#include "../x86_64/dl.c"
+#elif defined(__sparc__)
+#include "../sparc64/dl.c"
+#elif defined(__mips__)
+#include "../mips/dl.c"
+#elif defined(__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-05-04 03:39:03 +0000
+++ kern/emu/main.c	2010-06-02 09:15:07 +0000
@@ -51,31 +51,14 @@
 /* Store the prefix specified by an argument.  */
 static char *prefix = NULL;
 
+int grub_no_autoload;
+
 grub_addr_t
 grub_arch_modules_addr (void)
 {
   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 +137,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 +196,7 @@
     }
 
   signal (SIGINT, SIG_IGN);
+  grub_emu_init ();
   grub_console_init ();
   grub_host_init ();
   grub_hostfs_init ();
@@ -223,9 +204,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 +234,7 @@
   if (setjmp (main_env) == 0)
     grub_main ();
 
-#if GRUB_NO_MODULES
   grub_fini_all ();
-#endif
   grub_hostfs_fini ();
   grub_host_fini ();
 
@@ -287,10 +264,3 @@
 }
 
 #endif
-
-#if GRUB_NO_MODULES
-void
-grub_register_exported_symbols (void)
-{
-}
-#endif

=== modified file 'normal/main.c'
--- normal/main.c	2010-05-31 18:46:16 +0000
+++ normal/main.c	2010-06-02 09:15:07 +0000
@@ -476,10 +476,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_no_autoload)
+    {
+      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-05-20 22:16:10 +0000
+++ util/misc.c	2010-05-26 04:28:23 +0000
@@ -185,12 +185,10 @@
 {
 }
 
-#if GRUB_NO_MODULES
 void
 grub_register_exported_symbols (void)
 {
 }
-#endif
 
 #ifdef __MINGW32__
 
@@ -214,14 +212,6 @@
 
 #endif
 
-#if !(defined (__i386__) || defined (__x86_64__)) && GRUB_NO_MODULES
-void
-grub_arch_sync_caches (void *address __attribute__ ((unused)),
-		       grub_size_t len __attribute__ ((unused)))
-{
-}
-#endif
-
 #ifdef __MINGW32__
 
 void sync (void)

# Begin bundle
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
7kinChIFc1ZRQA==
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to