commit-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[1736] 2008-07-27 Bean <address@hidden>


From: Bean
Subject: [1736] 2008-07-27 Bean <address@hidden>
Date: Sun, 27 Jul 2008 13:51:30 +0000

Revision: 1736
          http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=1736
Author:   bean
Date:     2008-07-27 13:51:30 +0000 (Sun, 27 Jul 2008)

Log Message:
-----------
2008-07-27  Bean  <address@hidden>

        * commands/crc.c: New file.

        * lib/crc.c: Likewise.

        * include/grub/lib/crc.h: Likewise.

        * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.

        * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
        (hexdump): Move this function to ...

        * lib/hexdump.c: ... here.

        * include/grub/hexdump.h: Renamed to ...

        * include/grub/lib/hexdump.h: ... this.

        * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h

        * util/grub-editenv.c: Likewise.

        * include/envblk.h: Renamed to ...

        * include/lib/envblk.h: ... this.

        * util/envblk.c: Renamed to ...

        * lib/envblk.c: ... this.

        * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
        lib/hexdump.c.
        (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
        (pkglib_MODULES): Add crc.mod.
        (hexdump_mod_SOURCES): Add lib/hexdump.c.
        (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
        (crc_mod_SOURCES): New macro.
        (crc_mod_CFLAGS): Likewise.
        (crc_mod_LDFLAGS): Likewise.

        * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.

        * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.

        * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.

        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.

        * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.

Modified Paths:
--------------
    trunk/grub2/ChangeLog
    trunk/grub2/commands/hexdump.c
    trunk/grub2/commands/loadenv.c
    trunk/grub2/conf/common.mk
    trunk/grub2/conf/common.rmk
    trunk/grub2/conf/i386-coreboot.mk
    trunk/grub2/conf/i386-coreboot.rmk
    trunk/grub2/conf/i386-efi.mk
    trunk/grub2/conf/i386-efi.rmk
    trunk/grub2/conf/i386-ieee1275.mk
    trunk/grub2/conf/i386-ieee1275.rmk
    trunk/grub2/conf/i386-pc.mk
    trunk/grub2/conf/i386-pc.rmk
    trunk/grub2/conf/powerpc-ieee1275.mk
    trunk/grub2/conf/powerpc-ieee1275.rmk
    trunk/grub2/conf/x86_64-efi.mk
    trunk/grub2/conf/x86_64-efi.rmk
    trunk/grub2/util/grub-editenv.c
    trunk/grub2/util/grub-fstest.c

Added Paths:
-----------
    trunk/grub2/commands/crc.c
    trunk/grub2/include/grub/lib/crc.h
    trunk/grub2/include/grub/lib/envblk.h
    trunk/grub2/include/grub/lib/hexdump.h
    trunk/grub2/lib/crc.c
    trunk/grub2/lib/envblk.c
    trunk/grub2/lib/hexdump.c

Removed Paths:
-------------
    trunk/grub2/include/grub/envblk.h
    trunk/grub2/include/grub/hexdump.h
    trunk/grub2/util/envblk.c

Modified: trunk/grub2/ChangeLog
===================================================================
--- trunk/grub2/ChangeLog       2008-07-27 13:04:02 UTC (rev 1735)
+++ trunk/grub2/ChangeLog       2008-07-27 13:51:30 UTC (rev 1736)
@@ -1,3 +1,54 @@
+2008-07-27  Bean  <address@hidden>
+
+       * commands/crc.c: New file.
+
+       * lib/crc.c: Likewise.
+
+       * include/grub/lib/crc.h: Likewise.
+
+       * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
+
+       * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
+       (hexdump): Move this function to ...
+
+       * lib/hexdump.c: ... here.
+
+       * include/grub/hexdump.h: Renamed to ...
+
+       * include/grub/lib/hexdump.h: ... this.
+
+       * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
+
+       * util/grub-editenv.c: Likewise.
+
+       * include/envblk.h: Renamed to ...
+
+       * include/lib/envblk.h: ... this.
+
+       * util/envblk.c: Renamed to ...
+
+       * lib/envblk.c: ... this.
+
+       * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
+       lib/hexdump.c.
+       (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
+       (pkglib_MODULES): Add crc.mod.
+       (hexdump_mod_SOURCES): Add lib/hexdump.c.
+       (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
+       (crc_mod_SOURCES): New macro.
+       (crc_mod_CFLAGS): Likewise.
+       (crc_mod_LDFLAGS): Likewise.
+
+       * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
+
+       * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
+
+       * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
+
+       * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
+
+       * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
+
 2008-07-27 Felix Zielcke <address@hidden>
 
        * commands/help.c: Include <grub/term.h>.

Added: trunk/grub2/commands/crc.c
===================================================================
--- trunk/grub2/commands/crc.c                          (rev 0)
+++ trunk/grub2/commands/crc.c  2008-07-27 13:51:30 UTC (rev 1736)
@@ -0,0 +1,66 @@
+/* crc.c - command to calculate the crc32 checksum of a file  */
+/*
+ *  GRUB  --  GRand Unified Bootloader
+ *  Copyright (C) 2008  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 <grub/normal.h>
+#include <grub/dl.h>
+#include <grub/arg.h>
+#include <grub/disk.h>
+#include <grub/file.h>
+#include <grub/misc.h>
+#include <grub/lib/crc.h>
+
+static grub_err_t
+grub_cmd_crc (struct grub_arg_list *state __attribute__ ((unused)),
+             int argc, char **args)
+
+{
+  grub_file_t file;
+  char buf[GRUB_DISK_SECTOR_SIZE];
+  grub_ssize_t size;
+  grub_uint32_t crc;
+
+  if (argc != 1)
+    return grub_error (GRUB_ERR_BAD_ARGUMENT, "file name required");
+
+  file = grub_file_open (args[0]);
+  if (! file)
+    return 0;
+
+  crc = 0;
+  while ((size = grub_file_read (file, buf, sizeof (buf))) > 0)
+    crc = grub_getcrc32 (crc, buf, size);
+
+  grub_file_close (file);
+
+  grub_printf ("%08x\n", crc);
+
+  return 0;
+}
+
+GRUB_MOD_INIT(crc)
+{
+  (void) mod;                  /* To stop warning. */
+  grub_register_command ("crc", grub_cmd_crc, GRUB_COMMAND_FLAG_BOTH,
+                        "crc FILE", "Calculate the crc32 checksum of a file.", 
0);
+}
+
+GRUB_MOD_FINI(crc)
+{
+  grub_unregister_command ("crc");
+}

Modified: trunk/grub2/commands/hexdump.c
===================================================================
--- trunk/grub2/commands/hexdump.c      2008-07-27 13:04:02 UTC (rev 1735)
+++ trunk/grub2/commands/hexdump.c      2008-07-27 13:51:30 UTC (rev 1736)
@@ -24,8 +24,8 @@
 #include <grub/disk.h>
 #include <grub/misc.h>
 #include <grub/gzio.h>
-#include <grub/hexdump.h>
 #include <grub/partition.h>
+#include <grub/lib/hexdump.h>
 
 static const struct grub_arg_option options[] = {
   {"skip", 's', 0, "skip offset bytes from the beginning of file.", 0,
@@ -34,52 +34,6 @@
   {0, 0, 0, 0, 0, 0}
 };
 
-void
-hexdump (unsigned long bse, char *buf, int len)
-{
-  int pos;
-  char line[80];
-
-  while (len > 0)
-    {
-      int cnt, i;
-
-      pos = grub_sprintf (line, "%08lx  ", bse);
-      cnt = 16;
-      if (cnt > len)
-       cnt = len;
-
-      for (i = 0; i < cnt; i++)
-       {
-         pos += grub_sprintf (&line[pos], "%02x ", (unsigned char) buf[i]);
-         if ((i & 7) == 7)
-           line[pos++] = ' ';
-       }
-
-      for (; i < 16; i++)
-       {
-         pos += grub_sprintf (&line[pos], "   ");
-         if ((i & 7) == 7)
-           line[pos++] = ' ';
-       }
-
-      line[pos++] = '|';
-
-      for (i = 0; i < cnt; i++)
-       line[pos++] = ((buf[i] >= 32) && (buf[i] < 127)) ? buf[i] : '.';
-
-      line[pos++] = '|';
-
-      line[pos] = 0;
-
-      grub_printf ("%s\n", line);
-
-      bse += 16;
-      buf += 16;
-      len -= cnt;
-    }
-}
-
 static grub_err_t
 grub_cmd_hexdump (struct grub_arg_list *state, int argc, char **args)
 {

Modified: trunk/grub2/commands/loadenv.c
===================================================================
--- trunk/grub2/commands/loadenv.c      2008-07-27 13:04:02 UTC (rev 1735)
+++ trunk/grub2/commands/loadenv.c      2008-07-27 13:51:30 UTC (rev 1736)
@@ -25,8 +25,8 @@
 #include <grub/disk.h>
 #include <grub/misc.h>
 #include <grub/env.h>
-#include <grub/envblk.h>
 #include <grub/partition.h>
+#include <grub/lib/envblk.h>
 
 static const struct grub_arg_option options[] =
   {

Modified: trunk/grub2/conf/common.mk
===================================================================
--- trunk/grub2/conf/common.mk  2008-07-27 13:04:02 UTC (rev 1735)
+++ trunk/grub2/conf/common.mk  2008-07-27 13:51:30 UTC (rev 1736)
@@ -180,7 +180,7 @@
 grub_fstest_SOURCES = util/grub-fstest.c util/hostfs.c util/misc.c     \
        kern/file.c kern/device.c kern/disk.c kern/err.c kern/misc.c    \
        disk/host.c disk/loopback.c  normal/arg.c normal/misc.c         \
-       io/gzio.c commands/hexdump.c commands/blocklist.c commands/ls.c \
+       io/gzio.c lib/hexdump.c commands/blocklist.c commands/ls.c \
        \
        fs/affs.c fs/cpio.c fs/ext2.c fs/fat.c fs/hfs.c                 \
        fs/hfsplus.c fs/iso9660.c fs/udf.c fs/jfs.c fs/minix.c          \
@@ -190,11 +190,11 @@
        kern/partition.c partmap/pc.c partmap/apple.c partmap/gpt.c     \
        kern/fs.c kern/env.c fs/fshelp.c disk/lvm.c disk/raid.c \
        grub_fstest_init.c
-CLEANFILES += grub-fstest$(EXEEXT) grub_fstest-util_grub_fstest.o 
grub_fstest-util_hostfs.o grub_fstest-util_misc.o grub_fstest-kern_file.o 
grub_fstest-kern_device.o grub_fstest-kern_disk.o grub_fstest-kern_err.o 
grub_fstest-kern_misc.o grub_fstest-disk_host.o grub_fstest-disk_loopback.o 
grub_fstest-normal_arg.o grub_fstest-normal_misc.o grub_fstest-io_gzio.o 
grub_fstest-commands_hexdump.o grub_fstest-commands_blocklist.o 
grub_fstest-commands_ls.o grub_fstest-fs_affs.o grub_fstest-fs_cpio.o 
grub_fstest-fs_ext2.o grub_fstest-fs_fat.o grub_fstest-fs_hfs.o 
grub_fstest-fs_hfsplus.o grub_fstest-fs_iso9660.o grub_fstest-fs_udf.o 
grub_fstest-fs_jfs.o grub_fstest-fs_minix.o grub_fstest-fs_ntfs.o 
grub_fstest-fs_ntfscomp.o grub_fstest-fs_reiserfs.o grub_fstest-fs_sfs.o 
grub_fstest-fs_ufs.o grub_fstest-fs_xfs.o grub_fstest-fs_afs.o 
grub_fstest-kern_partition.o grub_fstest-partmap_pc.o 
grub_fstest-partmap_apple.o grub_fstest-partmap_gpt.o grub_fstest-kern_fs.o 
grub_fstest-kern_env.o grub_fstest-fs_fshelp.o grub_fstest-disk_lvm.o 
grub_fstest-disk_raid.o grub_fstest-grub_fstest_init.o
-MOSTLYCLEANFILES += grub_fstest-util_grub_fstest.d grub_fstest-util_hostfs.d 
grub_fstest-util_misc.d grub_fstest-kern_file.d grub_fstest-kern_device.d 
grub_fstest-kern_disk.d grub_fstest-kern_err.d grub_fstest-kern_misc.d 
grub_fstest-disk_host.d grub_fstest-disk_loopback.d grub_fstest-normal_arg.d 
grub_fstest-normal_misc.d grub_fstest-io_gzio.d grub_fstest-commands_hexdump.d 
grub_fstest-commands_blocklist.d grub_fstest-commands_ls.d 
grub_fstest-fs_affs.d grub_fstest-fs_cpio.d grub_fstest-fs_ext2.d 
grub_fstest-fs_fat.d grub_fstest-fs_hfs.d grub_fstest-fs_hfsplus.d 
grub_fstest-fs_iso9660.d grub_fstest-fs_udf.d grub_fstest-fs_jfs.d 
grub_fstest-fs_minix.d grub_fstest-fs_ntfs.d grub_fstest-fs_ntfscomp.d 
grub_fstest-fs_reiserfs.d grub_fstest-fs_sfs.d grub_fstest-fs_ufs.d 
grub_fstest-fs_xfs.d grub_fstest-fs_afs.d grub_fstest-kern_partition.d 
grub_fstest-partmap_pc.d grub_fstest-partmap_apple.d grub_fstest-partmap_gpt.d 
grub_fstest-kern_fs.d grub_fstest-kern_env.d grub_fstest-fs_fshelp.d 
grub_fstest-disk_lvm.d grub_fstest-disk_raid.d grub_fstest-grub_fstest_init.d
+CLEANFILES += grub-fstest$(EXEEXT) grub_fstest-util_grub_fstest.o 
grub_fstest-util_hostfs.o grub_fstest-util_misc.o grub_fstest-kern_file.o 
grub_fstest-kern_device.o grub_fstest-kern_disk.o grub_fstest-kern_err.o 
grub_fstest-kern_misc.o grub_fstest-disk_host.o grub_fstest-disk_loopback.o 
grub_fstest-normal_arg.o grub_fstest-normal_misc.o grub_fstest-io_gzio.o 
grub_fstest-lib_hexdump.o grub_fstest-commands_blocklist.o 
grub_fstest-commands_ls.o grub_fstest-fs_affs.o grub_fstest-fs_cpio.o 
grub_fstest-fs_ext2.o grub_fstest-fs_fat.o grub_fstest-fs_hfs.o 
grub_fstest-fs_hfsplus.o grub_fstest-fs_iso9660.o grub_fstest-fs_udf.o 
grub_fstest-fs_jfs.o grub_fstest-fs_minix.o grub_fstest-fs_ntfs.o 
grub_fstest-fs_ntfscomp.o grub_fstest-fs_reiserfs.o grub_fstest-fs_sfs.o 
grub_fstest-fs_ufs.o grub_fstest-fs_xfs.o grub_fstest-fs_afs.o 
grub_fstest-kern_partition.o grub_fstest-partmap_pc.o 
grub_fstest-partmap_apple.o grub_fstest-partmap_gpt.o grub_fstest-kern_fs.o 
grub_fstest-kern_env.o grub_fstest-fs_fshelp.o grub_fstest-disk_lvm.o 
grub_fstest-disk_raid.o grub_fstest-grub_fstest_init.o
+MOSTLYCLEANFILES += grub_fstest-util_grub_fstest.d grub_fstest-util_hostfs.d 
grub_fstest-util_misc.d grub_fstest-kern_file.d grub_fstest-kern_device.d 
grub_fstest-kern_disk.d grub_fstest-kern_err.d grub_fstest-kern_misc.d 
grub_fstest-disk_host.d grub_fstest-disk_loopback.d grub_fstest-normal_arg.d 
grub_fstest-normal_misc.d grub_fstest-io_gzio.d grub_fstest-lib_hexdump.d 
grub_fstest-commands_blocklist.d grub_fstest-commands_ls.d 
grub_fstest-fs_affs.d grub_fstest-fs_cpio.d grub_fstest-fs_ext2.d 
grub_fstest-fs_fat.d grub_fstest-fs_hfs.d grub_fstest-fs_hfsplus.d 
grub_fstest-fs_iso9660.d grub_fstest-fs_udf.d grub_fstest-fs_jfs.d 
grub_fstest-fs_minix.d grub_fstest-fs_ntfs.d grub_fstest-fs_ntfscomp.d 
grub_fstest-fs_reiserfs.d grub_fstest-fs_sfs.d grub_fstest-fs_ufs.d 
grub_fstest-fs_xfs.d grub_fstest-fs_afs.d grub_fstest-kern_partition.d 
grub_fstest-partmap_pc.d grub_fstest-partmap_apple.d grub_fstest-partmap_gpt.d 
grub_fstest-kern_fs.d grub_fstest-kern_env.d grub_fstest-fs_fshelp.d 
grub_fstest-disk_lvm.d grub_fstest-disk_raid.d grub_fstest-grub_fstest_init.d
 
-grub-fstest: $(grub_fstest_DEPENDENCIES) grub_fstest-util_grub_fstest.o 
grub_fstest-util_hostfs.o grub_fstest-util_misc.o grub_fstest-kern_file.o 
grub_fstest-kern_device.o grub_fstest-kern_disk.o grub_fstest-kern_err.o 
grub_fstest-kern_misc.o grub_fstest-disk_host.o grub_fstest-disk_loopback.o 
grub_fstest-normal_arg.o grub_fstest-normal_misc.o grub_fstest-io_gzio.o 
grub_fstest-commands_hexdump.o grub_fstest-commands_blocklist.o 
grub_fstest-commands_ls.o grub_fstest-fs_affs.o grub_fstest-fs_cpio.o 
grub_fstest-fs_ext2.o grub_fstest-fs_fat.o grub_fstest-fs_hfs.o 
grub_fstest-fs_hfsplus.o grub_fstest-fs_iso9660.o grub_fstest-fs_udf.o 
grub_fstest-fs_jfs.o grub_fstest-fs_minix.o grub_fstest-fs_ntfs.o 
grub_fstest-fs_ntfscomp.o grub_fstest-fs_reiserfs.o grub_fstest-fs_sfs.o 
grub_fstest-fs_ufs.o grub_fstest-fs_xfs.o grub_fstest-fs_afs.o 
grub_fstest-kern_partition.o grub_fstest-partmap_pc.o 
grub_fstest-partmap_apple.o grub_fstest-partmap_gpt.o grub_fstest-kern_fs.o 
grub_fstest-kern_env.o grub_fstest-fs_fshelp.o grub_fstest-disk_lvm.o 
grub_fstest-disk_raid.o grub_fstest-grub_fstest_init.o
-       $(CC) -o $@ grub_fstest-util_grub_fstest.o grub_fstest-util_hostfs.o 
grub_fstest-util_misc.o grub_fstest-kern_file.o grub_fstest-kern_device.o 
grub_fstest-kern_disk.o grub_fstest-kern_err.o grub_fstest-kern_misc.o 
grub_fstest-disk_host.o grub_fstest-disk_loopback.o grub_fstest-normal_arg.o 
grub_fstest-normal_misc.o grub_fstest-io_gzio.o grub_fstest-commands_hexdump.o 
grub_fstest-commands_blocklist.o grub_fstest-commands_ls.o 
grub_fstest-fs_affs.o grub_fstest-fs_cpio.o grub_fstest-fs_ext2.o 
grub_fstest-fs_fat.o grub_fstest-fs_hfs.o grub_fstest-fs_hfsplus.o 
grub_fstest-fs_iso9660.o grub_fstest-fs_udf.o grub_fstest-fs_jfs.o 
grub_fstest-fs_minix.o grub_fstest-fs_ntfs.o grub_fstest-fs_ntfscomp.o 
grub_fstest-fs_reiserfs.o grub_fstest-fs_sfs.o grub_fstest-fs_ufs.o 
grub_fstest-fs_xfs.o grub_fstest-fs_afs.o grub_fstest-kern_partition.o 
grub_fstest-partmap_pc.o grub_fstest-partmap_apple.o grub_fstest-partmap_gpt.o 
grub_fstest-kern_fs.o grub_fstest-kern_env.o grub_fstest-fs_fshelp.o 
grub_fstest-disk_lvm.o grub_fstest-disk_raid.o grub_fstest-grub_fstest_init.o 
$(LDFLAGS) $(grub_fstest_LDFLAGS)
+grub-fstest: $(grub_fstest_DEPENDENCIES) grub_fstest-util_grub_fstest.o 
grub_fstest-util_hostfs.o grub_fstest-util_misc.o grub_fstest-kern_file.o 
grub_fstest-kern_device.o grub_fstest-kern_disk.o grub_fstest-kern_err.o 
grub_fstest-kern_misc.o grub_fstest-disk_host.o grub_fstest-disk_loopback.o 
grub_fstest-normal_arg.o grub_fstest-normal_misc.o grub_fstest-io_gzio.o 
grub_fstest-lib_hexdump.o grub_fstest-commands_blocklist.o 
grub_fstest-commands_ls.o grub_fstest-fs_affs.o grub_fstest-fs_cpio.o 
grub_fstest-fs_ext2.o grub_fstest-fs_fat.o grub_fstest-fs_hfs.o 
grub_fstest-fs_hfsplus.o grub_fstest-fs_iso9660.o grub_fstest-fs_udf.o 
grub_fstest-fs_jfs.o grub_fstest-fs_minix.o grub_fstest-fs_ntfs.o 
grub_fstest-fs_ntfscomp.o grub_fstest-fs_reiserfs.o grub_fstest-fs_sfs.o 
grub_fstest-fs_ufs.o grub_fstest-fs_xfs.o grub_fstest-fs_afs.o 
grub_fstest-kern_partition.o grub_fstest-partmap_pc.o 
grub_fstest-partmap_apple.o grub_fstest-partmap_gpt.o grub_fstest-kern_fs.o 
grub_fstest-kern_env.o grub_fstest-fs_fshelp.o grub_fstest-disk_lvm.o 
grub_fstest-disk_raid.o grub_fstest-grub_fstest_init.o
+       $(CC) -o $@ grub_fstest-util_grub_fstest.o grub_fstest-util_hostfs.o 
grub_fstest-util_misc.o grub_fstest-kern_file.o grub_fstest-kern_device.o 
grub_fstest-kern_disk.o grub_fstest-kern_err.o grub_fstest-kern_misc.o 
grub_fstest-disk_host.o grub_fstest-disk_loopback.o grub_fstest-normal_arg.o 
grub_fstest-normal_misc.o grub_fstest-io_gzio.o grub_fstest-lib_hexdump.o 
grub_fstest-commands_blocklist.o grub_fstest-commands_ls.o 
grub_fstest-fs_affs.o grub_fstest-fs_cpio.o grub_fstest-fs_ext2.o 
grub_fstest-fs_fat.o grub_fstest-fs_hfs.o grub_fstest-fs_hfsplus.o 
grub_fstest-fs_iso9660.o grub_fstest-fs_udf.o grub_fstest-fs_jfs.o 
grub_fstest-fs_minix.o grub_fstest-fs_ntfs.o grub_fstest-fs_ntfscomp.o 
grub_fstest-fs_reiserfs.o grub_fstest-fs_sfs.o grub_fstest-fs_ufs.o 
grub_fstest-fs_xfs.o grub_fstest-fs_afs.o grub_fstest-kern_partition.o 
grub_fstest-partmap_pc.o grub_fstest-partmap_apple.o grub_fstest-partmap_gpt.o 
grub_fstest-kern_fs.o grub_fstest-kern_env.o grub_fstest-fs_fshelp.o 
grub_fstest-disk_lvm.o grub_fstest-disk_raid.o grub_fstest-grub_fstest_init.o 
$(LDFLAGS) $(grub_fstest_LDFLAGS)
 
 grub_fstest-util_grub_fstest.o: util/grub-fstest.c 
$(util/grub-fstest.c_DEPENDENCIES)
        $(CC) -Iutil -I$(srcdir)/util $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 
$(grub_fstest_CFLAGS) -MD -c -o $@ $<
@@ -248,9 +248,9 @@
        $(CC) -Iio -I$(srcdir)/io $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 
$(grub_fstest_CFLAGS) -MD -c -o $@ $<
 -include grub_fstest-io_gzio.d
 
-grub_fstest-commands_hexdump.o: commands/hexdump.c 
$(commands/hexdump.c_DEPENDENCIES)
-       $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS) 
-DGRUB_UTIL=1 $(grub_fstest_CFLAGS) -MD -c -o $@ $<
--include grub_fstest-commands_hexdump.d
+grub_fstest-lib_hexdump.o: lib/hexdump.c $(lib/hexdump.c_DEPENDENCIES)
+       $(CC) -Ilib -I$(srcdir)/lib $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 
$(grub_fstest_CFLAGS) -MD -c -o $@ $<
+-include grub_fstest-lib_hexdump.d
 
 grub_fstest-commands_blocklist.o: commands/blocklist.c 
$(commands/blocklist.c_DEPENDENCIES)
        $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS) 
-DGRUB_UTIL=1 $(grub_fstest_CFLAGS) -MD -c -o $@ $<
@@ -428,20 +428,20 @@
 
 # for grub-editenv
 bin_UTILITIES += grub-editenv
-grub_editenv_SOURCES = util/grub-editenv.c util/envblk.c util/misc.c 
kern/misc.c kern/err.c
-CLEANFILES += grub-editenv$(EXEEXT) grub_editenv-util_grub_editenv.o 
grub_editenv-util_envblk.o grub_editenv-util_misc.o grub_editenv-kern_misc.o 
grub_editenv-kern_err.o
-MOSTLYCLEANFILES += grub_editenv-util_grub_editenv.d 
grub_editenv-util_envblk.d grub_editenv-util_misc.d grub_editenv-kern_misc.d 
grub_editenv-kern_err.d
+grub_editenv_SOURCES = util/grub-editenv.c lib/envblk.c util/misc.c 
kern/misc.c kern/err.c
+CLEANFILES += grub-editenv$(EXEEXT) grub_editenv-util_grub_editenv.o 
grub_editenv-lib_envblk.o grub_editenv-util_misc.o grub_editenv-kern_misc.o 
grub_editenv-kern_err.o
+MOSTLYCLEANFILES += grub_editenv-util_grub_editenv.d grub_editenv-lib_envblk.d 
grub_editenv-util_misc.d grub_editenv-kern_misc.d grub_editenv-kern_err.d
 
-grub-editenv: $(grub_editenv_DEPENDENCIES) grub_editenv-util_grub_editenv.o 
grub_editenv-util_envblk.o grub_editenv-util_misc.o grub_editenv-kern_misc.o 
grub_editenv-kern_err.o
-       $(CC) -o $@ grub_editenv-util_grub_editenv.o grub_editenv-util_envblk.o 
grub_editenv-util_misc.o grub_editenv-kern_misc.o grub_editenv-kern_err.o 
$(LDFLAGS) $(grub_editenv_LDFLAGS)
+grub-editenv: $(grub_editenv_DEPENDENCIES) grub_editenv-util_grub_editenv.o 
grub_editenv-lib_envblk.o grub_editenv-util_misc.o grub_editenv-kern_misc.o 
grub_editenv-kern_err.o
+       $(CC) -o $@ grub_editenv-util_grub_editenv.o grub_editenv-lib_envblk.o 
grub_editenv-util_misc.o grub_editenv-kern_misc.o grub_editenv-kern_err.o 
$(LDFLAGS) $(grub_editenv_LDFLAGS)
 
 grub_editenv-util_grub_editenv.o: util/grub-editenv.c 
$(util/grub-editenv.c_DEPENDENCIES)
        $(CC) -Iutil -I$(srcdir)/util $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 
$(grub_editenv_CFLAGS) -MD -c -o $@ $<
 -include grub_editenv-util_grub_editenv.d
 
-grub_editenv-util_envblk.o: util/envblk.c $(util/envblk.c_DEPENDENCIES)
-       $(CC) -Iutil -I$(srcdir)/util $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 
$(grub_editenv_CFLAGS) -MD -c -o $@ $<
--include grub_editenv-util_envblk.d
+grub_editenv-lib_envblk.o: lib/envblk.c $(lib/envblk.c_DEPENDENCIES)
+       $(CC) -Ilib -I$(srcdir)/lib $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 
$(grub_editenv_CFLAGS) -MD -c -o $@ $<
+-include grub_editenv-lib_envblk.d
 
 grub_editenv-util_misc.o: util/misc.c $(util/misc.c_DEPENDENCIES)
        $(CC) -Iutil -I$(srcdir)/util $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 
$(grub_editenv_CFLAGS) -MD -c -o $@ $<
@@ -1998,7 +1998,7 @@
        cmp.mod cat.mod help.mod font.mod search.mod            \
        loopback.mod fs_uuid.mod configfile.mod echo.mod        \
        terminfo.mod test.mod blocklist.mod hexdump.mod         \
-       read.mod sleep.mod loadenv.mod
+       read.mod sleep.mod loadenv.mod crc.mod
 
 # For hello.mod.
 hello_mod_SOURCES = hello/hello.c
@@ -2932,13 +2932,13 @@
 blocklist_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For hexdump.mod.
-hexdump_mod_SOURCES = commands/hexdump.c
-CLEANFILES += hexdump.mod mod-hexdump.o mod-hexdump.c pre-hexdump.o 
hexdump_mod-commands_hexdump.o und-hexdump.lst
+hexdump_mod_SOURCES = commands/hexdump.c lib/hexdump.c
+CLEANFILES += hexdump.mod mod-hexdump.o mod-hexdump.c pre-hexdump.o 
hexdump_mod-commands_hexdump.o hexdump_mod-lib_hexdump.o und-hexdump.lst
 ifneq ($(hexdump_mod_EXPORTS),no)
 CLEANFILES += def-hexdump.lst
 DEFSYMFILES += def-hexdump.lst
 endif
-MOSTLYCLEANFILES += hexdump_mod-commands_hexdump.d
+MOSTLYCLEANFILES += hexdump_mod-commands_hexdump.d hexdump_mod-lib_hexdump.d
 UNDSYMFILES += und-hexdump.lst
 
 hexdump.mod: pre-hexdump.o mod-hexdump.o $(TARGET_OBJ2ELF)
@@ -2947,9 +2947,9 @@
        if test ! -z $(TARGET_OBJ2ELF); then ./$(TARGET_OBJ2ELF) $@ || (rm -f 
$@; exit 1); fi
        $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -K 
_grub_mod_init -K _grub_mod_fini -R .note -R .comment $@
 
-pre-hexdump.o: $(hexdump_mod_DEPENDENCIES) hexdump_mod-commands_hexdump.o
+pre-hexdump.o: $(hexdump_mod_DEPENDENCIES) hexdump_mod-commands_hexdump.o 
hexdump_mod-lib_hexdump.o
        -rm -f $@
-       $(TARGET_CC) $(hexdump_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ 
hexdump_mod-commands_hexdump.o
+       $(TARGET_CC) $(hexdump_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ 
hexdump_mod-commands_hexdump.o hexdump_mod-lib_hexdump.o
 
 mod-hexdump.o: mod-hexdump.c
        $(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(hexdump_mod_CFLAGS) 
-c -o $@ $<
@@ -2985,6 +2985,25 @@
        set -e;           $(TARGET_CC) -Icommands -I$(srcdir)/commands 
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(hexdump_mod_CFLAGS) -E $<    | sh 
$(srcdir)/genpartmaplist.sh hexdump > $@ || (rm -f $@; exit 1)
 
 
+hexdump_mod-lib_hexdump.o: lib/hexdump.c $(lib/hexdump.c_DEPENDENCIES)
+       $(TARGET_CC) -Ilib -I$(srcdir)/lib $(TARGET_CPPFLAGS)  $(TARGET_CFLAGS) 
$(hexdump_mod_CFLAGS) -MD -c -o $@ $<
+-include hexdump_mod-lib_hexdump.d
+
+CLEANFILES += cmd-hexdump_mod-lib_hexdump.lst fs-hexdump_mod-lib_hexdump.lst 
partmap-hexdump_mod-lib_hexdump.lst
+COMMANDFILES += cmd-hexdump_mod-lib_hexdump.lst
+FSFILES += fs-hexdump_mod-lib_hexdump.lst
+PARTMAPFILES += partmap-hexdump_mod-lib_hexdump.lst
+
+cmd-hexdump_mod-lib_hexdump.lst: lib/hexdump.c $(lib/hexdump.c_DEPENDENCIES) 
gencmdlist.sh
+       set -e;           $(TARGET_CC) -Ilib -I$(srcdir)/lib $(TARGET_CPPFLAGS) 
$(TARGET_CFLAGS) $(hexdump_mod_CFLAGS) -E $<      | sh $(srcdir)/gencmdlist.sh 
hexdump > $@ || (rm -f $@; exit 1)
+
+fs-hexdump_mod-lib_hexdump.lst: lib/hexdump.c $(lib/hexdump.c_DEPENDENCIES) 
genfslist.sh
+       set -e;           $(TARGET_CC) -Ilib -I$(srcdir)/lib $(TARGET_CPPFLAGS) 
$(TARGET_CFLAGS) $(hexdump_mod_CFLAGS) -E $<      | sh $(srcdir)/genfslist.sh 
hexdump > $@ || (rm -f $@; exit 1)
+
+partmap-hexdump_mod-lib_hexdump.lst: lib/hexdump.c 
$(lib/hexdump.c_DEPENDENCIES) genpartmaplist.sh
+       set -e;           $(TARGET_CC) -Ilib -I$(srcdir)/lib $(TARGET_CPPFLAGS) 
$(TARGET_CFLAGS) $(hexdump_mod_CFLAGS) -E $<      | sh 
$(srcdir)/genpartmaplist.sh hexdump > $@ || (rm -f $@; exit 1)
+
+
 hexdump_mod_CFLAGS = $(COMMON_CFLAGS)
 hexdump_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
@@ -3103,13 +3122,13 @@
 sleep_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For loadenv.mod.
-loadenv_mod_SOURCES = commands/loadenv.c util/envblk.c
-CLEANFILES += loadenv.mod mod-loadenv.o mod-loadenv.c pre-loadenv.o 
loadenv_mod-commands_loadenv.o loadenv_mod-util_envblk.o und-loadenv.lst
+loadenv_mod_SOURCES = commands/loadenv.c lib/envblk.c
+CLEANFILES += loadenv.mod mod-loadenv.o mod-loadenv.c pre-loadenv.o 
loadenv_mod-commands_loadenv.o loadenv_mod-lib_envblk.o und-loadenv.lst
 ifneq ($(loadenv_mod_EXPORTS),no)
 CLEANFILES += def-loadenv.lst
 DEFSYMFILES += def-loadenv.lst
 endif
-MOSTLYCLEANFILES += loadenv_mod-commands_loadenv.d loadenv_mod-util_envblk.d
+MOSTLYCLEANFILES += loadenv_mod-commands_loadenv.d loadenv_mod-lib_envblk.d
 UNDSYMFILES += und-loadenv.lst
 
 loadenv.mod: pre-loadenv.o mod-loadenv.o $(TARGET_OBJ2ELF)
@@ -3118,9 +3137,9 @@
        if test ! -z $(TARGET_OBJ2ELF); then ./$(TARGET_OBJ2ELF) $@ || (rm -f 
$@; exit 1); fi
        $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -K 
_grub_mod_init -K _grub_mod_fini -R .note -R .comment $@
 
-pre-loadenv.o: $(loadenv_mod_DEPENDENCIES) loadenv_mod-commands_loadenv.o 
loadenv_mod-util_envblk.o
+pre-loadenv.o: $(loadenv_mod_DEPENDENCIES) loadenv_mod-commands_loadenv.o 
loadenv_mod-lib_envblk.o
        -rm -f $@
-       $(TARGET_CC) $(loadenv_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ 
loadenv_mod-commands_loadenv.o loadenv_mod-util_envblk.o
+       $(TARGET_CC) $(loadenv_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ 
loadenv_mod-commands_loadenv.o loadenv_mod-lib_envblk.o
 
 mod-loadenv.o: mod-loadenv.c
        $(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(loadenv_mod_CFLAGS) 
-c -o $@ $<
@@ -3156,28 +3175,104 @@
        set -e;           $(TARGET_CC) -Icommands -I$(srcdir)/commands 
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(loadenv_mod_CFLAGS) -E $<    | sh 
$(srcdir)/genpartmaplist.sh loadenv > $@ || (rm -f $@; exit 1)
 
 
-loadenv_mod-util_envblk.o: util/envblk.c $(util/envblk.c_DEPENDENCIES)
-       $(TARGET_CC) -Iutil -I$(srcdir)/util $(TARGET_CPPFLAGS)  
$(TARGET_CFLAGS) $(loadenv_mod_CFLAGS) -MD -c -o $@ $<
--include loadenv_mod-util_envblk.d
+loadenv_mod-lib_envblk.o: lib/envblk.c $(lib/envblk.c_DEPENDENCIES)
+       $(TARGET_CC) -Ilib -I$(srcdir)/lib $(TARGET_CPPFLAGS)  $(TARGET_CFLAGS) 
$(loadenv_mod_CFLAGS) -MD -c -o $@ $<
+-include loadenv_mod-lib_envblk.d
 
-CLEANFILES += cmd-loadenv_mod-util_envblk.lst fs-loadenv_mod-util_envblk.lst 
partmap-loadenv_mod-util_envblk.lst
-COMMANDFILES += cmd-loadenv_mod-util_envblk.lst
-FSFILES += fs-loadenv_mod-util_envblk.lst
-PARTMAPFILES += partmap-loadenv_mod-util_envblk.lst
+CLEANFILES += cmd-loadenv_mod-lib_envblk.lst fs-loadenv_mod-lib_envblk.lst 
partmap-loadenv_mod-lib_envblk.lst
+COMMANDFILES += cmd-loadenv_mod-lib_envblk.lst
+FSFILES += fs-loadenv_mod-lib_envblk.lst
+PARTMAPFILES += partmap-loadenv_mod-lib_envblk.lst
 
-cmd-loadenv_mod-util_envblk.lst: util/envblk.c $(util/envblk.c_DEPENDENCIES) 
gencmdlist.sh
-       set -e;           $(TARGET_CC) -Iutil -I$(srcdir)/util 
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(loadenv_mod_CFLAGS) -E $<    | sh 
$(srcdir)/gencmdlist.sh loadenv > $@ || (rm -f $@; exit 1)
+cmd-loadenv_mod-lib_envblk.lst: lib/envblk.c $(lib/envblk.c_DEPENDENCIES) 
gencmdlist.sh
+       set -e;           $(TARGET_CC) -Ilib -I$(srcdir)/lib $(TARGET_CPPFLAGS) 
$(TARGET_CFLAGS) $(loadenv_mod_CFLAGS) -E $<      | sh $(srcdir)/gencmdlist.sh 
loadenv > $@ || (rm -f $@; exit 1)
 
-fs-loadenv_mod-util_envblk.lst: util/envblk.c $(util/envblk.c_DEPENDENCIES) 
genfslist.sh
-       set -e;           $(TARGET_CC) -Iutil -I$(srcdir)/util 
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(loadenv_mod_CFLAGS) -E $<    | sh 
$(srcdir)/genfslist.sh loadenv > $@ || (rm -f $@; exit 1)
+fs-loadenv_mod-lib_envblk.lst: lib/envblk.c $(lib/envblk.c_DEPENDENCIES) 
genfslist.sh
+       set -e;           $(TARGET_CC) -Ilib -I$(srcdir)/lib $(TARGET_CPPFLAGS) 
$(TARGET_CFLAGS) $(loadenv_mod_CFLAGS) -E $<      | sh $(srcdir)/genfslist.sh 
loadenv > $@ || (rm -f $@; exit 1)
 
-partmap-loadenv_mod-util_envblk.lst: util/envblk.c 
$(util/envblk.c_DEPENDENCIES) genpartmaplist.sh
-       set -e;           $(TARGET_CC) -Iutil -I$(srcdir)/util 
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(loadenv_mod_CFLAGS) -E $<    | sh 
$(srcdir)/genpartmaplist.sh loadenv > $@ || (rm -f $@; exit 1)
+partmap-loadenv_mod-lib_envblk.lst: lib/envblk.c $(lib/envblk.c_DEPENDENCIES) 
genpartmaplist.sh
+       set -e;           $(TARGET_CC) -Ilib -I$(srcdir)/lib $(TARGET_CPPFLAGS) 
$(TARGET_CFLAGS) $(loadenv_mod_CFLAGS) -E $<      | sh 
$(srcdir)/genpartmaplist.sh loadenv > $@ || (rm -f $@; exit 1)
 
 
 loadenv_mod_CFLAGS = $(COMMON_CFLAGS)
 loadenv_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
+# For crc.mod.
+crc_mod_SOURCES = commands/crc.c lib/crc.c
+CLEANFILES += crc.mod mod-crc.o mod-crc.c pre-crc.o crc_mod-commands_crc.o 
crc_mod-lib_crc.o und-crc.lst
+ifneq ($(crc_mod_EXPORTS),no)
+CLEANFILES += def-crc.lst
+DEFSYMFILES += def-crc.lst
+endif
+MOSTLYCLEANFILES += crc_mod-commands_crc.d crc_mod-lib_crc.d
+UNDSYMFILES += und-crc.lst
+
+crc.mod: pre-crc.o mod-crc.o $(TARGET_OBJ2ELF)
+       -rm -f $@
+       $(TARGET_CC) $(crc_mod_LDFLAGS) $(TARGET_LDFLAGS) $(MODULE_LDFLAGS) 
-Wl,-r,-d -o $@ pre-crc.o mod-crc.o
+       if test ! -z $(TARGET_OBJ2ELF); then ./$(TARGET_OBJ2ELF) $@ || (rm -f 
$@; exit 1); fi
+       $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -K 
_grub_mod_init -K _grub_mod_fini -R .note -R .comment $@
+
+pre-crc.o: $(crc_mod_DEPENDENCIES) crc_mod-commands_crc.o crc_mod-lib_crc.o
+       -rm -f $@
+       $(TARGET_CC) $(crc_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ 
crc_mod-commands_crc.o crc_mod-lib_crc.o
+
+mod-crc.o: mod-crc.c
+       $(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(crc_mod_CFLAGS) -c 
-o $@ $<
+
+mod-crc.c: moddep.lst genmodsrc.sh
+       sh $(srcdir)/genmodsrc.sh 'crc' $< > $@ || (rm -f $@; exit 1)
+
+ifneq ($(crc_mod_EXPORTS),no)
+def-crc.lst: pre-crc.o
+       $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 crc/' > $@
+endif
+
+und-crc.lst: pre-crc.o
+       echo 'crc' > $@
+       $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+crc_mod-commands_crc.o: commands/crc.c $(commands/crc.c_DEPENDENCIES)
+       $(TARGET_CC) -Icommands -I$(srcdir)/commands $(TARGET_CPPFLAGS)  
$(TARGET_CFLAGS) $(crc_mod_CFLAGS) -MD -c -o $@ $<
+-include crc_mod-commands_crc.d
+
+CLEANFILES += cmd-crc_mod-commands_crc.lst fs-crc_mod-commands_crc.lst 
partmap-crc_mod-commands_crc.lst
+COMMANDFILES += cmd-crc_mod-commands_crc.lst
+FSFILES += fs-crc_mod-commands_crc.lst
+PARTMAPFILES += partmap-crc_mod-commands_crc.lst
+
+cmd-crc_mod-commands_crc.lst: commands/crc.c $(commands/crc.c_DEPENDENCIES) 
gencmdlist.sh
+       set -e;           $(TARGET_CC) -Icommands -I$(srcdir)/commands 
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(crc_mod_CFLAGS) -E $<        | sh 
$(srcdir)/gencmdlist.sh crc > $@ || (rm -f $@; exit 1)
+
+fs-crc_mod-commands_crc.lst: commands/crc.c $(commands/crc.c_DEPENDENCIES) 
genfslist.sh
+       set -e;           $(TARGET_CC) -Icommands -I$(srcdir)/commands 
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(crc_mod_CFLAGS) -E $<        | sh 
$(srcdir)/genfslist.sh crc > $@ || (rm -f $@; exit 1)
+
+partmap-crc_mod-commands_crc.lst: commands/crc.c 
$(commands/crc.c_DEPENDENCIES) genpartmaplist.sh
+       set -e;           $(TARGET_CC) -Icommands -I$(srcdir)/commands 
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(crc_mod_CFLAGS) -E $<        | sh 
$(srcdir)/genpartmaplist.sh crc > $@ || (rm -f $@; exit 1)
+
+
+crc_mod-lib_crc.o: lib/crc.c $(lib/crc.c_DEPENDENCIES)
+       $(TARGET_CC) -Ilib -I$(srcdir)/lib $(TARGET_CPPFLAGS)  $(TARGET_CFLAGS) 
$(crc_mod_CFLAGS) -MD -c -o $@ $<
+-include crc_mod-lib_crc.d
+
+CLEANFILES += cmd-crc_mod-lib_crc.lst fs-crc_mod-lib_crc.lst 
partmap-crc_mod-lib_crc.lst
+COMMANDFILES += cmd-crc_mod-lib_crc.lst
+FSFILES += fs-crc_mod-lib_crc.lst
+PARTMAPFILES += partmap-crc_mod-lib_crc.lst
+
+cmd-crc_mod-lib_crc.lst: lib/crc.c $(lib/crc.c_DEPENDENCIES) gencmdlist.sh
+       set -e;           $(TARGET_CC) -Ilib -I$(srcdir)/lib $(TARGET_CPPFLAGS) 
$(TARGET_CFLAGS) $(crc_mod_CFLAGS) -E $<          | sh $(srcdir)/gencmdlist.sh 
crc > $@ || (rm -f $@; exit 1)
+
+fs-crc_mod-lib_crc.lst: lib/crc.c $(lib/crc.c_DEPENDENCIES) genfslist.sh
+       set -e;           $(TARGET_CC) -Ilib -I$(srcdir)/lib $(TARGET_CPPFLAGS) 
$(TARGET_CFLAGS) $(crc_mod_CFLAGS) -E $<          | sh $(srcdir)/genfslist.sh 
crc > $@ || (rm -f $@; exit 1)
+
+partmap-crc_mod-lib_crc.lst: lib/crc.c $(lib/crc.c_DEPENDENCIES) 
genpartmaplist.sh
+       set -e;           $(TARGET_CC) -Ilib -I$(srcdir)/lib $(TARGET_CPPFLAGS) 
$(TARGET_CFLAGS) $(crc_mod_CFLAGS) -E $<          | sh 
$(srcdir)/genpartmaplist.sh crc > $@ || (rm -f $@; exit 1)
+
+
+crc_mod_CFLAGS = $(COMMON_CFLAGS)
+crc_mod_LDFLAGS = $(COMMON_LDFLAGS)
+
 # Misc.
 pkglib_MODULES += gzio.mod elf.mod
 

Modified: trunk/grub2/conf/common.rmk
===================================================================
--- trunk/grub2/conf/common.rmk 2008-07-27 13:04:02 UTC (rev 1735)
+++ trunk/grub2/conf/common.rmk 2008-07-27 13:51:30 UTC (rev 1736)
@@ -26,7 +26,7 @@
 grub_fstest_SOURCES = util/grub-fstest.c util/hostfs.c util/misc.c     \
        kern/file.c kern/device.c kern/disk.c kern/err.c kern/misc.c    \
        disk/host.c disk/loopback.c  normal/arg.c normal/misc.c         \
-       io/gzio.c commands/hexdump.c commands/blocklist.c commands/ls.c \
+       io/gzio.c lib/hexdump.c commands/blocklist.c commands/ls.c \
        \
        fs/affs.c fs/cpio.c fs/ext2.c fs/fat.c fs/hfs.c                 \
        fs/hfsplus.c fs/iso9660.c fs/udf.c fs/jfs.c fs/minix.c          \
@@ -96,7 +96,7 @@
 
 # for grub-editenv
 bin_UTILITIES += grub-editenv
-grub_editenv_SOURCES = util/grub-editenv.c util/envblk.c util/misc.c 
kern/misc.c kern/err.c
+grub_editenv_SOURCES = util/grub-editenv.c lib/envblk.c util/misc.c 
kern/misc.c kern/err.c
 CLEANFILES += grub-editenv
 
 # for grub-pe2elf
@@ -274,7 +274,7 @@
        cmp.mod cat.mod help.mod font.mod search.mod            \
        loopback.mod fs_uuid.mod configfile.mod echo.mod        \
        terminfo.mod test.mod blocklist.mod hexdump.mod         \
-       read.mod sleep.mod loadenv.mod
+       read.mod sleep.mod loadenv.mod crc.mod
 
 # For hello.mod.
 hello_mod_SOURCES = hello/hello.c
@@ -357,7 +357,7 @@
 blocklist_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For hexdump.mod.
-hexdump_mod_SOURCES = commands/hexdump.c
+hexdump_mod_SOURCES = commands/hexdump.c lib/hexdump.c
 hexdump_mod_CFLAGS = $(COMMON_CFLAGS)
 hexdump_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
@@ -372,10 +372,15 @@
 sleep_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
 # For loadenv.mod.
-loadenv_mod_SOURCES = commands/loadenv.c util/envblk.c
+loadenv_mod_SOURCES = commands/loadenv.c lib/envblk.c
 loadenv_mod_CFLAGS = $(COMMON_CFLAGS)
 loadenv_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
+# For crc.mod.
+crc_mod_SOURCES = commands/crc.c lib/crc.c
+crc_mod_CFLAGS = $(COMMON_CFLAGS)
+crc_mod_LDFLAGS = $(COMMON_LDFLAGS)
+
 # Misc.
 pkglib_MODULES += gzio.mod elf.mod
 

Modified: trunk/grub2/conf/i386-coreboot.mk
===================================================================
--- trunk/grub2/conf/i386-coreboot.mk   2008-07-27 13:04:02 UTC (rev 1735)
+++ trunk/grub2/conf/i386-coreboot.mk   2008-07-27 13:51:30 UTC (rev 1736)
@@ -195,7 +195,7 @@
        commands/configfile.c commands/echo.c commands/help.c           \
        commands/terminal.c commands/ls.c commands/test.c               \
        commands/search.c commands/blocklist.c commands/hexdump.c       \
-       commands/i386/cpuid.c                                           \
+       lib/hexdump.c commands/i386/cpuid.c                             \
        disk/host.c disk/loopback.c                                     \
        \
        fs/affs.c fs/cpio.c fs/ext2.c fs/fat.c fs/hfs.c                 \
@@ -222,11 +222,11 @@
        \
        disk/raid.c disk/lvm.c                                          \
        grub_emu_init.c
-CLEANFILES += grub-emu$(EXEEXT) grub_emu-commands_boot.o 
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o 
grub_emu-commands_echo.o grub_emu-commands_help.o grub_emu-commands_terminal.o 
grub_emu-commands_ls.o grub_emu-commands_test.o grub_emu-commands_search.o 
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o 
grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o grub_emu-disk_loopback.o 
grub_emu-fs_affs.o grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o 
grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o 
grub_emu-fs_jfs.o grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o 
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o 
grub_emu-fs_afs.o grub_emu-fs_fshelp.o grub_emu-io_gzio.o 
grub_emu-kern_device.o grub_emu-kern_disk.o grub_emu-kern_dl.o 
grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o 
grub_emu-normal_execute.o grub_emu-kern_file.o grub_emu-kern_fs.o 
grub_emu-normal_lexer.o grub_emu-kern_loader.o grub_emu-kern_main.o 
grub_emu-kern_misc.o grub_emu-kern_parser.o grub_emu-grub_script_tab.o 
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o 
grub_emu-normal_arg.o grub_emu-normal_cmdline.o grub_emu-normal_command.o 
grub_emu-normal_function.o grub_emu-normal_completion.o grub_emu-normal_main.o 
grub_emu-normal_menu.o grub_emu-normal_menu_entry.o grub_emu-normal_misc.o 
grub_emu-normal_script.o grub_emu-normal_color.o grub_emu-partmap_amiga.o 
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o 
grub_emu-partmap_acorn.o grub_emu-partmap_gpt.o grub_emu-util_console.o 
grub_emu-util_hostfs.o grub_emu-util_grub_emu.o grub_emu-util_misc.o 
grub_emu-util_biosdisk.o grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o 
grub_emu-disk_raid.o grub_emu-disk_lvm.o grub_emu-grub_emu_init.o
-MOSTLYCLEANFILES += grub_emu-commands_boot.d grub_emu-commands_cat.d 
grub_emu-commands_cmp.d grub_emu-commands_configfile.d grub_emu-commands_echo.d 
grub_emu-commands_help.d grub_emu-commands_terminal.d grub_emu-commands_ls.d 
grub_emu-commands_test.d grub_emu-commands_search.d 
grub_emu-commands_blocklist.d grub_emu-commands_hexdump.d 
grub_emu-commands_i386_cpuid.d grub_emu-disk_host.d grub_emu-disk_loopback.d 
grub_emu-fs_affs.d grub_emu-fs_cpio.d grub_emu-fs_ext2.d grub_emu-fs_fat.d 
grub_emu-fs_hfs.d grub_emu-fs_hfsplus.d grub_emu-fs_iso9660.d grub_emu-fs_udf.d 
grub_emu-fs_jfs.d grub_emu-fs_minix.d grub_emu-fs_ntfs.d grub_emu-fs_ntfscomp.d 
grub_emu-fs_reiserfs.d grub_emu-fs_sfs.d grub_emu-fs_ufs.d grub_emu-fs_xfs.d 
grub_emu-fs_afs.d grub_emu-fs_fshelp.d grub_emu-io_gzio.d 
grub_emu-kern_device.d grub_emu-kern_disk.d grub_emu-kern_dl.d 
grub_emu-kern_elf.d grub_emu-kern_env.d grub_emu-kern_err.d 
grub_emu-normal_execute.d grub_emu-kern_file.d grub_emu-kern_fs.d 
grub_emu-normal_lexer.d grub_emu-kern_loader.d grub_emu-kern_main.d 
grub_emu-kern_misc.d grub_emu-kern_parser.d grub_emu-grub_script_tab.d 
grub_emu-kern_partition.d grub_emu-kern_rescue.d grub_emu-kern_term.d 
grub_emu-normal_arg.d grub_emu-normal_cmdline.d grub_emu-normal_command.d 
grub_emu-normal_function.d grub_emu-normal_completion.d grub_emu-normal_main.d 
grub_emu-normal_menu.d grub_emu-normal_menu_entry.d grub_emu-normal_misc.d 
grub_emu-normal_script.d grub_emu-normal_color.d grub_emu-partmap_amiga.d 
grub_emu-partmap_apple.d grub_emu-partmap_pc.d grub_emu-partmap_sun.d 
grub_emu-partmap_acorn.d grub_emu-partmap_gpt.d grub_emu-util_console.d 
grub_emu-util_hostfs.d grub_emu-util_grub_emu.d grub_emu-util_misc.d 
grub_emu-util_biosdisk.d grub_emu-util_getroot.d grub_emu-util_i386_pc_misc.d 
grub_emu-disk_raid.d grub_emu-disk_lvm.d grub_emu-grub_emu_init.d
+CLEANFILES += grub-emu$(EXEEXT) grub_emu-commands_boot.o 
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o 
grub_emu-commands_echo.o grub_emu-commands_help.o grub_emu-commands_terminal.o 
grub_emu-commands_ls.o grub_emu-commands_test.o grub_emu-commands_search.o 
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o 
grub_emu-lib_hexdump.o grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o 
grub_emu-disk_loopback.o grub_emu-fs_affs.o grub_emu-fs_cpio.o 
grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o 
grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o grub_emu-fs_minix.o 
grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o grub_emu-fs_reiserfs.o 
grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o grub_emu-fs_afs.o 
grub_emu-fs_fshelp.o grub_emu-io_gzio.o grub_emu-kern_device.o 
grub_emu-kern_disk.o grub_emu-kern_dl.o grub_emu-kern_elf.o grub_emu-kern_env.o 
grub_emu-kern_err.o grub_emu-normal_execute.o grub_emu-kern_file.o 
grub_emu-kern_fs.o grub_emu-normal_lexer.o grub_emu-kern_loader.o 
grub_emu-kern_main.o grub_emu-kern_misc.o grub_emu-kern_parser.o 
grub_emu-grub_script_tab.o grub_emu-kern_partition.o grub_emu-kern_rescue.o 
grub_emu-kern_term.o grub_emu-normal_arg.o grub_emu-normal_cmdline.o 
grub_emu-normal_command.o grub_emu-normal_function.o 
grub_emu-normal_completion.o grub_emu-normal_main.o grub_emu-normal_menu.o 
grub_emu-normal_menu_entry.o grub_emu-normal_misc.o grub_emu-normal_script.o 
grub_emu-normal_color.o grub_emu-partmap_amiga.o grub_emu-partmap_apple.o 
grub_emu-partmap_pc.o grub_emu-partmap_sun.o grub_emu-partmap_acorn.o 
grub_emu-partmap_gpt.o grub_emu-util_console.o grub_emu-util_hostfs.o 
grub_emu-util_grub_emu.o grub_emu-util_misc.o grub_emu-util_biosdisk.o 
grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o grub_emu-disk_raid.o 
grub_emu-disk_lvm.o grub_emu-grub_emu_init.o
+MOSTLYCLEANFILES += grub_emu-commands_boot.d grub_emu-commands_cat.d 
grub_emu-commands_cmp.d grub_emu-commands_configfile.d grub_emu-commands_echo.d 
grub_emu-commands_help.d grub_emu-commands_terminal.d grub_emu-commands_ls.d 
grub_emu-commands_test.d grub_emu-commands_search.d 
grub_emu-commands_blocklist.d grub_emu-commands_hexdump.d 
grub_emu-lib_hexdump.d grub_emu-commands_i386_cpuid.d grub_emu-disk_host.d 
grub_emu-disk_loopback.d grub_emu-fs_affs.d grub_emu-fs_cpio.d 
grub_emu-fs_ext2.d grub_emu-fs_fat.d grub_emu-fs_hfs.d grub_emu-fs_hfsplus.d 
grub_emu-fs_iso9660.d grub_emu-fs_udf.d grub_emu-fs_jfs.d grub_emu-fs_minix.d 
grub_emu-fs_ntfs.d grub_emu-fs_ntfscomp.d grub_emu-fs_reiserfs.d 
grub_emu-fs_sfs.d grub_emu-fs_ufs.d grub_emu-fs_xfs.d grub_emu-fs_afs.d 
grub_emu-fs_fshelp.d grub_emu-io_gzio.d grub_emu-kern_device.d 
grub_emu-kern_disk.d grub_emu-kern_dl.d grub_emu-kern_elf.d grub_emu-kern_env.d 
grub_emu-kern_err.d grub_emu-normal_execute.d grub_emu-kern_file.d 
grub_emu-kern_fs.d grub_emu-normal_lexer.d grub_emu-kern_loader.d 
grub_emu-kern_main.d grub_emu-kern_misc.d grub_emu-kern_parser.d 
grub_emu-grub_script_tab.d grub_emu-kern_partition.d grub_emu-kern_rescue.d 
grub_emu-kern_term.d grub_emu-normal_arg.d grub_emu-normal_cmdline.d 
grub_emu-normal_command.d grub_emu-normal_function.d 
grub_emu-normal_completion.d grub_emu-normal_main.d grub_emu-normal_menu.d 
grub_emu-normal_menu_entry.d grub_emu-normal_misc.d grub_emu-normal_script.d 
grub_emu-normal_color.d grub_emu-partmap_amiga.d grub_emu-partmap_apple.d 
grub_emu-partmap_pc.d grub_emu-partmap_sun.d grub_emu-partmap_acorn.d 
grub_emu-partmap_gpt.d grub_emu-util_console.d grub_emu-util_hostfs.d 
grub_emu-util_grub_emu.d grub_emu-util_misc.d grub_emu-util_biosdisk.d 
grub_emu-util_getroot.d grub_emu-util_i386_pc_misc.d grub_emu-disk_raid.d 
grub_emu-disk_lvm.d grub_emu-grub_emu_init.d
 
-grub-emu: $(grub_emu_DEPENDENCIES) grub_emu-commands_boot.o 
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o 
grub_emu-commands_echo.o grub_emu-commands_help.o grub_emu-commands_terminal.o 
grub_emu-commands_ls.o grub_emu-commands_test.o grub_emu-commands_search.o 
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o 
grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o grub_emu-disk_loopback.o 
grub_emu-fs_affs.o grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o 
grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o 
grub_emu-fs_jfs.o grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o 
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o 
grub_emu-fs_afs.o grub_emu-fs_fshelp.o grub_emu-io_gzio.o 
grub_emu-kern_device.o grub_emu-kern_disk.o grub_emu-kern_dl.o 
grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o 
grub_emu-normal_execute.o grub_emu-kern_file.o grub_emu-kern_fs.o 
grub_emu-normal_lexer.o grub_emu-kern_loader.o grub_emu-kern_main.o 
grub_emu-kern_misc.o grub_emu-kern_parser.o grub_emu-grub_script_tab.o 
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o 
grub_emu-normal_arg.o grub_emu-normal_cmdline.o grub_emu-normal_command.o 
grub_emu-normal_function.o grub_emu-normal_completion.o grub_emu-normal_main.o 
grub_emu-normal_menu.o grub_emu-normal_menu_entry.o grub_emu-normal_misc.o 
grub_emu-normal_script.o grub_emu-normal_color.o grub_emu-partmap_amiga.o 
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o 
grub_emu-partmap_acorn.o grub_emu-partmap_gpt.o grub_emu-util_console.o 
grub_emu-util_hostfs.o grub_emu-util_grub_emu.o grub_emu-util_misc.o 
grub_emu-util_biosdisk.o grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o 
grub_emu-disk_raid.o grub_emu-disk_lvm.o grub_emu-grub_emu_init.o
-       $(CC) -o $@ grub_emu-commands_boot.o grub_emu-commands_cat.o 
grub_emu-commands_cmp.o grub_emu-commands_configfile.o grub_emu-commands_echo.o 
grub_emu-commands_help.o grub_emu-commands_terminal.o grub_emu-commands_ls.o 
grub_emu-commands_test.o grub_emu-commands_search.o 
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o 
grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o grub_emu-disk_loopback.o 
grub_emu-fs_affs.o grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o 
grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o 
grub_emu-fs_jfs.o grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o 
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o 
grub_emu-fs_afs.o grub_emu-fs_fshelp.o grub_emu-io_gzio.o 
grub_emu-kern_device.o grub_emu-kern_disk.o grub_emu-kern_dl.o 
grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o 
grub_emu-normal_execute.o grub_emu-kern_file.o grub_emu-kern_fs.o 
grub_emu-normal_lexer.o grub_emu-kern_loader.o grub_emu-kern_main.o 
grub_emu-kern_misc.o grub_emu-kern_parser.o grub_emu-grub_script_tab.o 
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o 
grub_emu-normal_arg.o grub_emu-normal_cmdline.o grub_emu-normal_command.o 
grub_emu-normal_function.o grub_emu-normal_completion.o grub_emu-normal_main.o 
grub_emu-normal_menu.o grub_emu-normal_menu_entry.o grub_emu-normal_misc.o 
grub_emu-normal_script.o grub_emu-normal_color.o grub_emu-partmap_amiga.o 
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o 
grub_emu-partmap_acorn.o grub_emu-partmap_gpt.o grub_emu-util_console.o 
grub_emu-util_hostfs.o grub_emu-util_grub_emu.o grub_emu-util_misc.o 
grub_emu-util_biosdisk.o grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o 
grub_emu-disk_raid.o grub_emu-disk_lvm.o grub_emu-grub_emu_init.o $(LDFLAGS) 
$(grub_emu_LDFLAGS)
+grub-emu: $(grub_emu_DEPENDENCIES) grub_emu-commands_boot.o 
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o 
grub_emu-commands_echo.o grub_emu-commands_help.o grub_emu-commands_terminal.o 
grub_emu-commands_ls.o grub_emu-commands_test.o grub_emu-commands_search.o 
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o 
grub_emu-lib_hexdump.o grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o 
grub_emu-disk_loopback.o grub_emu-fs_affs.o grub_emu-fs_cpio.o 
grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o 
grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o grub_emu-fs_minix.o 
grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o grub_emu-fs_reiserfs.o 
grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o grub_emu-fs_afs.o 
grub_emu-fs_fshelp.o grub_emu-io_gzio.o grub_emu-kern_device.o 
grub_emu-kern_disk.o grub_emu-kern_dl.o grub_emu-kern_elf.o grub_emu-kern_env.o 
grub_emu-kern_err.o grub_emu-normal_execute.o grub_emu-kern_file.o 
grub_emu-kern_fs.o grub_emu-normal_lexer.o grub_emu-kern_loader.o 
grub_emu-kern_main.o grub_emu-kern_misc.o grub_emu-kern_parser.o 
grub_emu-grub_script_tab.o grub_emu-kern_partition.o grub_emu-kern_rescue.o 
grub_emu-kern_term.o grub_emu-normal_arg.o grub_emu-normal_cmdline.o 
grub_emu-normal_command.o grub_emu-normal_function.o 
grub_emu-normal_completion.o grub_emu-normal_main.o grub_emu-normal_menu.o 
grub_emu-normal_menu_entry.o grub_emu-normal_misc.o grub_emu-normal_script.o 
grub_emu-normal_color.o grub_emu-partmap_amiga.o grub_emu-partmap_apple.o 
grub_emu-partmap_pc.o grub_emu-partmap_sun.o grub_emu-partmap_acorn.o 
grub_emu-partmap_gpt.o grub_emu-util_console.o grub_emu-util_hostfs.o 
grub_emu-util_grub_emu.o grub_emu-util_misc.o grub_emu-util_biosdisk.o 
grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o grub_emu-disk_raid.o 
grub_emu-disk_lvm.o grub_emu-grub_emu_init.o
+       $(CC) -o $@ grub_emu-commands_boot.o grub_emu-commands_cat.o 
grub_emu-commands_cmp.o grub_emu-commands_configfile.o grub_emu-commands_echo.o 
grub_emu-commands_help.o grub_emu-commands_terminal.o grub_emu-commands_ls.o 
grub_emu-commands_test.o grub_emu-commands_search.o 
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o 
grub_emu-lib_hexdump.o grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o 
grub_emu-disk_loopback.o grub_emu-fs_affs.o grub_emu-fs_cpio.o 
grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o 
grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o grub_emu-fs_minix.o 
grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o grub_emu-fs_reiserfs.o 
grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o grub_emu-fs_afs.o 
grub_emu-fs_fshelp.o grub_emu-io_gzio.o grub_emu-kern_device.o 
grub_emu-kern_disk.o grub_emu-kern_dl.o grub_emu-kern_elf.o grub_emu-kern_env.o 
grub_emu-kern_err.o grub_emu-normal_execute.o grub_emu-kern_file.o 
grub_emu-kern_fs.o grub_emu-normal_lexer.o grub_emu-kern_loader.o 
grub_emu-kern_main.o grub_emu-kern_misc.o grub_emu-kern_parser.o 
grub_emu-grub_script_tab.o grub_emu-kern_partition.o grub_emu-kern_rescue.o 
grub_emu-kern_term.o grub_emu-normal_arg.o grub_emu-normal_cmdline.o 
grub_emu-normal_command.o grub_emu-normal_function.o 
grub_emu-normal_completion.o grub_emu-normal_main.o grub_emu-normal_menu.o 
grub_emu-normal_menu_entry.o grub_emu-normal_misc.o grub_emu-normal_script.o 
grub_emu-normal_color.o grub_emu-partmap_amiga.o grub_emu-partmap_apple.o 
grub_emu-partmap_pc.o grub_emu-partmap_sun.o grub_emu-partmap_acorn.o 
grub_emu-partmap_gpt.o grub_emu-util_console.o grub_emu-util_hostfs.o 
grub_emu-util_grub_emu.o grub_emu-util_misc.o grub_emu-util_biosdisk.o 
grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o grub_emu-disk_raid.o 
grub_emu-disk_lvm.o grub_emu-grub_emu_init.o $(LDFLAGS) $(grub_emu_LDFLAGS)
 
 grub_emu-commands_boot.o: commands/boot.c $(commands/boot.c_DEPENDENCIES)
        $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS) 
-DGRUB_UTIL=1 $(grub_emu_CFLAGS) -MD -c -o $@ $<
@@ -276,6 +276,10 @@
        $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS) 
-DGRUB_UTIL=1 $(grub_emu_CFLAGS) -MD -c -o $@ $<
 -include grub_emu-commands_hexdump.d
 
+grub_emu-lib_hexdump.o: lib/hexdump.c $(lib/hexdump.c_DEPENDENCIES)
+       $(CC) -Ilib -I$(srcdir)/lib $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 
$(grub_emu_CFLAGS) -MD -c -o $@ $<
+-include grub_emu-lib_hexdump.d
+
 grub_emu-commands_i386_cpuid.o: commands/i386/cpuid.c 
$(commands/i386/cpuid.c_DEPENDENCIES)
        $(CC) -Icommands/i386 -I$(srcdir)/commands/i386 $(CPPFLAGS) $(CFLAGS) 
-DGRUB_UTIL=1 $(grub_emu_CFLAGS) -MD -c -o $@ $<
 -include grub_emu-commands_i386_cpuid.d

Modified: trunk/grub2/conf/i386-coreboot.rmk
===================================================================
--- trunk/grub2/conf/i386-coreboot.rmk  2008-07-27 13:04:02 UTC (rev 1735)
+++ trunk/grub2/conf/i386-coreboot.rmk  2008-07-27 13:51:30 UTC (rev 1736)
@@ -61,7 +61,7 @@
        commands/configfile.c commands/echo.c commands/help.c           \
        commands/terminal.c commands/ls.c commands/test.c               \
        commands/search.c commands/blocklist.c commands/hexdump.c       \
-       commands/i386/cpuid.c                                           \
+       lib/hexdump.c commands/i386/cpuid.c                             \
        disk/host.c disk/loopback.c                                     \
        \
        fs/affs.c fs/cpio.c fs/ext2.c fs/fat.c fs/hfs.c                 \

Modified: trunk/grub2/conf/i386-efi.mk
===================================================================
--- trunk/grub2/conf/i386-efi.mk        2008-07-27 13:04:02 UTC (rev 1735)
+++ trunk/grub2/conf/i386-efi.mk        2008-07-27 13:51:30 UTC (rev 1736)
@@ -72,7 +72,7 @@
 grub_emu_SOURCES = commands/boot.c commands/cat.c commands/cmp.c       \
        commands/configfile.c commands/help.c                           \
        commands/terminal.c commands/ls.c commands/test.c               \
-       commands/search.c commands/hexdump.c                            \
+       commands/search.c commands/hexdump.c lib/hexdump.c              \
        commands/halt.c commands/reboot.c                               \
        commands/i386/cpuid.c                                           \
        disk/loopback.c                                                 \

Modified: trunk/grub2/conf/i386-efi.rmk
===================================================================
--- trunk/grub2/conf/i386-efi.rmk       2008-07-27 13:04:02 UTC (rev 1735)
+++ trunk/grub2/conf/i386-efi.rmk       2008-07-27 13:51:30 UTC (rev 1736)
@@ -36,7 +36,7 @@
 grub_emu_SOURCES = commands/boot.c commands/cat.c commands/cmp.c       \
        commands/configfile.c commands/help.c                           \
        commands/terminal.c commands/ls.c commands/test.c               \
-       commands/search.c commands/hexdump.c                            \
+       commands/search.c commands/hexdump.c lib/hexdump.c              \
        commands/halt.c commands/reboot.c                               \
        commands/i386/cpuid.c                                           \
        disk/loopback.c                                                 \

Modified: trunk/grub2/conf/i386-ieee1275.mk
===================================================================
--- trunk/grub2/conf/i386-ieee1275.mk   2008-07-27 13:04:02 UTC (rev 1735)
+++ trunk/grub2/conf/i386-ieee1275.mk   2008-07-27 13:51:30 UTC (rev 1736)
@@ -208,7 +208,7 @@
        commands/configfile.c commands/echo.c commands/help.c           \
        commands/terminal.c commands/ls.c commands/test.c               \
        commands/search.c commands/blocklist.c commands/hexdump.c       \
-       commands/halt.c commands/reboot.c                               \
+       lib/hexdump.c commands/halt.c commands/reboot.c                 \
        commands/i386/cpuid.c                                           \
        disk/host.c disk/loopback.c                                     \
        \
@@ -236,11 +236,11 @@
        \
        disk/raid.c disk/lvm.c                                          \
        grub_emu_init.c
-CLEANFILES += grub-emu$(EXEEXT) grub_emu-commands_boot.o 
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o 
grub_emu-commands_echo.o grub_emu-commands_help.o grub_emu-commands_terminal.o 
grub_emu-commands_ls.o grub_emu-commands_test.o grub_emu-commands_search.o 
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o 
grub_emu-commands_halt.o grub_emu-commands_reboot.o 
grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o grub_emu-disk_loopback.o 
grub_emu-fs_affs.o grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o 
grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o 
grub_emu-fs_jfs.o grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o 
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o 
grub_emu-fs_afs.o grub_emu-fs_fshelp.o grub_emu-io_gzio.o 
grub_emu-kern_device.o grub_emu-kern_disk.o grub_emu-kern_dl.o 
grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o 
grub_emu-normal_execute.o grub_emu-kern_file.o grub_emu-kern_fs.o 
grub_emu-normal_lexer.o grub_emu-kern_loader.o grub_emu-kern_main.o 
grub_emu-kern_misc.o grub_emu-kern_parser.o grub_emu-grub_script_tab.o 
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o 
grub_emu-normal_arg.o grub_emu-normal_cmdline.o grub_emu-normal_command.o 
grub_emu-normal_function.o grub_emu-normal_completion.o grub_emu-normal_main.o 
grub_emu-normal_menu.o grub_emu-normal_menu_entry.o grub_emu-normal_misc.o 
grub_emu-normal_script.o grub_emu-normal_color.o grub_emu-partmap_amiga.o 
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o 
grub_emu-partmap_acorn.o grub_emu-partmap_gpt.o grub_emu-util_console.o 
grub_emu-util_hostfs.o grub_emu-util_grub_emu.o grub_emu-util_misc.o 
grub_emu-util_biosdisk.o grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o 
grub_emu-disk_raid.o grub_emu-disk_lvm.o grub_emu-grub_emu_init.o
-MOSTLYCLEANFILES += grub_emu-commands_boot.d grub_emu-commands_cat.d 
grub_emu-commands_cmp.d grub_emu-commands_configfile.d grub_emu-commands_echo.d 
grub_emu-commands_help.d grub_emu-commands_terminal.d grub_emu-commands_ls.d 
grub_emu-commands_test.d grub_emu-commands_search.d 
grub_emu-commands_blocklist.d grub_emu-commands_hexdump.d 
grub_emu-commands_halt.d grub_emu-commands_reboot.d 
grub_emu-commands_i386_cpuid.d grub_emu-disk_host.d grub_emu-disk_loopback.d 
grub_emu-fs_affs.d grub_emu-fs_cpio.d grub_emu-fs_ext2.d grub_emu-fs_fat.d 
grub_emu-fs_hfs.d grub_emu-fs_hfsplus.d grub_emu-fs_iso9660.d grub_emu-fs_udf.d 
grub_emu-fs_jfs.d grub_emu-fs_minix.d grub_emu-fs_ntfs.d grub_emu-fs_ntfscomp.d 
grub_emu-fs_reiserfs.d grub_emu-fs_sfs.d grub_emu-fs_ufs.d grub_emu-fs_xfs.d 
grub_emu-fs_afs.d grub_emu-fs_fshelp.d grub_emu-io_gzio.d 
grub_emu-kern_device.d grub_emu-kern_disk.d grub_emu-kern_dl.d 
grub_emu-kern_elf.d grub_emu-kern_env.d grub_emu-kern_err.d 
grub_emu-normal_execute.d grub_emu-kern_file.d grub_emu-kern_fs.d 
grub_emu-normal_lexer.d grub_emu-kern_loader.d grub_emu-kern_main.d 
grub_emu-kern_misc.d grub_emu-kern_parser.d grub_emu-grub_script_tab.d 
grub_emu-kern_partition.d grub_emu-kern_rescue.d grub_emu-kern_term.d 
grub_emu-normal_arg.d grub_emu-normal_cmdline.d grub_emu-normal_command.d 
grub_emu-normal_function.d grub_emu-normal_completion.d grub_emu-normal_main.d 
grub_emu-normal_menu.d grub_emu-normal_menu_entry.d grub_emu-normal_misc.d 
grub_emu-normal_script.d grub_emu-normal_color.d grub_emu-partmap_amiga.d 
grub_emu-partmap_apple.d grub_emu-partmap_pc.d grub_emu-partmap_sun.d 
grub_emu-partmap_acorn.d grub_emu-partmap_gpt.d grub_emu-util_console.d 
grub_emu-util_hostfs.d grub_emu-util_grub_emu.d grub_emu-util_misc.d 
grub_emu-util_biosdisk.d grub_emu-util_getroot.d grub_emu-util_i386_pc_misc.d 
grub_emu-disk_raid.d grub_emu-disk_lvm.d grub_emu-grub_emu_init.d
+CLEANFILES += grub-emu$(EXEEXT) grub_emu-commands_boot.o 
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o 
grub_emu-commands_echo.o grub_emu-commands_help.o grub_emu-commands_terminal.o 
grub_emu-commands_ls.o grub_emu-commands_test.o grub_emu-commands_search.o 
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o 
grub_emu-lib_hexdump.o grub_emu-commands_halt.o grub_emu-commands_reboot.o 
grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o grub_emu-disk_loopback.o 
grub_emu-fs_affs.o grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o 
grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o 
grub_emu-fs_jfs.o grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o 
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o 
grub_emu-fs_afs.o grub_emu-fs_fshelp.o grub_emu-io_gzio.o 
grub_emu-kern_device.o grub_emu-kern_disk.o grub_emu-kern_dl.o 
grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o 
grub_emu-normal_execute.o grub_emu-kern_file.o grub_emu-kern_fs.o 
grub_emu-normal_lexer.o grub_emu-kern_loader.o grub_emu-kern_main.o 
grub_emu-kern_misc.o grub_emu-kern_parser.o grub_emu-grub_script_tab.o 
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o 
grub_emu-normal_arg.o grub_emu-normal_cmdline.o grub_emu-normal_command.o 
grub_emu-normal_function.o grub_emu-normal_completion.o grub_emu-normal_main.o 
grub_emu-normal_menu.o grub_emu-normal_menu_entry.o grub_emu-normal_misc.o 
grub_emu-normal_script.o grub_emu-normal_color.o grub_emu-partmap_amiga.o 
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o 
grub_emu-partmap_acorn.o grub_emu-partmap_gpt.o grub_emu-util_console.o 
grub_emu-util_hostfs.o grub_emu-util_grub_emu.o grub_emu-util_misc.o 
grub_emu-util_biosdisk.o grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o 
grub_emu-disk_raid.o grub_emu-disk_lvm.o grub_emu-grub_emu_init.o
+MOSTLYCLEANFILES += grub_emu-commands_boot.d grub_emu-commands_cat.d 
grub_emu-commands_cmp.d grub_emu-commands_configfile.d grub_emu-commands_echo.d 
grub_emu-commands_help.d grub_emu-commands_terminal.d grub_emu-commands_ls.d 
grub_emu-commands_test.d grub_emu-commands_search.d 
grub_emu-commands_blocklist.d grub_emu-commands_hexdump.d 
grub_emu-lib_hexdump.d grub_emu-commands_halt.d grub_emu-commands_reboot.d 
grub_emu-commands_i386_cpuid.d grub_emu-disk_host.d grub_emu-disk_loopback.d 
grub_emu-fs_affs.d grub_emu-fs_cpio.d grub_emu-fs_ext2.d grub_emu-fs_fat.d 
grub_emu-fs_hfs.d grub_emu-fs_hfsplus.d grub_emu-fs_iso9660.d grub_emu-fs_udf.d 
grub_emu-fs_jfs.d grub_emu-fs_minix.d grub_emu-fs_ntfs.d grub_emu-fs_ntfscomp.d 
grub_emu-fs_reiserfs.d grub_emu-fs_sfs.d grub_emu-fs_ufs.d grub_emu-fs_xfs.d 
grub_emu-fs_afs.d grub_emu-fs_fshelp.d grub_emu-io_gzio.d 
grub_emu-kern_device.d grub_emu-kern_disk.d grub_emu-kern_dl.d 
grub_emu-kern_elf.d grub_emu-kern_env.d grub_emu-kern_err.d 
grub_emu-normal_execute.d grub_emu-kern_file.d grub_emu-kern_fs.d 
grub_emu-normal_lexer.d grub_emu-kern_loader.d grub_emu-kern_main.d 
grub_emu-kern_misc.d grub_emu-kern_parser.d grub_emu-grub_script_tab.d 
grub_emu-kern_partition.d grub_emu-kern_rescue.d grub_emu-kern_term.d 
grub_emu-normal_arg.d grub_emu-normal_cmdline.d grub_emu-normal_command.d 
grub_emu-normal_function.d grub_emu-normal_completion.d grub_emu-normal_main.d 
grub_emu-normal_menu.d grub_emu-normal_menu_entry.d grub_emu-normal_misc.d 
grub_emu-normal_script.d grub_emu-normal_color.d grub_emu-partmap_amiga.d 
grub_emu-partmap_apple.d grub_emu-partmap_pc.d grub_emu-partmap_sun.d 
grub_emu-partmap_acorn.d grub_emu-partmap_gpt.d grub_emu-util_console.d 
grub_emu-util_hostfs.d grub_emu-util_grub_emu.d grub_emu-util_misc.d 
grub_emu-util_biosdisk.d grub_emu-util_getroot.d grub_emu-util_i386_pc_misc.d 
grub_emu-disk_raid.d grub_emu-disk_lvm.d grub_emu-grub_emu_init.d
 
-grub-emu: $(grub_emu_DEPENDENCIES) grub_emu-commands_boot.o 
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o 
grub_emu-commands_echo.o grub_emu-commands_help.o grub_emu-commands_terminal.o 
grub_emu-commands_ls.o grub_emu-commands_test.o grub_emu-commands_search.o 
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o 
grub_emu-commands_halt.o grub_emu-commands_reboot.o 
grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o grub_emu-disk_loopback.o 
grub_emu-fs_affs.o grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o 
grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o 
grub_emu-fs_jfs.o grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o 
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o 
grub_emu-fs_afs.o grub_emu-fs_fshelp.o grub_emu-io_gzio.o 
grub_emu-kern_device.o grub_emu-kern_disk.o grub_emu-kern_dl.o 
grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o 
grub_emu-normal_execute.o grub_emu-kern_file.o grub_emu-kern_fs.o 
grub_emu-normal_lexer.o grub_emu-kern_loader.o grub_emu-kern_main.o 
grub_emu-kern_misc.o grub_emu-kern_parser.o grub_emu-grub_script_tab.o 
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o 
grub_emu-normal_arg.o grub_emu-normal_cmdline.o grub_emu-normal_command.o 
grub_emu-normal_function.o grub_emu-normal_completion.o grub_emu-normal_main.o 
grub_emu-normal_menu.o grub_emu-normal_menu_entry.o grub_emu-normal_misc.o 
grub_emu-normal_script.o grub_emu-normal_color.o grub_emu-partmap_amiga.o 
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o 
grub_emu-partmap_acorn.o grub_emu-partmap_gpt.o grub_emu-util_console.o 
grub_emu-util_hostfs.o grub_emu-util_grub_emu.o grub_emu-util_misc.o 
grub_emu-util_biosdisk.o grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o 
grub_emu-disk_raid.o grub_emu-disk_lvm.o grub_emu-grub_emu_init.o
-       $(CC) -o $@ grub_emu-commands_boot.o grub_emu-commands_cat.o 
grub_emu-commands_cmp.o grub_emu-commands_configfile.o grub_emu-commands_echo.o 
grub_emu-commands_help.o grub_emu-commands_terminal.o grub_emu-commands_ls.o 
grub_emu-commands_test.o grub_emu-commands_search.o 
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o 
grub_emu-commands_halt.o grub_emu-commands_reboot.o 
grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o grub_emu-disk_loopback.o 
grub_emu-fs_affs.o grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o 
grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o 
grub_emu-fs_jfs.o grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o 
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o 
grub_emu-fs_afs.o grub_emu-fs_fshelp.o grub_emu-io_gzio.o 
grub_emu-kern_device.o grub_emu-kern_disk.o grub_emu-kern_dl.o 
grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o 
grub_emu-normal_execute.o grub_emu-kern_file.o grub_emu-kern_fs.o 
grub_emu-normal_lexer.o grub_emu-kern_loader.o grub_emu-kern_main.o 
grub_emu-kern_misc.o grub_emu-kern_parser.o grub_emu-grub_script_tab.o 
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o 
grub_emu-normal_arg.o grub_emu-normal_cmdline.o grub_emu-normal_command.o 
grub_emu-normal_function.o grub_emu-normal_completion.o grub_emu-normal_main.o 
grub_emu-normal_menu.o grub_emu-normal_menu_entry.o grub_emu-normal_misc.o 
grub_emu-normal_script.o grub_emu-normal_color.o grub_emu-partmap_amiga.o 
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o 
grub_emu-partmap_acorn.o grub_emu-partmap_gpt.o grub_emu-util_console.o 
grub_emu-util_hostfs.o grub_emu-util_grub_emu.o grub_emu-util_misc.o 
grub_emu-util_biosdisk.o grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o 
grub_emu-disk_raid.o grub_emu-disk_lvm.o grub_emu-grub_emu_init.o $(LDFLAGS) 
$(grub_emu_LDFLAGS)
+grub-emu: $(grub_emu_DEPENDENCIES) grub_emu-commands_boot.o 
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o 
grub_emu-commands_echo.o grub_emu-commands_help.o grub_emu-commands_terminal.o 
grub_emu-commands_ls.o grub_emu-commands_test.o grub_emu-commands_search.o 
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o 
grub_emu-lib_hexdump.o grub_emu-commands_halt.o grub_emu-commands_reboot.o 
grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o grub_emu-disk_loopback.o 
grub_emu-fs_affs.o grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o 
grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o 
grub_emu-fs_jfs.o grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o 
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o 
grub_emu-fs_afs.o grub_emu-fs_fshelp.o grub_emu-io_gzio.o 
grub_emu-kern_device.o grub_emu-kern_disk.o grub_emu-kern_dl.o 
grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o 
grub_emu-normal_execute.o grub_emu-kern_file.o grub_emu-kern_fs.o 
grub_emu-normal_lexer.o grub_emu-kern_loader.o grub_emu-kern_main.o 
grub_emu-kern_misc.o grub_emu-kern_parser.o grub_emu-grub_script_tab.o 
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o 
grub_emu-normal_arg.o grub_emu-normal_cmdline.o grub_emu-normal_command.o 
grub_emu-normal_function.o grub_emu-normal_completion.o grub_emu-normal_main.o 
grub_emu-normal_menu.o grub_emu-normal_menu_entry.o grub_emu-normal_misc.o 
grub_emu-normal_script.o grub_emu-normal_color.o grub_emu-partmap_amiga.o 
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o 
grub_emu-partmap_acorn.o grub_emu-partmap_gpt.o grub_emu-util_console.o 
grub_emu-util_hostfs.o grub_emu-util_grub_emu.o grub_emu-util_misc.o 
grub_emu-util_biosdisk.o grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o 
grub_emu-disk_raid.o grub_emu-disk_lvm.o grub_emu-grub_emu_init.o
+       $(CC) -o $@ grub_emu-commands_boot.o grub_emu-commands_cat.o 
grub_emu-commands_cmp.o grub_emu-commands_configfile.o grub_emu-commands_echo.o 
grub_emu-commands_help.o grub_emu-commands_terminal.o grub_emu-commands_ls.o 
grub_emu-commands_test.o grub_emu-commands_search.o 
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o 
grub_emu-lib_hexdump.o grub_emu-commands_halt.o grub_emu-commands_reboot.o 
grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o grub_emu-disk_loopback.o 
grub_emu-fs_affs.o grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o 
grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o 
grub_emu-fs_jfs.o grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o 
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o 
grub_emu-fs_afs.o grub_emu-fs_fshelp.o grub_emu-io_gzio.o 
grub_emu-kern_device.o grub_emu-kern_disk.o grub_emu-kern_dl.o 
grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o 
grub_emu-normal_execute.o grub_emu-kern_file.o grub_emu-kern_fs.o 
grub_emu-normal_lexer.o grub_emu-kern_loader.o grub_emu-kern_main.o 
grub_emu-kern_misc.o grub_emu-kern_parser.o grub_emu-grub_script_tab.o 
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o 
grub_emu-normal_arg.o grub_emu-normal_cmdline.o grub_emu-normal_command.o 
grub_emu-normal_function.o grub_emu-normal_completion.o grub_emu-normal_main.o 
grub_emu-normal_menu.o grub_emu-normal_menu_entry.o grub_emu-normal_misc.o 
grub_emu-normal_script.o grub_emu-normal_color.o grub_emu-partmap_amiga.o 
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o 
grub_emu-partmap_acorn.o grub_emu-partmap_gpt.o grub_emu-util_console.o 
grub_emu-util_hostfs.o grub_emu-util_grub_emu.o grub_emu-util_misc.o 
grub_emu-util_biosdisk.o grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o 
grub_emu-disk_raid.o grub_emu-disk_lvm.o grub_emu-grub_emu_init.o $(LDFLAGS) 
$(grub_emu_LDFLAGS)
 
 grub_emu-commands_boot.o: commands/boot.c $(commands/boot.c_DEPENDENCIES)
        $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS) 
-DGRUB_UTIL=1 $(grub_emu_CFLAGS) -MD -c -o $@ $<
@@ -290,6 +290,10 @@
        $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS) 
-DGRUB_UTIL=1 $(grub_emu_CFLAGS) -MD -c -o $@ $<
 -include grub_emu-commands_hexdump.d
 
+grub_emu-lib_hexdump.o: lib/hexdump.c $(lib/hexdump.c_DEPENDENCIES)
+       $(CC) -Ilib -I$(srcdir)/lib $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 
$(grub_emu_CFLAGS) -MD -c -o $@ $<
+-include grub_emu-lib_hexdump.d
+
 grub_emu-commands_halt.o: commands/halt.c $(commands/halt.c_DEPENDENCIES)
        $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS) 
-DGRUB_UTIL=1 $(grub_emu_CFLAGS) -MD -c -o $@ $<
 -include grub_emu-commands_halt.d

Modified: trunk/grub2/conf/i386-ieee1275.rmk
===================================================================
--- trunk/grub2/conf/i386-ieee1275.rmk  2008-07-27 13:04:02 UTC (rev 1735)
+++ trunk/grub2/conf/i386-ieee1275.rmk  2008-07-27 13:51:30 UTC (rev 1736)
@@ -62,7 +62,7 @@
        commands/configfile.c commands/echo.c commands/help.c           \
        commands/terminal.c commands/ls.c commands/test.c               \
        commands/search.c commands/blocklist.c commands/hexdump.c       \
-       commands/halt.c commands/reboot.c                               \
+       lib/hexdump.c commands/halt.c commands/reboot.c                 \
        commands/i386/cpuid.c                                           \
        disk/host.c disk/loopback.c                                     \
        \

Modified: trunk/grub2/conf/i386-pc.mk
===================================================================
--- trunk/grub2/conf/i386-pc.mk 2008-07-27 13:04:02 UTC (rev 1735)
+++ trunk/grub2/conf/i386-pc.mk 2008-07-27 13:51:30 UTC (rev 1736)
@@ -485,7 +485,7 @@
        commands/configfile.c commands/echo.c commands/help.c           \
        commands/terminal.c commands/ls.c commands/test.c               \
        commands/search.c commands/blocklist.c commands/hexdump.c       \
-       commands/i386/pc/halt.c commands/reboot.c                       \
+       lib/hexdump.c commands/i386/pc/halt.c commands/reboot.c         \
        commands/i386/cpuid.c                                           \
        disk/host.c disk/loopback.c                                     \
        fs/fshelp.c     \
@@ -513,11 +513,11 @@
        \
        disk/raid.c disk/lvm.c                                          \
        grub_emu_init.c
-CLEANFILES += grub-emu$(EXEEXT) grub_emu-commands_boot.o 
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o 
grub_emu-commands_echo.o grub_emu-commands_help.o grub_emu-commands_terminal.o 
grub_emu-commands_ls.o grub_emu-commands_test.o grub_emu-commands_search.o 
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o 
grub_emu-commands_i386_pc_halt.o grub_emu-commands_reboot.o 
grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o grub_emu-disk_loopback.o 
grub_emu-fs_fshelp.o grub_emu-io_gzio.o grub_emu-kern_device.o 
grub_emu-kern_disk.o grub_emu-kern_dl.o grub_emu-kern_elf.o grub_emu-kern_env.o 
grub_emu-kern_err.o grub_emu-normal_execute.o grub_emu-kern_file.o 
grub_emu-kern_fs.o grub_emu-normal_lexer.o grub_emu-kern_loader.o 
grub_emu-kern_main.o grub_emu-kern_misc.o grub_emu-kern_parser.o 
grub_emu-grub_script_tab.o grub_emu-kern_partition.o grub_emu-kern_rescue.o 
grub_emu-kern_term.o grub_emu-normal_arg.o grub_emu-normal_cmdline.o 
grub_emu-normal_command.o grub_emu-normal_function.o 
grub_emu-normal_completion.o grub_emu-normal_main.o grub_emu-normal_color.o 
grub_emu-normal_menu.o grub_emu-normal_menu_entry.o grub_emu-normal_misc.o 
grub_emu-normal_script.o grub_emu-partmap_amiga.o grub_emu-partmap_apple.o 
grub_emu-partmap_pc.o grub_emu-partmap_sun.o grub_emu-partmap_acorn.o 
grub_emu-partmap_gpt.o grub_emu-fs_affs.o grub_emu-fs_cpio.o grub_emu-fs_ext2.o 
grub_emu-fs_fat.o grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o 
grub_emu-fs_udf.o grub_emu-fs_jfs.o grub_emu-fs_minix.o grub_emu-fs_ntfs.o 
grub_emu-fs_ntfscomp.o grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o 
grub_emu-fs_ufs.o grub_emu-fs_xfs.o grub_emu-fs_afs.o grub_emu-util_console.o 
grub_emu-util_hostfs.o grub_emu-util_grub_emu.o grub_emu-util_misc.o 
grub_emu-util_biosdisk.o grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o 
grub_emu-disk_raid.o grub_emu-disk_lvm.o grub_emu-grub_emu_init.o
-MOSTLYCLEANFILES += grub_emu-commands_boot.d grub_emu-commands_cat.d 
grub_emu-commands_cmp.d grub_emu-commands_configfile.d grub_emu-commands_echo.d 
grub_emu-commands_help.d grub_emu-commands_terminal.d grub_emu-commands_ls.d 
grub_emu-commands_test.d grub_emu-commands_search.d 
grub_emu-commands_blocklist.d grub_emu-commands_hexdump.d 
grub_emu-commands_i386_pc_halt.d grub_emu-commands_reboot.d 
grub_emu-commands_i386_cpuid.d grub_emu-disk_host.d grub_emu-disk_loopback.d 
grub_emu-fs_fshelp.d grub_emu-io_gzio.d grub_emu-kern_device.d 
grub_emu-kern_disk.d grub_emu-kern_dl.d grub_emu-kern_elf.d grub_emu-kern_env.d 
grub_emu-kern_err.d grub_emu-normal_execute.d grub_emu-kern_file.d 
grub_emu-kern_fs.d grub_emu-normal_lexer.d grub_emu-kern_loader.d 
grub_emu-kern_main.d grub_emu-kern_misc.d grub_emu-kern_parser.d 
grub_emu-grub_script_tab.d grub_emu-kern_partition.d grub_emu-kern_rescue.d 
grub_emu-kern_term.d grub_emu-normal_arg.d grub_emu-normal_cmdline.d 
grub_emu-normal_command.d grub_emu-normal_function.d 
grub_emu-normal_completion.d grub_emu-normal_main.d grub_emu-normal_color.d 
grub_emu-normal_menu.d grub_emu-normal_menu_entry.d grub_emu-normal_misc.d 
grub_emu-normal_script.d grub_emu-partmap_amiga.d grub_emu-partmap_apple.d 
grub_emu-partmap_pc.d grub_emu-partmap_sun.d grub_emu-partmap_acorn.d 
grub_emu-partmap_gpt.d grub_emu-fs_affs.d grub_emu-fs_cpio.d grub_emu-fs_ext2.d 
grub_emu-fs_fat.d grub_emu-fs_hfs.d grub_emu-fs_hfsplus.d grub_emu-fs_iso9660.d 
grub_emu-fs_udf.d grub_emu-fs_jfs.d grub_emu-fs_minix.d grub_emu-fs_ntfs.d 
grub_emu-fs_ntfscomp.d grub_emu-fs_reiserfs.d grub_emu-fs_sfs.d 
grub_emu-fs_ufs.d grub_emu-fs_xfs.d grub_emu-fs_afs.d grub_emu-util_console.d 
grub_emu-util_hostfs.d grub_emu-util_grub_emu.d grub_emu-util_misc.d 
grub_emu-util_biosdisk.d grub_emu-util_getroot.d grub_emu-util_i386_pc_misc.d 
grub_emu-disk_raid.d grub_emu-disk_lvm.d grub_emu-grub_emu_init.d
+CLEANFILES += grub-emu$(EXEEXT) grub_emu-commands_boot.o 
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o 
grub_emu-commands_echo.o grub_emu-commands_help.o grub_emu-commands_terminal.o 
grub_emu-commands_ls.o grub_emu-commands_test.o grub_emu-commands_search.o 
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o 
grub_emu-lib_hexdump.o grub_emu-commands_i386_pc_halt.o 
grub_emu-commands_reboot.o grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o 
grub_emu-disk_loopback.o grub_emu-fs_fshelp.o grub_emu-io_gzio.o 
grub_emu-kern_device.o grub_emu-kern_disk.o grub_emu-kern_dl.o 
grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o 
grub_emu-normal_execute.o grub_emu-kern_file.o grub_emu-kern_fs.o 
grub_emu-normal_lexer.o grub_emu-kern_loader.o grub_emu-kern_main.o 
grub_emu-kern_misc.o grub_emu-kern_parser.o grub_emu-grub_script_tab.o 
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o 
grub_emu-normal_arg.o grub_emu-normal_cmdline.o grub_emu-normal_command.o 
grub_emu-normal_function.o grub_emu-normal_completion.o grub_emu-normal_main.o 
grub_emu-normal_color.o grub_emu-normal_menu.o grub_emu-normal_menu_entry.o 
grub_emu-normal_misc.o grub_emu-normal_script.o grub_emu-partmap_amiga.o 
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o 
grub_emu-partmap_acorn.o grub_emu-partmap_gpt.o grub_emu-fs_affs.o 
grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o 
grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o 
grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o 
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o 
grub_emu-fs_afs.o grub_emu-util_console.o grub_emu-util_hostfs.o 
grub_emu-util_grub_emu.o grub_emu-util_misc.o grub_emu-util_biosdisk.o 
grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o grub_emu-disk_raid.o 
grub_emu-disk_lvm.o grub_emu-grub_emu_init.o
+MOSTLYCLEANFILES += grub_emu-commands_boot.d grub_emu-commands_cat.d 
grub_emu-commands_cmp.d grub_emu-commands_configfile.d grub_emu-commands_echo.d 
grub_emu-commands_help.d grub_emu-commands_terminal.d grub_emu-commands_ls.d 
grub_emu-commands_test.d grub_emu-commands_search.d 
grub_emu-commands_blocklist.d grub_emu-commands_hexdump.d 
grub_emu-lib_hexdump.d grub_emu-commands_i386_pc_halt.d 
grub_emu-commands_reboot.d grub_emu-commands_i386_cpuid.d grub_emu-disk_host.d 
grub_emu-disk_loopback.d grub_emu-fs_fshelp.d grub_emu-io_gzio.d 
grub_emu-kern_device.d grub_emu-kern_disk.d grub_emu-kern_dl.d 
grub_emu-kern_elf.d grub_emu-kern_env.d grub_emu-kern_err.d 
grub_emu-normal_execute.d grub_emu-kern_file.d grub_emu-kern_fs.d 
grub_emu-normal_lexer.d grub_emu-kern_loader.d grub_emu-kern_main.d 
grub_emu-kern_misc.d grub_emu-kern_parser.d grub_emu-grub_script_tab.d 
grub_emu-kern_partition.d grub_emu-kern_rescue.d grub_emu-kern_term.d 
grub_emu-normal_arg.d grub_emu-normal_cmdline.d grub_emu-normal_command.d 
grub_emu-normal_function.d grub_emu-normal_completion.d grub_emu-normal_main.d 
grub_emu-normal_color.d grub_emu-normal_menu.d grub_emu-normal_menu_entry.d 
grub_emu-normal_misc.d grub_emu-normal_script.d grub_emu-partmap_amiga.d 
grub_emu-partmap_apple.d grub_emu-partmap_pc.d grub_emu-partmap_sun.d 
grub_emu-partmap_acorn.d grub_emu-partmap_gpt.d grub_emu-fs_affs.d 
grub_emu-fs_cpio.d grub_emu-fs_ext2.d grub_emu-fs_fat.d grub_emu-fs_hfs.d 
grub_emu-fs_hfsplus.d grub_emu-fs_iso9660.d grub_emu-fs_udf.d grub_emu-fs_jfs.d 
grub_emu-fs_minix.d grub_emu-fs_ntfs.d grub_emu-fs_ntfscomp.d 
grub_emu-fs_reiserfs.d grub_emu-fs_sfs.d grub_emu-fs_ufs.d grub_emu-fs_xfs.d 
grub_emu-fs_afs.d grub_emu-util_console.d grub_emu-util_hostfs.d 
grub_emu-util_grub_emu.d grub_emu-util_misc.d grub_emu-util_biosdisk.d 
grub_emu-util_getroot.d grub_emu-util_i386_pc_misc.d grub_emu-disk_raid.d 
grub_emu-disk_lvm.d grub_emu-grub_emu_init.d
 
-grub-emu: $(grub_emu_DEPENDENCIES) grub_emu-commands_boot.o 
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o 
grub_emu-commands_echo.o grub_emu-commands_help.o grub_emu-commands_terminal.o 
grub_emu-commands_ls.o grub_emu-commands_test.o grub_emu-commands_search.o 
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o 
grub_emu-commands_i386_pc_halt.o grub_emu-commands_reboot.o 
grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o grub_emu-disk_loopback.o 
grub_emu-fs_fshelp.o grub_emu-io_gzio.o grub_emu-kern_device.o 
grub_emu-kern_disk.o grub_emu-kern_dl.o grub_emu-kern_elf.o grub_emu-kern_env.o 
grub_emu-kern_err.o grub_emu-normal_execute.o grub_emu-kern_file.o 
grub_emu-kern_fs.o grub_emu-normal_lexer.o grub_emu-kern_loader.o 
grub_emu-kern_main.o grub_emu-kern_misc.o grub_emu-kern_parser.o 
grub_emu-grub_script_tab.o grub_emu-kern_partition.o grub_emu-kern_rescue.o 
grub_emu-kern_term.o grub_emu-normal_arg.o grub_emu-normal_cmdline.o 
grub_emu-normal_command.o grub_emu-normal_function.o 
grub_emu-normal_completion.o grub_emu-normal_main.o grub_emu-normal_color.o 
grub_emu-normal_menu.o grub_emu-normal_menu_entry.o grub_emu-normal_misc.o 
grub_emu-normal_script.o grub_emu-partmap_amiga.o grub_emu-partmap_apple.o 
grub_emu-partmap_pc.o grub_emu-partmap_sun.o grub_emu-partmap_acorn.o 
grub_emu-partmap_gpt.o grub_emu-fs_affs.o grub_emu-fs_cpio.o grub_emu-fs_ext2.o 
grub_emu-fs_fat.o grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o 
grub_emu-fs_udf.o grub_emu-fs_jfs.o grub_emu-fs_minix.o grub_emu-fs_ntfs.o 
grub_emu-fs_ntfscomp.o grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o 
grub_emu-fs_ufs.o grub_emu-fs_xfs.o grub_emu-fs_afs.o grub_emu-util_console.o 
grub_emu-util_hostfs.o grub_emu-util_grub_emu.o grub_emu-util_misc.o 
grub_emu-util_biosdisk.o grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o 
grub_emu-disk_raid.o grub_emu-disk_lvm.o grub_emu-grub_emu_init.o
-       $(CC) -o $@ grub_emu-commands_boot.o grub_emu-commands_cat.o 
grub_emu-commands_cmp.o grub_emu-commands_configfile.o grub_emu-commands_echo.o 
grub_emu-commands_help.o grub_emu-commands_terminal.o grub_emu-commands_ls.o 
grub_emu-commands_test.o grub_emu-commands_search.o 
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o 
grub_emu-commands_i386_pc_halt.o grub_emu-commands_reboot.o 
grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o grub_emu-disk_loopback.o 
grub_emu-fs_fshelp.o grub_emu-io_gzio.o grub_emu-kern_device.o 
grub_emu-kern_disk.o grub_emu-kern_dl.o grub_emu-kern_elf.o grub_emu-kern_env.o 
grub_emu-kern_err.o grub_emu-normal_execute.o grub_emu-kern_file.o 
grub_emu-kern_fs.o grub_emu-normal_lexer.o grub_emu-kern_loader.o 
grub_emu-kern_main.o grub_emu-kern_misc.o grub_emu-kern_parser.o 
grub_emu-grub_script_tab.o grub_emu-kern_partition.o grub_emu-kern_rescue.o 
grub_emu-kern_term.o grub_emu-normal_arg.o grub_emu-normal_cmdline.o 
grub_emu-normal_command.o grub_emu-normal_function.o 
grub_emu-normal_completion.o grub_emu-normal_main.o grub_emu-normal_color.o 
grub_emu-normal_menu.o grub_emu-normal_menu_entry.o grub_emu-normal_misc.o 
grub_emu-normal_script.o grub_emu-partmap_amiga.o grub_emu-partmap_apple.o 
grub_emu-partmap_pc.o grub_emu-partmap_sun.o grub_emu-partmap_acorn.o 
grub_emu-partmap_gpt.o grub_emu-fs_affs.o grub_emu-fs_cpio.o grub_emu-fs_ext2.o 
grub_emu-fs_fat.o grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o 
grub_emu-fs_udf.o grub_emu-fs_jfs.o grub_emu-fs_minix.o grub_emu-fs_ntfs.o 
grub_emu-fs_ntfscomp.o grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o 
grub_emu-fs_ufs.o grub_emu-fs_xfs.o grub_emu-fs_afs.o grub_emu-util_console.o 
grub_emu-util_hostfs.o grub_emu-util_grub_emu.o grub_emu-util_misc.o 
grub_emu-util_biosdisk.o grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o 
grub_emu-disk_raid.o grub_emu-disk_lvm.o grub_emu-grub_emu_init.o $(LDFLAGS) 
$(grub_emu_LDFLAGS)
+grub-emu: $(grub_emu_DEPENDENCIES) grub_emu-commands_boot.o 
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o 
grub_emu-commands_echo.o grub_emu-commands_help.o grub_emu-commands_terminal.o 
grub_emu-commands_ls.o grub_emu-commands_test.o grub_emu-commands_search.o 
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o 
grub_emu-lib_hexdump.o grub_emu-commands_i386_pc_halt.o 
grub_emu-commands_reboot.o grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o 
grub_emu-disk_loopback.o grub_emu-fs_fshelp.o grub_emu-io_gzio.o 
grub_emu-kern_device.o grub_emu-kern_disk.o grub_emu-kern_dl.o 
grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o 
grub_emu-normal_execute.o grub_emu-kern_file.o grub_emu-kern_fs.o 
grub_emu-normal_lexer.o grub_emu-kern_loader.o grub_emu-kern_main.o 
grub_emu-kern_misc.o grub_emu-kern_parser.o grub_emu-grub_script_tab.o 
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o 
grub_emu-normal_arg.o grub_emu-normal_cmdline.o grub_emu-normal_command.o 
grub_emu-normal_function.o grub_emu-normal_completion.o grub_emu-normal_main.o 
grub_emu-normal_color.o grub_emu-normal_menu.o grub_emu-normal_menu_entry.o 
grub_emu-normal_misc.o grub_emu-normal_script.o grub_emu-partmap_amiga.o 
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o 
grub_emu-partmap_acorn.o grub_emu-partmap_gpt.o grub_emu-fs_affs.o 
grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o 
grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o 
grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o 
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o 
grub_emu-fs_afs.o grub_emu-util_console.o grub_emu-util_hostfs.o 
grub_emu-util_grub_emu.o grub_emu-util_misc.o grub_emu-util_biosdisk.o 
grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o grub_emu-disk_raid.o 
grub_emu-disk_lvm.o grub_emu-grub_emu_init.o
+       $(CC) -o $@ grub_emu-commands_boot.o grub_emu-commands_cat.o 
grub_emu-commands_cmp.o grub_emu-commands_configfile.o grub_emu-commands_echo.o 
grub_emu-commands_help.o grub_emu-commands_terminal.o grub_emu-commands_ls.o 
grub_emu-commands_test.o grub_emu-commands_search.o 
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o 
grub_emu-lib_hexdump.o grub_emu-commands_i386_pc_halt.o 
grub_emu-commands_reboot.o grub_emu-commands_i386_cpuid.o grub_emu-disk_host.o 
grub_emu-disk_loopback.o grub_emu-fs_fshelp.o grub_emu-io_gzio.o 
grub_emu-kern_device.o grub_emu-kern_disk.o grub_emu-kern_dl.o 
grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o 
grub_emu-normal_execute.o grub_emu-kern_file.o grub_emu-kern_fs.o 
grub_emu-normal_lexer.o grub_emu-kern_loader.o grub_emu-kern_main.o 
grub_emu-kern_misc.o grub_emu-kern_parser.o grub_emu-grub_script_tab.o 
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o 
grub_emu-normal_arg.o grub_emu-normal_cmdline.o grub_emu-normal_command.o 
grub_emu-normal_function.o grub_emu-normal_completion.o grub_emu-normal_main.o 
grub_emu-normal_color.o grub_emu-normal_menu.o grub_emu-normal_menu_entry.o 
grub_emu-normal_misc.o grub_emu-normal_script.o grub_emu-partmap_amiga.o 
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o 
grub_emu-partmap_acorn.o grub_emu-partmap_gpt.o grub_emu-fs_affs.o 
grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o 
grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o 
grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o 
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o 
grub_emu-fs_afs.o grub_emu-util_console.o grub_emu-util_hostfs.o 
grub_emu-util_grub_emu.o grub_emu-util_misc.o grub_emu-util_biosdisk.o 
grub_emu-util_getroot.o grub_emu-util_i386_pc_misc.o grub_emu-disk_raid.o 
grub_emu-disk_lvm.o grub_emu-grub_emu_init.o $(LDFLAGS) $(grub_emu_LDFLAGS)
 
 grub_emu-commands_boot.o: commands/boot.c $(commands/boot.c_DEPENDENCIES)
        $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS) 
-DGRUB_UTIL=1 $(grub_emu_CFLAGS) -MD -c -o $@ $<
@@ -567,6 +567,10 @@
        $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS) 
-DGRUB_UTIL=1 $(grub_emu_CFLAGS) -MD -c -o $@ $<
 -include grub_emu-commands_hexdump.d
 
+grub_emu-lib_hexdump.o: lib/hexdump.c $(lib/hexdump.c_DEPENDENCIES)
+       $(CC) -Ilib -I$(srcdir)/lib $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 
$(grub_emu_CFLAGS) -MD -c -o $@ $<
+-include grub_emu-lib_hexdump.d
+
 grub_emu-commands_i386_pc_halt.o: commands/i386/pc/halt.c 
$(commands/i386/pc/halt.c_DEPENDENCIES)
        $(CC) -Icommands/i386/pc -I$(srcdir)/commands/i386/pc $(CPPFLAGS) 
$(CFLAGS) -DGRUB_UTIL=1 $(grub_emu_CFLAGS) -MD -c -o $@ $<
 -include grub_emu-commands_i386_pc_halt.d

Modified: trunk/grub2/conf/i386-pc.rmk
===================================================================
--- trunk/grub2/conf/i386-pc.rmk        2008-07-27 13:04:02 UTC (rev 1735)
+++ trunk/grub2/conf/i386-pc.rmk        2008-07-27 13:51:30 UTC (rev 1736)
@@ -111,7 +111,7 @@
        commands/configfile.c commands/echo.c commands/help.c           \
        commands/terminal.c commands/ls.c commands/test.c               \
        commands/search.c commands/blocklist.c commands/hexdump.c       \
-       commands/i386/pc/halt.c commands/reboot.c                       \
+       lib/hexdump.c commands/i386/pc/halt.c commands/reboot.c         \
        commands/i386/cpuid.c                                           \
        disk/host.c disk/loopback.c                                     \
        fs/fshelp.c     \

Modified: trunk/grub2/conf/powerpc-ieee1275.mk
===================================================================
--- trunk/grub2/conf/powerpc-ieee1275.mk        2008-07-27 13:04:02 UTC (rev 
1735)
+++ trunk/grub2/conf/powerpc-ieee1275.mk        2008-07-27 13:51:30 UTC (rev 
1736)
@@ -85,7 +85,7 @@
        commands/configfile.c commands/help.c                           \
        commands/search.c commands/terminal.c commands/test.c           \
        commands/ls.c commands/blocklist.c commands/hexdump.c           \
-       commands/halt.c commands/reboot.c               \
+       lib/hexdump.c commands/halt.c commands/reboot.c                 \
        disk/loopback.c                                                 \
        \
        fs/affs.c fs/cpio.c fs/ext2.c fs/fat.c fs/hfs.c         \
@@ -111,11 +111,11 @@
        \
        disk/raid.c disk/lvm.c                                          \
        grub_script.tab.c grub_emu_init.c
-CLEANFILES += grub-emu$(EXEEXT) grub_emu-commands_boot.o 
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o 
grub_emu-commands_help.o grub_emu-commands_search.o 
grub_emu-commands_terminal.o grub_emu-commands_test.o grub_emu-commands_ls.o 
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o 
grub_emu-commands_halt.o grub_emu-commands_reboot.o grub_emu-disk_loopback.o 
grub_emu-fs_affs.o grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o 
grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o 
grub_emu-fs_jfs.o grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o 
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o 
grub_emu-fs_afs.o grub_emu-io_gzio.o grub_emu-kern_device.o 
grub_emu-kern_disk.o grub_emu-kern_dl.o grub_emu-kern_elf.o grub_emu-kern_env.o 
grub_emu-kern_err.o grub_emu-kern_file.o grub_emu-kern_fs.o 
grub_emu-kern_loader.o grub_emu-kern_main.o grub_emu-kern_misc.o 
grub_emu-kern_parser.o grub_emu-kern_partition.o grub_emu-kern_rescue.o 
grub_emu-kern_term.o grub_emu-fs_fshelp.o grub_emu-normal_arg.o 
grub_emu-normal_cmdline.o grub_emu-normal_command.o 
grub_emu-normal_completion.o grub_emu-normal_execute.o 
grub_emu-normal_function.o grub_emu-normal_lexer.o grub_emu-normal_main.o 
grub_emu-normal_menu.o grub_emu-normal_menu_entry.o grub_emu-normal_misc.o 
grub_emu-normal_script.o grub_emu-normal_color.o grub_emu-partmap_amiga.o 
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o 
grub_emu-partmap_acorn.o grub_emu-util_console.o grub_emu-util_hostfs.o 
grub_emu-util_grub_emu.o grub_emu-util_misc.o grub_emu-util_biosdisk.o 
grub_emu-util_getroot.o grub_emu-util_powerpc_ieee1275_misc.o 
grub_emu-disk_raid.o grub_emu-disk_lvm.o grub_emu-grub_script_tab.o 
grub_emu-grub_emu_init.o
-MOSTLYCLEANFILES += grub_emu-commands_boot.d grub_emu-commands_cat.d 
grub_emu-commands_cmp.d grub_emu-commands_configfile.d grub_emu-commands_help.d 
grub_emu-commands_search.d grub_emu-commands_terminal.d 
grub_emu-commands_test.d grub_emu-commands_ls.d grub_emu-commands_blocklist.d 
grub_emu-commands_hexdump.d grub_emu-commands_halt.d grub_emu-commands_reboot.d 
grub_emu-disk_loopback.d grub_emu-fs_affs.d grub_emu-fs_cpio.d 
grub_emu-fs_ext2.d grub_emu-fs_fat.d grub_emu-fs_hfs.d grub_emu-fs_hfsplus.d 
grub_emu-fs_iso9660.d grub_emu-fs_udf.d grub_emu-fs_jfs.d grub_emu-fs_minix.d 
grub_emu-fs_ntfs.d grub_emu-fs_ntfscomp.d grub_emu-fs_reiserfs.d 
grub_emu-fs_sfs.d grub_emu-fs_ufs.d grub_emu-fs_xfs.d grub_emu-fs_afs.d 
grub_emu-io_gzio.d grub_emu-kern_device.d grub_emu-kern_disk.d 
grub_emu-kern_dl.d grub_emu-kern_elf.d grub_emu-kern_env.d grub_emu-kern_err.d 
grub_emu-kern_file.d grub_emu-kern_fs.d grub_emu-kern_loader.d 
grub_emu-kern_main.d grub_emu-kern_misc.d grub_emu-kern_parser.d 
grub_emu-kern_partition.d grub_emu-kern_rescue.d grub_emu-kern_term.d 
grub_emu-fs_fshelp.d grub_emu-normal_arg.d grub_emu-normal_cmdline.d 
grub_emu-normal_command.d grub_emu-normal_completion.d 
grub_emu-normal_execute.d grub_emu-normal_function.d grub_emu-normal_lexer.d 
grub_emu-normal_main.d grub_emu-normal_menu.d grub_emu-normal_menu_entry.d 
grub_emu-normal_misc.d grub_emu-normal_script.d grub_emu-normal_color.d 
grub_emu-partmap_amiga.d grub_emu-partmap_apple.d grub_emu-partmap_pc.d 
grub_emu-partmap_sun.d grub_emu-partmap_acorn.d grub_emu-util_console.d 
grub_emu-util_hostfs.d grub_emu-util_grub_emu.d grub_emu-util_misc.d 
grub_emu-util_biosdisk.d grub_emu-util_getroot.d 
grub_emu-util_powerpc_ieee1275_misc.d grub_emu-disk_raid.d grub_emu-disk_lvm.d 
grub_emu-grub_script_tab.d grub_emu-grub_emu_init.d
+CLEANFILES += grub-emu$(EXEEXT) grub_emu-commands_boot.o 
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o 
grub_emu-commands_help.o grub_emu-commands_search.o 
grub_emu-commands_terminal.o grub_emu-commands_test.o grub_emu-commands_ls.o 
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o 
grub_emu-lib_hexdump.o grub_emu-commands_halt.o grub_emu-commands_reboot.o 
grub_emu-disk_loopback.o grub_emu-fs_affs.o grub_emu-fs_cpio.o 
grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o 
grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o grub_emu-fs_minix.o 
grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o grub_emu-fs_reiserfs.o 
grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o grub_emu-fs_afs.o 
grub_emu-io_gzio.o grub_emu-kern_device.o grub_emu-kern_disk.o 
grub_emu-kern_dl.o grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o 
grub_emu-kern_file.o grub_emu-kern_fs.o grub_emu-kern_loader.o 
grub_emu-kern_main.o grub_emu-kern_misc.o grub_emu-kern_parser.o 
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o 
grub_emu-fs_fshelp.o grub_emu-normal_arg.o grub_emu-normal_cmdline.o 
grub_emu-normal_command.o grub_emu-normal_completion.o 
grub_emu-normal_execute.o grub_emu-normal_function.o grub_emu-normal_lexer.o 
grub_emu-normal_main.o grub_emu-normal_menu.o grub_emu-normal_menu_entry.o 
grub_emu-normal_misc.o grub_emu-normal_script.o grub_emu-normal_color.o 
grub_emu-partmap_amiga.o grub_emu-partmap_apple.o grub_emu-partmap_pc.o 
grub_emu-partmap_sun.o grub_emu-partmap_acorn.o grub_emu-util_console.o 
grub_emu-util_hostfs.o grub_emu-util_grub_emu.o grub_emu-util_misc.o 
grub_emu-util_biosdisk.o grub_emu-util_getroot.o 
grub_emu-util_powerpc_ieee1275_misc.o grub_emu-disk_raid.o grub_emu-disk_lvm.o 
grub_emu-grub_script_tab.o grub_emu-grub_emu_init.o
+MOSTLYCLEANFILES += grub_emu-commands_boot.d grub_emu-commands_cat.d 
grub_emu-commands_cmp.d grub_emu-commands_configfile.d grub_emu-commands_help.d 
grub_emu-commands_search.d grub_emu-commands_terminal.d 
grub_emu-commands_test.d grub_emu-commands_ls.d grub_emu-commands_blocklist.d 
grub_emu-commands_hexdump.d grub_emu-lib_hexdump.d grub_emu-commands_halt.d 
grub_emu-commands_reboot.d grub_emu-disk_loopback.d grub_emu-fs_affs.d 
grub_emu-fs_cpio.d grub_emu-fs_ext2.d grub_emu-fs_fat.d grub_emu-fs_hfs.d 
grub_emu-fs_hfsplus.d grub_emu-fs_iso9660.d grub_emu-fs_udf.d grub_emu-fs_jfs.d 
grub_emu-fs_minix.d grub_emu-fs_ntfs.d grub_emu-fs_ntfscomp.d 
grub_emu-fs_reiserfs.d grub_emu-fs_sfs.d grub_emu-fs_ufs.d grub_emu-fs_xfs.d 
grub_emu-fs_afs.d grub_emu-io_gzio.d grub_emu-kern_device.d 
grub_emu-kern_disk.d grub_emu-kern_dl.d grub_emu-kern_elf.d grub_emu-kern_env.d 
grub_emu-kern_err.d grub_emu-kern_file.d grub_emu-kern_fs.d 
grub_emu-kern_loader.d grub_emu-kern_main.d grub_emu-kern_misc.d 
grub_emu-kern_parser.d grub_emu-kern_partition.d grub_emu-kern_rescue.d 
grub_emu-kern_term.d grub_emu-fs_fshelp.d grub_emu-normal_arg.d 
grub_emu-normal_cmdline.d grub_emu-normal_command.d 
grub_emu-normal_completion.d grub_emu-normal_execute.d 
grub_emu-normal_function.d grub_emu-normal_lexer.d grub_emu-normal_main.d 
grub_emu-normal_menu.d grub_emu-normal_menu_entry.d grub_emu-normal_misc.d 
grub_emu-normal_script.d grub_emu-normal_color.d grub_emu-partmap_amiga.d 
grub_emu-partmap_apple.d grub_emu-partmap_pc.d grub_emu-partmap_sun.d 
grub_emu-partmap_acorn.d grub_emu-util_console.d grub_emu-util_hostfs.d 
grub_emu-util_grub_emu.d grub_emu-util_misc.d grub_emu-util_biosdisk.d 
grub_emu-util_getroot.d grub_emu-util_powerpc_ieee1275_misc.d 
grub_emu-disk_raid.d grub_emu-disk_lvm.d grub_emu-grub_script_tab.d 
grub_emu-grub_emu_init.d
 
-grub-emu: $(grub_emu_DEPENDENCIES) grub_emu-commands_boot.o 
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o 
grub_emu-commands_help.o grub_emu-commands_search.o 
grub_emu-commands_terminal.o grub_emu-commands_test.o grub_emu-commands_ls.o 
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o 
grub_emu-commands_halt.o grub_emu-commands_reboot.o grub_emu-disk_loopback.o 
grub_emu-fs_affs.o grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o 
grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o 
grub_emu-fs_jfs.o grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o 
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o 
grub_emu-fs_afs.o grub_emu-io_gzio.o grub_emu-kern_device.o 
grub_emu-kern_disk.o grub_emu-kern_dl.o grub_emu-kern_elf.o grub_emu-kern_env.o 
grub_emu-kern_err.o grub_emu-kern_file.o grub_emu-kern_fs.o 
grub_emu-kern_loader.o grub_emu-kern_main.o grub_emu-kern_misc.o 
grub_emu-kern_parser.o grub_emu-kern_partition.o grub_emu-kern_rescue.o 
grub_emu-kern_term.o grub_emu-fs_fshelp.o grub_emu-normal_arg.o 
grub_emu-normal_cmdline.o grub_emu-normal_command.o 
grub_emu-normal_completion.o grub_emu-normal_execute.o 
grub_emu-normal_function.o grub_emu-normal_lexer.o grub_emu-normal_main.o 
grub_emu-normal_menu.o grub_emu-normal_menu_entry.o grub_emu-normal_misc.o 
grub_emu-normal_script.o grub_emu-normal_color.o grub_emu-partmap_amiga.o 
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o 
grub_emu-partmap_acorn.o grub_emu-util_console.o grub_emu-util_hostfs.o 
grub_emu-util_grub_emu.o grub_emu-util_misc.o grub_emu-util_biosdisk.o 
grub_emu-util_getroot.o grub_emu-util_powerpc_ieee1275_misc.o 
grub_emu-disk_raid.o grub_emu-disk_lvm.o grub_emu-grub_script_tab.o 
grub_emu-grub_emu_init.o
-       $(CC) -o $@ grub_emu-commands_boot.o grub_emu-commands_cat.o 
grub_emu-commands_cmp.o grub_emu-commands_configfile.o grub_emu-commands_help.o 
grub_emu-commands_search.o grub_emu-commands_terminal.o 
grub_emu-commands_test.o grub_emu-commands_ls.o grub_emu-commands_blocklist.o 
grub_emu-commands_hexdump.o grub_emu-commands_halt.o grub_emu-commands_reboot.o 
grub_emu-disk_loopback.o grub_emu-fs_affs.o grub_emu-fs_cpio.o 
grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o 
grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o grub_emu-fs_minix.o 
grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o grub_emu-fs_reiserfs.o 
grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o grub_emu-fs_afs.o 
grub_emu-io_gzio.o grub_emu-kern_device.o grub_emu-kern_disk.o 
grub_emu-kern_dl.o grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o 
grub_emu-kern_file.o grub_emu-kern_fs.o grub_emu-kern_loader.o 
grub_emu-kern_main.o grub_emu-kern_misc.o grub_emu-kern_parser.o 
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o 
grub_emu-fs_fshelp.o grub_emu-normal_arg.o grub_emu-normal_cmdline.o 
grub_emu-normal_command.o grub_emu-normal_completion.o 
grub_emu-normal_execute.o grub_emu-normal_function.o grub_emu-normal_lexer.o 
grub_emu-normal_main.o grub_emu-normal_menu.o grub_emu-normal_menu_entry.o 
grub_emu-normal_misc.o grub_emu-normal_script.o grub_emu-normal_color.o 
grub_emu-partmap_amiga.o grub_emu-partmap_apple.o grub_emu-partmap_pc.o 
grub_emu-partmap_sun.o grub_emu-partmap_acorn.o grub_emu-util_console.o 
grub_emu-util_hostfs.o grub_emu-util_grub_emu.o grub_emu-util_misc.o 
grub_emu-util_biosdisk.o grub_emu-util_getroot.o 
grub_emu-util_powerpc_ieee1275_misc.o grub_emu-disk_raid.o grub_emu-disk_lvm.o 
grub_emu-grub_script_tab.o grub_emu-grub_emu_init.o $(LDFLAGS) 
$(grub_emu_LDFLAGS)
+grub-emu: $(grub_emu_DEPENDENCIES) grub_emu-commands_boot.o 
grub_emu-commands_cat.o grub_emu-commands_cmp.o grub_emu-commands_configfile.o 
grub_emu-commands_help.o grub_emu-commands_search.o 
grub_emu-commands_terminal.o grub_emu-commands_test.o grub_emu-commands_ls.o 
grub_emu-commands_blocklist.o grub_emu-commands_hexdump.o 
grub_emu-lib_hexdump.o grub_emu-commands_halt.o grub_emu-commands_reboot.o 
grub_emu-disk_loopback.o grub_emu-fs_affs.o grub_emu-fs_cpio.o 
grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o grub_emu-fs_hfsplus.o 
grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o grub_emu-fs_minix.o 
grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o grub_emu-fs_reiserfs.o 
grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o grub_emu-fs_afs.o 
grub_emu-io_gzio.o grub_emu-kern_device.o grub_emu-kern_disk.o 
grub_emu-kern_dl.o grub_emu-kern_elf.o grub_emu-kern_env.o grub_emu-kern_err.o 
grub_emu-kern_file.o grub_emu-kern_fs.o grub_emu-kern_loader.o 
grub_emu-kern_main.o grub_emu-kern_misc.o grub_emu-kern_parser.o 
grub_emu-kern_partition.o grub_emu-kern_rescue.o grub_emu-kern_term.o 
grub_emu-fs_fshelp.o grub_emu-normal_arg.o grub_emu-normal_cmdline.o 
grub_emu-normal_command.o grub_emu-normal_completion.o 
grub_emu-normal_execute.o grub_emu-normal_function.o grub_emu-normal_lexer.o 
grub_emu-normal_main.o grub_emu-normal_menu.o grub_emu-normal_menu_entry.o 
grub_emu-normal_misc.o grub_emu-normal_script.o grub_emu-normal_color.o 
grub_emu-partmap_amiga.o grub_emu-partmap_apple.o grub_emu-partmap_pc.o 
grub_emu-partmap_sun.o grub_emu-partmap_acorn.o grub_emu-util_console.o 
grub_emu-util_hostfs.o grub_emu-util_grub_emu.o grub_emu-util_misc.o 
grub_emu-util_biosdisk.o grub_emu-util_getroot.o 
grub_emu-util_powerpc_ieee1275_misc.o grub_emu-disk_raid.o grub_emu-disk_lvm.o 
grub_emu-grub_script_tab.o grub_emu-grub_emu_init.o
+       $(CC) -o $@ grub_emu-commands_boot.o grub_emu-commands_cat.o 
grub_emu-commands_cmp.o grub_emu-commands_configfile.o grub_emu-commands_help.o 
grub_emu-commands_search.o grub_emu-commands_terminal.o 
grub_emu-commands_test.o grub_emu-commands_ls.o grub_emu-commands_blocklist.o 
grub_emu-commands_hexdump.o grub_emu-lib_hexdump.o grub_emu-commands_halt.o 
grub_emu-commands_reboot.o grub_emu-disk_loopback.o grub_emu-fs_affs.o 
grub_emu-fs_cpio.o grub_emu-fs_ext2.o grub_emu-fs_fat.o grub_emu-fs_hfs.o 
grub_emu-fs_hfsplus.o grub_emu-fs_iso9660.o grub_emu-fs_udf.o grub_emu-fs_jfs.o 
grub_emu-fs_minix.o grub_emu-fs_ntfs.o grub_emu-fs_ntfscomp.o 
grub_emu-fs_reiserfs.o grub_emu-fs_sfs.o grub_emu-fs_ufs.o grub_emu-fs_xfs.o 
grub_emu-fs_afs.o grub_emu-io_gzio.o grub_emu-kern_device.o 
grub_emu-kern_disk.o grub_emu-kern_dl.o grub_emu-kern_elf.o grub_emu-kern_env.o 
grub_emu-kern_err.o grub_emu-kern_file.o grub_emu-kern_fs.o 
grub_emu-kern_loader.o grub_emu-kern_main.o grub_emu-kern_misc.o 
grub_emu-kern_parser.o grub_emu-kern_partition.o grub_emu-kern_rescue.o 
grub_emu-kern_term.o grub_emu-fs_fshelp.o grub_emu-normal_arg.o 
grub_emu-normal_cmdline.o grub_emu-normal_command.o 
grub_emu-normal_completion.o grub_emu-normal_execute.o 
grub_emu-normal_function.o grub_emu-normal_lexer.o grub_emu-normal_main.o 
grub_emu-normal_menu.o grub_emu-normal_menu_entry.o grub_emu-normal_misc.o 
grub_emu-normal_script.o grub_emu-normal_color.o grub_emu-partmap_amiga.o 
grub_emu-partmap_apple.o grub_emu-partmap_pc.o grub_emu-partmap_sun.o 
grub_emu-partmap_acorn.o grub_emu-util_console.o grub_emu-util_hostfs.o 
grub_emu-util_grub_emu.o grub_emu-util_misc.o grub_emu-util_biosdisk.o 
grub_emu-util_getroot.o grub_emu-util_powerpc_ieee1275_misc.o 
grub_emu-disk_raid.o grub_emu-disk_lvm.o grub_emu-grub_script_tab.o 
grub_emu-grub_emu_init.o $(LDFLAGS) $(grub_emu_LDFLAGS)
 
 grub_emu-commands_boot.o: commands/boot.c $(commands/boot.c_DEPENDENCIES)
        $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS) 
-DGRUB_UTIL=1 $(grub_emu_CFLAGS) -MD -c -o $@ $<
@@ -161,6 +161,10 @@
        $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS) 
-DGRUB_UTIL=1 $(grub_emu_CFLAGS) -MD -c -o $@ $<
 -include grub_emu-commands_hexdump.d
 
+grub_emu-lib_hexdump.o: lib/hexdump.c $(lib/hexdump.c_DEPENDENCIES)
+       $(CC) -Ilib -I$(srcdir)/lib $(CPPFLAGS) $(CFLAGS) -DGRUB_UTIL=1 
$(grub_emu_CFLAGS) -MD -c -o $@ $<
+-include grub_emu-lib_hexdump.d
+
 grub_emu-commands_halt.o: commands/halt.c $(commands/halt.c_DEPENDENCIES)
        $(CC) -Icommands -I$(srcdir)/commands $(CPPFLAGS) $(CFLAGS) 
-DGRUB_UTIL=1 $(grub_emu_CFLAGS) -MD -c -o $@ $<
 -include grub_emu-commands_halt.d

Modified: trunk/grub2/conf/powerpc-ieee1275.rmk
===================================================================
--- trunk/grub2/conf/powerpc-ieee1275.rmk       2008-07-27 13:04:02 UTC (rev 
1735)
+++ trunk/grub2/conf/powerpc-ieee1275.rmk       2008-07-27 13:51:30 UTC (rev 
1736)
@@ -49,7 +49,7 @@
        commands/configfile.c commands/help.c                           \
        commands/search.c commands/terminal.c commands/test.c           \
        commands/ls.c commands/blocklist.c commands/hexdump.c           \
-       commands/halt.c commands/reboot.c               \
+       lib/hexdump.c commands/halt.c commands/reboot.c                 \
        disk/loopback.c                                                 \
        \
        fs/affs.c fs/cpio.c fs/ext2.c fs/fat.c fs/hfs.c         \

Modified: trunk/grub2/conf/x86_64-efi.mk
===================================================================
--- trunk/grub2/conf/x86_64-efi.mk      2008-07-27 13:04:02 UTC (rev 1735)
+++ trunk/grub2/conf/x86_64-efi.mk      2008-07-27 13:51:30 UTC (rev 1736)
@@ -56,7 +56,7 @@
 grub_emu_SOURCES = commands/boot.c commands/cat.c commands/cmp.c       \
        commands/configfile.c commands/help.c                           \
        commands/terminal.c commands/ls.c commands/test.c               \
-       commands/search.c commands/hexdump.c                            \
+       commands/search.c commands/hexdump.c lib/hexdump.c              \
        commands/halt.c commands/reboot.c                               \
        commands/i386/cpuid.c                                           \
        disk/loopback.c                                                 \

Modified: trunk/grub2/conf/x86_64-efi.rmk
===================================================================
--- trunk/grub2/conf/x86_64-efi.rmk     2008-07-27 13:04:02 UTC (rev 1735)
+++ trunk/grub2/conf/x86_64-efi.rmk     2008-07-27 13:51:30 UTC (rev 1736)
@@ -38,7 +38,7 @@
 grub_emu_SOURCES = commands/boot.c commands/cat.c commands/cmp.c       \
        commands/configfile.c commands/help.c                           \
        commands/terminal.c commands/ls.c commands/test.c               \
-       commands/search.c commands/hexdump.c                            \
+       commands/search.c commands/hexdump.c lib/hexdump.c              \
        commands/halt.c commands/reboot.c                               \
        commands/i386/cpuid.c                                           \
        disk/loopback.c                                                 \

Deleted: trunk/grub2/include/grub/envblk.h
===================================================================
--- trunk/grub2/include/grub/envblk.h   2008-07-27 13:04:02 UTC (rev 1735)
+++ trunk/grub2/include/grub/envblk.h   2008-07-27 13:51:30 UTC (rev 1736)
@@ -1,45 +0,0 @@
-/*
- *  GRUB  --  GRand Unified Bootloader
- *  Copyright (C) 2008  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/>.
- */
-
-#ifndef GRUB_ENVBLK_HEADER
-#define GRUB_ENVBLK_HEADER     1
-
-#define GRUB_ENVBLK_SIGNATURE  0x764e6547      /* GeNv  */
-
-#define GRUB_ENVBLK_MAXLEN     8192
-
-#define GRUB_ENVBLK_DEFCFG     "grubenv"
-
-#ifndef ASM_FILE
-
-struct grub_envblk
-{
-  grub_uint32_t signature;
-  grub_uint16_t length;
-  char data[0];
-} __attribute__ ((packed));
-typedef struct grub_envblk *grub_envblk_t;
-
-grub_envblk_t grub_envblk_find (char *buf);
-int grub_envblk_insert (grub_envblk_t envblk, char *name, char *value);
-void grub_envblk_delete (grub_envblk_t envblk, char *name);
-void grub_envblk_iterate (grub_envblk_t envblk, int hook (char *name, char 
*value));
-
-#endif
-
-#endif /* ! GRUB_ENVBLK_HEADER */

Deleted: trunk/grub2/include/grub/hexdump.h
===================================================================
--- trunk/grub2/include/grub/hexdump.h  2008-07-27 13:04:02 UTC (rev 1735)
+++ trunk/grub2/include/grub/hexdump.h  2008-07-27 13:51:30 UTC (rev 1736)
@@ -1,25 +0,0 @@
-/* hexdump.h - prototypes for dump */
-/*
- *  GRUB  --  GRand Unified Bootloader
- *  Copyright (C) 2007  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/>.
- */
-
-#ifndef GRUB_HEXDUMP_H
-#define GRUB_HEXDUMP_H 1
-
-void hexdump (unsigned long bse,char* buf,int len);
-
-#endif /* ! GRUB_HEXDUMP_H */

Copied: trunk/grub2/include/grub/lib/crc.h (from rev 1735, 
trunk/grub2/include/grub/hexdump.h)
===================================================================
--- trunk/grub2/include/grub/lib/crc.h                          (rev 0)
+++ trunk/grub2/include/grub/lib/crc.h  2008-07-27 13:51:30 UTC (rev 1736)
@@ -0,0 +1,25 @@
+/* crc.h - prototypes for crc */
+/*
+ *  GRUB  --  GRand Unified Bootloader
+ *  Copyright (C) 2008  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/>.
+ */
+
+#ifndef GRUB_CRC_H
+#define GRUB_CRC_H     1
+
+grub_uint32_t grub_getcrc32 (grub_uint32_t crc, void *buf, int size);
+
+#endif /* ! GRUB_CRC_H */

Copied: trunk/grub2/include/grub/lib/envblk.h (from rev 1735, 
trunk/grub2/include/grub/envblk.h)
===================================================================
--- trunk/grub2/include/grub/lib/envblk.h                               (rev 0)
+++ trunk/grub2/include/grub/lib/envblk.h       2008-07-27 13:51:30 UTC (rev 
1736)
@@ -0,0 +1,45 @@
+/*
+ *  GRUB  --  GRand Unified Bootloader
+ *  Copyright (C) 2008  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/>.
+ */
+
+#ifndef GRUB_ENVBLK_HEADER
+#define GRUB_ENVBLK_HEADER     1
+
+#define GRUB_ENVBLK_SIGNATURE  0x764e6547      /* GeNv  */
+
+#define GRUB_ENVBLK_MAXLEN     8192
+
+#define GRUB_ENVBLK_DEFCFG     "grubenv"
+
+#ifndef ASM_FILE
+
+struct grub_envblk
+{
+  grub_uint32_t signature;
+  grub_uint16_t length;
+  char data[0];
+} __attribute__ ((packed));
+typedef struct grub_envblk *grub_envblk_t;
+
+grub_envblk_t grub_envblk_find (char *buf);
+int grub_envblk_insert (grub_envblk_t envblk, char *name, char *value);
+void grub_envblk_delete (grub_envblk_t envblk, char *name);
+void grub_envblk_iterate (grub_envblk_t envblk, int hook (char *name, char 
*value));
+
+#endif
+
+#endif /* ! GRUB_ENVBLK_HEADER */

Copied: trunk/grub2/include/grub/lib/hexdump.h (from rev 1735, 
trunk/grub2/include/grub/hexdump.h)
===================================================================
--- trunk/grub2/include/grub/lib/hexdump.h                              (rev 0)
+++ trunk/grub2/include/grub/lib/hexdump.h      2008-07-27 13:51:30 UTC (rev 
1736)
@@ -0,0 +1,25 @@
+/* hexdump.h - prototypes for dump */
+/*
+ *  GRUB  --  GRand Unified Bootloader
+ *  Copyright (C) 2007  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/>.
+ */
+
+#ifndef GRUB_HEXDUMP_H
+#define GRUB_HEXDUMP_H 1
+
+void hexdump (unsigned long bse,char* buf,int len);
+
+#endif /* ! GRUB_HEXDUMP_H */

Added: trunk/grub2/lib/crc.c
===================================================================
--- trunk/grub2/lib/crc.c                               (rev 0)
+++ trunk/grub2/lib/crc.c       2008-07-27 13:51:30 UTC (rev 1736)
@@ -0,0 +1,75 @@
+/* crc.c - crc function  */
+/*
+ *  GRUB  --  GRand Unified Bootloader
+ *  Copyright (C) 2008  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 <grub/types.h>
+#include <grub/lib/crc.h>
+
+static grub_uint32_t crc32_table [256];
+
+static void
+init_crc32_table (void)
+{
+  auto grub_uint32_t reflect (grub_uint32_t ref, int len);
+  grub_uint32_t reflect (grub_uint32_t ref, int len)
+    {
+      grub_uint32_t result = 0;
+      int i;
+
+      for (i = 1; i <= len; i++)
+        {
+          if (ref & 1)
+            result |= 1 << (len - i);
+          ref >>= 1;
+        }
+
+      return result;
+    }
+
+  grub_uint32_t polynomial = 0x04c11db7;
+  int i, j;
+
+  for(i = 0; i < 256; i++)
+    {
+      crc32_table[i] = reflect(i, 8) << 24;
+      for (j = 0; j < 8; j++)
+        crc32_table[i] = (crc32_table[i] << 1) ^
+            (crc32_table[i] & (1 << 31) ? polynomial : 0);
+      crc32_table[i] = reflect(crc32_table[i], 32);
+    }
+}
+
+grub_uint32_t
+grub_getcrc32 (grub_uint32_t crc, void *buf, int size)
+{
+  int i;
+  grub_uint8_t *data = buf;
+
+  if (! crc32_table[1])
+    init_crc32_table ();
+
+  crc^= 0xffffffff;
+
+  for (i = 0; i < size; i++)
+    {
+      crc = (crc >> 8) ^ crc32_table[(crc & 0xFF) ^ *data];
+      data++;
+    }
+
+  return crc ^ 0xffffffff;
+}

Copied: trunk/grub2/lib/envblk.c (from rev 1735, trunk/grub2/util/envblk.c)
===================================================================
--- trunk/grub2/lib/envblk.c                            (rev 0)
+++ trunk/grub2/lib/envblk.c    2008-07-27 13:51:30 UTC (rev 1736)
@@ -0,0 +1,156 @@
+/* envblk.c - Common function for environment block.  */
+/*
+ *  GRUB  --  GRand Unified Bootloader
+ *  Copyright (C) 2008  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/types.h>
+#include <grub/misc.h>
+#include <grub/lib/envblk.h>
+
+grub_envblk_t
+grub_envblk_find (char *buf)
+{
+  grub_uint32_t *pd;
+  int len;
+
+  pd = (grub_uint32_t *) buf;
+
+  for (len = GRUB_ENVBLK_MAXLEN - 6; len > 0; len -= 4, pd++)
+    if (*pd == GRUB_ENVBLK_SIGNATURE)
+      {
+        grub_envblk_t p;
+
+        p = (grub_envblk_t) pd;
+        if (p->length <= len)
+          return p;
+      }
+
+  return 0;
+}
+
+int
+grub_envblk_insert (grub_envblk_t envblk, char *name, char *value)
+{
+  char *p, *pend;
+  char *found = 0;
+  int nl;
+
+  nl = grub_strlen (name);
+  p = envblk->data;
+  pend = p + envblk->length;
+
+  while (*p)
+    {
+      if ((! found) && (! grub_memcmp (name, p, nl)) && (p[nl] == '='))
+        found = p + nl + 1;
+
+      p += grub_strlen (p) + 1;
+      if (p >= pend)
+        return 1;
+    }
+
+  if (found)
+    {
+      int len1, len2;
+
+      len1 = grub_strlen (found);
+      len2 = grub_strlen (value);
+      if ((p - envblk->data) + 1 - len1 + len2 > envblk->length)
+        return 1;
+
+      grub_memcpy (found + len2 + 1, found + len1 + 1, (p - found) - len1);
+      grub_strcpy (found, value);
+    }
+  else
+    {
+      int len2 = grub_strlen (value);
+
+      if ((p - envblk->data) + nl + 1 + len2 + 2 > envblk->length)
+        return 1;
+
+      grub_strcpy (p, name);
+      p[nl] = '=';
+      grub_strcpy (p + nl + 1, value);
+      p[nl + 1 + len2 + 1] = 0;
+    }
+
+  return 0;
+}
+
+void
+grub_envblk_delete (grub_envblk_t envblk, char *name)
+{
+  char *p, *pend;
+  char *found = 0;
+  int nl;
+
+  nl = grub_strlen (name);
+  p = envblk->data;
+  pend = p + envblk->length;
+
+  while (*p)
+    {
+      if ((! found) && (! grub_memcmp (name, p, nl)) && (p[nl] == '='))
+        found = p;
+
+      p += grub_strlen (p) + 1;
+      if (p >= pend)
+        return;
+    }
+
+  if (found)
+    {
+      int len;
+
+      len = grub_strlen (found);
+      grub_memcpy (found, found + len + 1, (p - found) - len);
+    }
+}
+
+void
+grub_envblk_iterate (grub_envblk_t envblk,
+                     int hook (char *name, char *value))
+{
+  char *p, *pend;
+
+  p = envblk->data;
+  pend = p + envblk->length;
+
+  while (*p)
+    {
+      char *v;
+      int r;
+
+      v = grub_strchr (p, '=');
+      if (v)
+        {
+          *v = 0;
+          r = hook (p, v + 1);
+          *v = '=';
+        }
+      else
+        r = hook (p, "");
+
+      if (r)
+        break;
+
+      p += grub_strlen (p) + 1;
+      if (p >= pend)
+        break;
+    }
+}

Added: trunk/grub2/lib/hexdump.c
===================================================================
--- trunk/grub2/lib/hexdump.c                           (rev 0)
+++ trunk/grub2/lib/hexdump.c   2008-07-27 13:51:30 UTC (rev 1736)
@@ -0,0 +1,68 @@
+/* hexdump.c - hexdump function */
+/*
+ *  GRUB  --  GRand Unified Bootloader
+ *  Copyright (C) 2008  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 <grub/types.h>
+#include <grub/misc.h>
+#include <grub/lib/hexdump.h>
+
+void
+hexdump (unsigned long bse, char *buf, int len)
+{
+  int pos;
+  char line[80];
+
+  while (len > 0)
+    {
+      int cnt, i;
+
+      pos = grub_sprintf (line, "%08lx  ", bse);
+      cnt = 16;
+      if (cnt > len)
+       cnt = len;
+
+      for (i = 0; i < cnt; i++)
+       {
+         pos += grub_sprintf (&line[pos], "%02x ", (unsigned char) buf[i]);
+         if ((i & 7) == 7)
+           line[pos++] = ' ';
+       }
+
+      for (; i < 16; i++)
+       {
+         pos += grub_sprintf (&line[pos], "   ");
+         if ((i & 7) == 7)
+           line[pos++] = ' ';
+       }
+
+      line[pos++] = '|';
+
+      for (i = 0; i < cnt; i++)
+       line[pos++] = ((buf[i] >= 32) && (buf[i] < 127)) ? buf[i] : '.';
+
+      line[pos++] = '|';
+
+      line[pos] = 0;
+
+      grub_printf ("%s\n", line);
+
+      bse += 16;
+      buf += 16;
+      len -= cnt;
+    }
+}

Deleted: trunk/grub2/util/envblk.c
===================================================================
--- trunk/grub2/util/envblk.c   2008-07-27 13:04:02 UTC (rev 1735)
+++ trunk/grub2/util/envblk.c   2008-07-27 13:51:30 UTC (rev 1736)
@@ -1,156 +0,0 @@
-/* envblk.c - Common function for environment block.  */
-/*
- *  GRUB  --  GRand Unified Bootloader
- *  Copyright (C) 2008  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/types.h>
-#include <grub/envblk.h>
-#include <grub/misc.h>
-
-grub_envblk_t
-grub_envblk_find (char *buf)
-{
-  grub_uint32_t *pd;
-  int len;
-
-  pd = (grub_uint32_t *) buf;
-
-  for (len = GRUB_ENVBLK_MAXLEN - 6; len > 0; len -= 4, pd++)
-    if (*pd == GRUB_ENVBLK_SIGNATURE)
-      {
-        grub_envblk_t p;
-
-        p = (grub_envblk_t) pd;
-        if (p->length <= len)
-          return p;
-      }
-
-  return 0;
-}
-
-int
-grub_envblk_insert (grub_envblk_t envblk, char *name, char *value)
-{
-  char *p, *pend;
-  char *found = 0;
-  int nl;
-
-  nl = grub_strlen (name);
-  p = envblk->data;
-  pend = p + envblk->length;
-
-  while (*p)
-    {
-      if ((! found) && (! grub_memcmp (name, p, nl)) && (p[nl] == '='))
-        found = p + nl + 1;
-
-      p += grub_strlen (p) + 1;
-      if (p >= pend)
-        return 1;
-    }
-
-  if (found)
-    {
-      int len1, len2;
-
-      len1 = grub_strlen (found);
-      len2 = grub_strlen (value);
-      if ((p - envblk->data) + 1 - len1 + len2 > envblk->length)
-        return 1;
-
-      grub_memcpy (found + len2 + 1, found + len1 + 1, (p - found) - len1);
-      grub_strcpy (found, value);
-    }
-  else
-    {
-      int len2 = grub_strlen (value);
-
-      if ((p - envblk->data) + nl + 1 + len2 + 2 > envblk->length)
-        return 1;
-
-      grub_strcpy (p, name);
-      p[nl] = '=';
-      grub_strcpy (p + nl + 1, value);
-      p[nl + 1 + len2 + 1] = 0;
-    }
-
-  return 0;
-}
-
-void
-grub_envblk_delete (grub_envblk_t envblk, char *name)
-{
-  char *p, *pend;
-  char *found = 0;
-  int nl;
-
-  nl = grub_strlen (name);
-  p = envblk->data;
-  pend = p + envblk->length;
-
-  while (*p)
-    {
-      if ((! found) && (! grub_memcmp (name, p, nl)) && (p[nl] == '='))
-        found = p;
-
-      p += grub_strlen (p) + 1;
-      if (p >= pend)
-        return;
-    }
-
-  if (found)
-    {
-      int len;
-
-      len = grub_strlen (found);
-      grub_memcpy (found, found + len + 1, (p - found) - len);
-    }
-}
-
-void
-grub_envblk_iterate (grub_envblk_t envblk,
-                     int hook (char *name, char *value))
-{
-  char *p, *pend;
-
-  p = envblk->data;
-  pend = p + envblk->length;
-
-  while (*p)
-    {
-      char *v;
-      int r;
-
-      v = grub_strchr (p, '=');
-      if (v)
-        {
-          *v = 0;
-          r = hook (p, v + 1);
-          *v = '=';
-        }
-      else
-        r = hook (p, "");
-
-      if (r)
-        break;
-
-      p += grub_strlen (p) + 1;
-      if (p >= pend)
-        break;
-    }
-}

Modified: trunk/grub2/util/grub-editenv.c
===================================================================
--- trunk/grub2/util/grub-editenv.c     2008-07-27 13:04:02 UTC (rev 1735)
+++ trunk/grub2/util/grub-editenv.c     2008-07-27 13:51:30 UTC (rev 1736)
@@ -20,9 +20,8 @@
 #include <config.h>
 #include <grub/types.h>
 #include <grub/util/misc.h>
+#include <grub/lib/envblk.h>
 
-#include <grub/envblk.h>
-
 #include <stdio.h>
 #include <unistd.h>
 #include <string.h>

Modified: trunk/grub2/util/grub-fstest.c
===================================================================
--- trunk/grub2/util/grub-fstest.c      2008-07-27 13:04:02 UTC (rev 1735)
+++ trunk/grub2/util/grub-fstest.c      2008-07-27 13:51:30 UTC (rev 1736)
@@ -29,7 +29,7 @@
 #include <grub/term.h>
 #include <grub/mm.h>
 #include <grub/normal.h>
-#include <grub/hexdump.h>
+#include <grub/lib/hexdump.h>
 
 #include <grub_fstest_init.h>
 






reply via email to

[Prev in Thread] Current Thread [Next in Thread]