Merge back Debian changes.
This commit is contained in:
parent
ee4e0d44b3
commit
a3d2f9bee9
14 changed files with 169 additions and 87 deletions
20
ChangeLog
20
ChangeLog
|
@ -1,3 +1,19 @@
|
|||
1999-11-03 Gordon Matzigkeit <gord@fig.org>
|
||||
|
||||
* debian/rules: Add variables for cross-compilation.
|
||||
|
||||
* debian/control (Standards-Version): Update to version 3.1.0.
|
||||
* debian/rules (build): Install manpages into /usr/share/man, and
|
||||
info into /usr/share/info in accordance with FHS.
|
||||
(binary-arch): Likewise, and put docs into /usr/share/doc.
|
||||
* debian/postinst: Use /usr/share/info, and manage compatibility
|
||||
/usr/doc/grub -> /usr/share/doc/grub symlink.
|
||||
* debian/prerm: Likewise.
|
||||
|
||||
* stage2/Makefile.am (CLEANFILES): Change to
|
||||
$(nodist_pkgdata_DATA) so that the raw binary files are deleted.
|
||||
* stage1/Makefile.am (CLEANFILES): Likewise.
|
||||
|
||||
1999-11-06 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
||||
|
||||
* grub/asmstub.c (grub_putchar) [HAVE_LIBCURSES]: Do not call
|
||||
|
@ -8,13 +24,13 @@
|
|||
function biosdisk is changed from SECTOR + I * SECTOR_SIZE to
|
||||
SECTOR + I.
|
||||
(find_func): Clear ERRNUM before each of the attempts.
|
||||
|
||||
|
||||
1999-11-05 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
||||
|
||||
* docs/multiboot.texi (Boot information format): Add the members
|
||||
`drives_addr' and `drives_count' into the Multiboot information
|
||||
structure, and added the descriptions.
|
||||
|
||||
|
||||
1999-11-03 Gordon Matzigkeit <gord@fig.org>
|
||||
|
||||
* util/mbchk.c (main): Move the version number inside the
|
||||
|
|
7
TODO
7
TODO
|
@ -26,6 +26,9 @@ Priorities:
|
|||
* Support embedding a Stage 1.5 in the "bootloader" area of a FFS
|
||||
partition. !!!
|
||||
|
||||
* Support embedding a Stage 1.5 in the EXT2_BOOT_LOADER_INO of an ext2fs
|
||||
partition. Maybe we can just make a hard link to an existing file? !
|
||||
|
||||
* Complete the netboot support. !
|
||||
|
||||
* Add automatic configuration support.
|
||||
|
@ -38,6 +41,10 @@ Priorities:
|
|||
|
||||
* Fix the completion so that it works for BSD partitions as well. !!
|
||||
|
||||
* Add BSD syntax support, using results of ioprobe to map drives.
|
||||
(0x1f0-0x1f77 = primary IDE, 0x170-0x176 = secondary,
|
||||
0x1e8-0x1ef = tertiary, 0x168-0x16f = quaternary).
|
||||
|
||||
* Add more filesystems support (XFS, NTFS, etc.)
|
||||
|
||||
* Add remote console support (serial, parallel and net).
|
||||
|
|
19
configure
vendored
19
configure
vendored
|
@ -1,7 +1,7 @@
|
|||
#! /bin/sh
|
||||
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated automatically using autoconf version 2.13.1
|
||||
# Generated automatically using autoconf version 2.13.1
|
||||
# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
|
||||
#
|
||||
# This configure script is free software; the Free Software Foundation
|
||||
|
@ -975,7 +975,7 @@ else
|
|||
fi
|
||||
|
||||
echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
|
||||
|
||||
|
||||
|
||||
if test $USE_MAINTAINER_MODE = yes; then
|
||||
MAINTAINER_MODE_TRUE=
|
||||
|
@ -985,7 +985,7 @@ else
|
|||
MAINTAINER_MODE_FALSE=
|
||||
fi
|
||||
MAINT=$MAINTAINER_MODE_TRUE
|
||||
|
||||
|
||||
|
||||
if test "x$enable_maintainer_mode" = xyes; then
|
||||
# Extract the first word of "perl", so it can be a program name with args.
|
||||
|
@ -1005,7 +1005,7 @@ else
|
|||
*)
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
|
||||
ac_dummy="$PATH"
|
||||
for ac_dir in $ac_dummy; do
|
||||
for ac_dir in $ac_dummy; do
|
||||
test -z "$ac_dir" && ac_dir=.
|
||||
if test -f $ac_dir/$ac_word; then
|
||||
ac_cv_path_PERL="$ac_dir/$ac_word"
|
||||
|
@ -1363,7 +1363,7 @@ else
|
|||
*)
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
|
||||
ac_dummy=""$with_binutils:$PATH""
|
||||
for ac_dir in $ac_dummy; do
|
||||
for ac_dir in $ac_dummy; do
|
||||
test -z "$ac_dir" && ac_dir=.
|
||||
if test -f $ac_dir/$ac_word; then
|
||||
ac_cv_path_RANLIB="$ac_dir/$ac_word"
|
||||
|
@ -1430,7 +1430,7 @@ echo "configure:1430: checking whether optimization for size works" >&5
|
|||
if eval "test \"\${size_flag+set}\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
||||
|
||||
saved_CFLAGS=$CFLAGS
|
||||
CFLAGS="-Os -g"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
|
@ -1452,7 +1452,7 @@ else
|
|||
fi
|
||||
rm -f conftest*
|
||||
CFLAGS=$saved_CFLAGS
|
||||
|
||||
|
||||
fi
|
||||
|
||||
echo "$ac_t""$size_flag" 1>&6
|
||||
|
@ -1489,7 +1489,7 @@ else
|
|||
*)
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
|
||||
ac_dummy=""$with_binutils:$PATH""
|
||||
for ac_dir in $ac_dummy; do
|
||||
for ac_dir in $ac_dummy; do
|
||||
test -z "$ac_dir" && ac_dir=.
|
||||
if test -f $ac_dir/$ac_word; then
|
||||
ac_cv_path_OBJCOPY="$ac_dir/$ac_word"
|
||||
|
@ -2230,7 +2230,7 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
|
|||
cat >> confdefs.h <<EOF
|
||||
#define $ac_tr_hdr 1
|
||||
EOF
|
||||
|
||||
|
||||
else
|
||||
echo "$ac_t""no" 1>&6
|
||||
fi
|
||||
|
@ -2847,4 +2847,3 @@ EOF
|
|||
chmod +x $CONFIG_STATUS
|
||||
rm -fr confdefs* $ac_clean_files
|
||||
test "$no_create" = yes || $SHELL $CONFIG_STATUS || exit 1
|
||||
|
||||
|
|
15
debian/changelog
vendored
15
debian/changelog
vendored
|
@ -1,5 +1,18 @@
|
|||
grub (0.5.94) unstable; urgency=low
|
||||
|
||||
|
||||
--
|
||||
|
||||
grub (0.5.93.1) unstable; urgency=low
|
||||
|
||||
* Update to Standards-Version: 3.0.1, mainly for FHS support.
|
||||
* Fix definition of ext2_dir_entry. (closes:bug#49017)
|
||||
* Fix rules for cross-compiling. (closes:bug#49034)
|
||||
* Update synopsis for grub(8). (closes:bug#48991)
|
||||
* Don't clear the line when hitting enter in the GRUB shell.
|
||||
(closes:bug#48989)
|
||||
|
||||
-- Gordon Matzigkeit <gord@debian.org> Fri, 5 Nov 1999 22:31:30 -0600
|
||||
|
||||
grub (0.5.93) unstable; urgency=low
|
||||
|
||||
* Updated example configurations. (closes:bug#42136)
|
||||
|
|
2
debian/control
vendored
2
debian/control
vendored
|
@ -2,7 +2,7 @@ Source: grub
|
|||
Section: base
|
||||
Priority: extra
|
||||
Maintainer: GNU GRUB Maintainers <bug-grub@gnu.org>
|
||||
Standards-Version: 2.5.0.0
|
||||
Standards-Version: 3.0.1
|
||||
|
||||
Package: grub
|
||||
Architecture: i386 hurd-i386
|
||||
|
|
18
debian/postinst
vendored
18
debian/postinst
vendored
|
@ -1,6 +1,20 @@
|
|||
#! /bin/sh
|
||||
set -e
|
||||
|
||||
# Provide a backward-compatibility symlink to the doc directory.
|
||||
package=grub
|
||||
case "$1" in
|
||||
install | upgrade)
|
||||
if [ -d /usr/doc ]; then
|
||||
if [ ! -e /usr/doc/$package -a -d /usr/share/doc/$package ]; then
|
||||
ln -s /usr/share/doc/$package /usr/doc/$package
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
# Install our info pages.
|
||||
install-info --quiet --section Kernel Kernel \
|
||||
/usr/info/grub.info.gz
|
||||
/usr/share/info/grub.info.gz
|
||||
install-info --quiet --section Kernel Kernel \
|
||||
/usr/info/multiboot.info.gz
|
||||
/usr/share/info/multiboot.info.gz
|
||||
|
|
17
debian/prerm
vendored
17
debian/prerm
vendored
|
@ -1,3 +1,16 @@
|
|||
#! /bin/sh
|
||||
install-info --quiet --remove /usr/info/grub.info.gz
|
||||
install-info --quiet --remove /usr/info/multiboot.info.gz
|
||||
set -e
|
||||
|
||||
# Delete our backward-compatibility symlink.
|
||||
package=grub
|
||||
case "$1" in
|
||||
remove | upgrade)
|
||||
if [ -d /usr/doc -a -L /usr/doc/$package ]; then
|
||||
rm -f /usr/doc/$package
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
# Install our info pages.
|
||||
install-info --quiet --remove /usr/share/info/grub.info.gz
|
||||
install-info --quiet --remove /usr/share/info/multiboot.info.gz
|
||||
|
|
36
debian/rules
vendored
36
debian/rules
vendored
|
@ -4,13 +4,26 @@
|
|||
|
||||
package:=grub
|
||||
|
||||
# For cross-compilation.
|
||||
DEB_BUILD_ARCH := $(shell dpkg --print-installation-architecture)
|
||||
DEB_BUILD_GNU_CPU := $(patsubst hurd-%,%,$(DEB_BUILD_ARCH))
|
||||
ifeq ($(filter-out hurd-%,$(DEB_BUILD_ARCH)),)
|
||||
DEB_BUILD_GNU_SYSTEM := gnu
|
||||
else
|
||||
DEB_BUILD_GNU_SYSTEM := linux
|
||||
endif
|
||||
DEB_BUILD_GNU_TYPE := $(DEB_BUILD_GNU_CPU)-$(DEB_BUILD_GNU_SYSTEM)
|
||||
DEB_HOST_GNU_TYPE := $(DEB_BUILD_GNU_TYPE)
|
||||
|
||||
INSTALL = install -c
|
||||
INSTALL_DATA = $(INSTALL) -m 644
|
||||
INSTALL_PROGRAM = $(INSTALL) -m 755
|
||||
|
||||
build:
|
||||
$(checkdir)
|
||||
./configure --prefix=/usr
|
||||
./configure --prefix=/usr \
|
||||
$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
|
||||
--mandir='$${datadir}/man' --infodir='$${datadir}/info'
|
||||
make
|
||||
echo timestamp > build
|
||||
|
||||
|
@ -31,25 +44,26 @@ binary-arch: checkroot build
|
|||
$(checkdir)
|
||||
-rm -rf debian/tmp
|
||||
## make dirs
|
||||
install -d debian/tmp debian/tmp/usr/doc/grub debian/tmp/DEBIAN
|
||||
install -d debian/tmp debian/tmp/usr/share/doc/grub debian/tmp/DEBIAN
|
||||
## install files
|
||||
|
||||
dir=`cd debian/tmp && pwd` && make install DESTDIR=$$dir
|
||||
gzip -f9 debian/tmp/usr/info/* debian/tmp/usr/man/man8/*
|
||||
gzip -f9 debian/tmp/usr/share/info/* debian/tmp/usr/share/man/*/*
|
||||
strip -s debian/tmp/usr/sbin/*
|
||||
|
||||
$(INSTALL_DATA) TODO BUGS NEWS docs/menu.lst debian/tmp/usr/doc/grub/
|
||||
$(INSTALL_DATA) TODO BUGS NEWS docs/menu.lst \
|
||||
debian/tmp/usr/share/doc/grub/
|
||||
|
||||
$(INSTALL_DATA) ChangeLog debian/tmp/usr/doc/grub/changelog
|
||||
gzip -f9 debian/tmp/usr/doc/grub/changelog
|
||||
$(INSTALL_DATA) debian/changelog debian/tmp/usr/doc/grub/changelog.Debian
|
||||
gzip -f9 debian/tmp/usr/doc/grub/changelog.Debian
|
||||
$(INSTALL_DATA) debian/copyright debian/tmp/usr/doc/grub/
|
||||
$(INSTALL_DATA) debian/README.debian debian/tmp/usr/doc/grub/
|
||||
$(INSTALL_DATA) ChangeLog debian/tmp/usr/share/doc/grub/changelog
|
||||
gzip -f9 debian/tmp/usr/share/doc/grub/changelog
|
||||
$(INSTALL_DATA) debian/changelog debian/tmp/usr/share/doc/grub/changelog.Debian
|
||||
gzip -f9 debian/tmp/usr/share/doc/grub/changelog.Debian
|
||||
$(INSTALL_DATA) debian/copyright debian/tmp/usr/share/doc/grub/
|
||||
$(INSTALL_DATA) debian/README.debian debian/tmp/usr/share/doc/grub/
|
||||
|
||||
# Install control files.
|
||||
$(INSTALL_PROGRAM) debian/postinst debian/prerm debian/tmp/DEBIAN
|
||||
dpkg-shlibdeps debian/tmp/usr/sbin/grub
|
||||
dpkg-shlibdeps debian/tmp/usr/*bin/*
|
||||
dpkg-gencontrol
|
||||
chown -R root.root debian/tmp
|
||||
chmod -R go=rX debian/tmp
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor)
|
||||
nodist_pkgdata_DATA = stage1
|
||||
|
||||
BUILT_SOURCES = stage2_size.h
|
||||
CLEANFILES = $(nodist_pkgdata_DATA) $(BUILT_SOURCES)
|
||||
|
||||
# We can't use builtins or standard includes.
|
||||
AM_CFLAGS = $(STAGE1_CFLAGS) -fno-builtin -nostdinc
|
||||
LDFLAGS = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00
|
||||
|
|
|
@ -83,6 +83,9 @@ install_sh = @install_sh@
|
|||
pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor)
|
||||
nodist_pkgdata_DATA = stage1
|
||||
|
||||
BUILT_SOURCES = stage2_size.h
|
||||
CLEANFILES = $(nodist_pkgdata_DATA) $(BUILT_SOURCES)
|
||||
|
||||
# We can't use builtins or standard includes.
|
||||
AM_CFLAGS = $(STAGE1_CFLAGS) -fno-builtin -nostdinc
|
||||
LDFLAGS = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00
|
||||
|
|
|
@ -23,6 +23,7 @@ libgrub_a_CFLAGS = $(GRUB_CFLAGS) -DGRUB_UTIL=1 -DFSYS_EXT2FS=1 \
|
|||
pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor)
|
||||
nodist_pkgdata_DATA = stage2 e2fs_stage1_5 fat_stage1_5 ffs_stage1_5 \
|
||||
minix_stage1_5
|
||||
CLEANFILES = $(nodist_pkgdata_DATA)
|
||||
noinst_DATA = pre_stage2 start
|
||||
noinst_PROGRAMS = pre_stage2.exec start.exec \
|
||||
e2fs_stage1_5.exec fat_stage1_5.exec \
|
||||
|
|
|
@ -110,6 +110,7 @@ pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor)
|
|||
nodist_pkgdata_DATA = stage2 e2fs_stage1_5 fat_stage1_5 ffs_stage1_5 \
|
||||
minix_stage1_5
|
||||
|
||||
CLEANFILES = $(nodist_pkgdata_DATA)
|
||||
noinst_DATA = pre_stage2 start
|
||||
noinst_PROGRAMS = pre_stage2.exec start.exec \
|
||||
e2fs_stage1_5.exec fat_stage1_5.exec \
|
||||
|
|
|
@ -128,9 +128,9 @@ grub_sprintf (char *buffer, const char *format, ...)
|
|||
int *dataptr = (int *) &format;
|
||||
char c, *ptr, str[16];
|
||||
char *bp = buffer;
|
||||
|
||||
|
||||
dataptr++;
|
||||
|
||||
|
||||
while ((c = *format++) != 0)
|
||||
{
|
||||
if (c != '%')
|
||||
|
@ -140,26 +140,26 @@ grub_sprintf (char *buffer, const char *format, ...)
|
|||
{
|
||||
case 'd': case 'u': case 'x':
|
||||
*convert_to_ascii (str, c, *((unsigned long *) dataptr++)) = 0;
|
||||
|
||||
|
||||
ptr = str;
|
||||
|
||||
|
||||
while (*ptr)
|
||||
*bp++ = *(ptr++); /* putchar(*(ptr++)); */
|
||||
break;
|
||||
|
||||
|
||||
case 'c': *bp++ = (*(dataptr++))&0xff;
|
||||
/* putchar((*(dataptr++))&0xff); */
|
||||
/* putchar((*(dataptr++))&0xff); */
|
||||
break;
|
||||
|
||||
|
||||
case 's':
|
||||
ptr = (char *) (*(dataptr++));
|
||||
|
||||
|
||||
while ((c = *ptr++) != 0)
|
||||
*bp++ = c; /* putchar(c); */
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
*bp = 0;
|
||||
return bp - buffer;
|
||||
}
|
||||
|
@ -222,7 +222,7 @@ get_cmdline (char *prompt, char *cmdline, int maxlen,
|
|||
char *buf = (char *) CMDLINE_BUF;
|
||||
/* The kill buffer. */
|
||||
char *kill = (char *) KILL_BUF;
|
||||
|
||||
|
||||
/* nested function definition for code simplicity */
|
||||
static void cl_print (char *str, int echo_char)
|
||||
{
|
||||
|
@ -241,7 +241,7 @@ get_cmdline (char *prompt, char *cmdline, int maxlen,
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* nested function definition for code simplicity */
|
||||
static void cl_setcpos (void)
|
||||
{
|
||||
|
@ -249,13 +249,13 @@ get_cmdline (char *prompt, char *cmdline, int maxlen,
|
|||
xend = ((lpos + plen) % 79);
|
||||
gotoxy (xend, yend);
|
||||
}
|
||||
|
||||
|
||||
/* nested function definition for initial command-line printing */
|
||||
static void cl_init ()
|
||||
{
|
||||
/* distinguish us from other lines and error messages! */
|
||||
putchar ('\n');
|
||||
|
||||
|
||||
/* print full line and set position here */
|
||||
ystart = (getxy () & 0xff);
|
||||
yend = ystart;
|
||||
|
@ -264,7 +264,7 @@ get_cmdline (char *prompt, char *cmdline, int maxlen,
|
|||
cl_print (buf, echo_char);
|
||||
cl_setcpos ();
|
||||
}
|
||||
|
||||
|
||||
/* nested function definition for erasing to the end of the line */
|
||||
static void cl_kill_to_end ()
|
||||
{
|
||||
|
@ -283,7 +283,7 @@ get_cmdline (char *prompt, char *cmdline, int maxlen,
|
|||
static void cl_insert (const char *str)
|
||||
{
|
||||
int l = grub_strlen (str);
|
||||
|
||||
|
||||
if (llen + l < maxlen)
|
||||
{
|
||||
if (lpos == llen)
|
||||
|
@ -306,7 +306,7 @@ get_cmdline (char *prompt, char *cmdline, int maxlen,
|
|||
llen += l;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
plen = grub_strlen (prompt);
|
||||
llen = grub_strlen (cmdline);
|
||||
|
||||
|
@ -321,9 +321,9 @@ get_cmdline (char *prompt, char *cmdline, int maxlen,
|
|||
}
|
||||
lpos = llen;
|
||||
grub_strcpy (buf, cmdline);
|
||||
|
||||
|
||||
cl_init ();
|
||||
|
||||
|
||||
while (ASCII_CHAR (c = getkey ()) != '\n' && ASCII_CHAR (c) != '\r')
|
||||
{
|
||||
switch (c)
|
||||
|
@ -378,7 +378,7 @@ get_cmdline (char *prompt, char *cmdline, int maxlen,
|
|||
pos++;
|
||||
|
||||
is_filename = (lpos > pos);
|
||||
|
||||
|
||||
/* Find the position of the equal character after a
|
||||
command, and replace it with a space. */
|
||||
for (i = pos; buf[i] && buf[i] != ' '; i++)
|
||||
|
@ -400,7 +400,7 @@ get_cmdline (char *prompt, char *cmdline, int maxlen,
|
|||
completion_buffer[lpos - i] = 0;
|
||||
ret = print_completions (is_filename, 1);
|
||||
errnum = ERR_NONE;
|
||||
|
||||
|
||||
if (ret >= 0)
|
||||
{
|
||||
/* Found, so insert COMPLETION_BUFFER. */
|
||||
|
@ -410,7 +410,7 @@ get_cmdline (char *prompt, char *cmdline, int maxlen,
|
|||
{
|
||||
/* There is more than one candidates, so print
|
||||
the list. */
|
||||
|
||||
|
||||
/* Go to the part after the line here. */
|
||||
yend = ((llen + plen) / 79) + ystart;
|
||||
grub_putchar ('\n');
|
||||
|
@ -419,11 +419,11 @@ get_cmdline (char *prompt, char *cmdline, int maxlen,
|
|||
print_completions (is_filename, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Restore the command-line. */
|
||||
if (equal_pos >= 0)
|
||||
buf[equal_pos] = '=';
|
||||
|
||||
|
||||
if (ret)
|
||||
cl_init ();
|
||||
}
|
||||
|
@ -478,14 +478,14 @@ get_cmdline (char *prompt, char *cmdline, int maxlen,
|
|||
case 16: /* C-p fetch the previous command */
|
||||
{
|
||||
char *p;
|
||||
|
||||
|
||||
if (history < 0)
|
||||
/* Save the working buffer. */
|
||||
grub_strcpy (cmdline, buf);
|
||||
else if (grub_strcmp (get_history (history), buf) != 0)
|
||||
/* If BUF is modified, add it into the history list. */
|
||||
add_history (buf, history);
|
||||
|
||||
|
||||
history++;
|
||||
p = get_history (history);
|
||||
if (! p)
|
||||
|
@ -493,7 +493,7 @@ get_cmdline (char *prompt, char *cmdline, int maxlen,
|
|||
history--;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
lpos = 0;
|
||||
cl_setcpos ();
|
||||
cl_kill_to_end ();
|
||||
|
@ -507,7 +507,7 @@ get_cmdline (char *prompt, char *cmdline, int maxlen,
|
|||
case 14: /* C-n fetch the next command */
|
||||
{
|
||||
char *p;
|
||||
|
||||
|
||||
if (history < 0)
|
||||
{
|
||||
break;
|
||||
|
@ -515,12 +515,12 @@ get_cmdline (char *prompt, char *cmdline, int maxlen,
|
|||
else if (grub_strcmp (get_history (history), buf) != 0)
|
||||
/* If BUF is modified, add it into the history list. */
|
||||
add_history (buf, history);
|
||||
|
||||
|
||||
history--;
|
||||
p = get_history (history);
|
||||
if (! p)
|
||||
p = cmdline;
|
||||
|
||||
|
||||
lpos = 0;
|
||||
cl_setcpos ();
|
||||
cl_kill_to_end ();
|
||||
|
@ -579,7 +579,7 @@ get_cmdline (char *prompt, char *cmdline, int maxlen,
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Move the cursor to the end of the command. */
|
||||
lpos = llen;
|
||||
cl_setcpos ();
|
||||
|
@ -599,7 +599,7 @@ get_cmdline (char *prompt, char *cmdline, int maxlen,
|
|||
empty, add it into the history list. */
|
||||
if (readline && lpos < llen)
|
||||
add_history (cmdline, 0);
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif /* STAGE1_5 */
|
||||
|
@ -626,7 +626,7 @@ safe_parse_maxint (char **str_ptr, int *myint_ptr)
|
|||
(A >= B && A <= C) <=> ((A - B) <= (C - B))
|
||||
when C > B and A is unsigned. */
|
||||
unsigned int digit;
|
||||
|
||||
|
||||
digit = tolower (*ptr) - '0';
|
||||
if (digit > 9)
|
||||
{
|
||||
|
@ -690,7 +690,7 @@ grub_memcmp (const char *s1, const char *s2, int n)
|
|||
s2++;
|
||||
n--;
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -784,10 +784,10 @@ int
|
|||
grub_strlen (const char *str)
|
||||
{
|
||||
int len = 0;
|
||||
|
||||
|
||||
while (*str++)
|
||||
len++;
|
||||
|
||||
|
||||
return len;
|
||||
}
|
||||
#endif /* ! STAGE1_5 */
|
||||
|
@ -817,7 +817,7 @@ memcheck (int addr, int len)
|
|||
# endif
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
if (start_addr () <= addr && end_addr () > addr + len)
|
||||
return ! errnum;
|
||||
#endif /* GRUB_UTIL */
|
||||
|
@ -841,7 +841,7 @@ grub_memmove (char *to, const char *from, int len)
|
|||
linux-2.2.2/include/asm-i386/string.h. This is not very fast
|
||||
but compact. */
|
||||
int d0, d1, d2;
|
||||
|
||||
|
||||
if (to < from)
|
||||
{
|
||||
asm volatile ("cld\n\t"
|
||||
|
|
40
util/mbchk.c
40
util/mbchk.c
|
@ -48,7 +48,7 @@ Check if the format of FILE complies with the Multiboot Specification.
|
|||
|
||||
Report bugs to <bug-grub@gnu.org>.
|
||||
");
|
||||
|
||||
|
||||
exit (status);
|
||||
}
|
||||
|
||||
|
@ -58,7 +58,7 @@ check_multiboot (const char *filename, FILE *fp)
|
|||
multiboot_header_t *mbh = 0;
|
||||
int i;
|
||||
char buf[8192];
|
||||
|
||||
|
||||
if (fread (buf, 1, 8192, fp) < 0)
|
||||
{
|
||||
fprintf (stderr, "%s: Read error.\n", filename);
|
||||
|
@ -75,17 +75,17 @@ check_multiboot (const char *filename, FILE *fp)
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (! mbh)
|
||||
{
|
||||
fprintf (stderr, "%s: No Multiboot header.\n", filename);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
if (! quiet)
|
||||
printf ("%s: The Multiboot header is found at the offset %d.\n",
|
||||
filename, i);
|
||||
|
||||
|
||||
/* Check for the checksum. */
|
||||
if (mbh->magic + mbh->flags + mbh->checksum != 0)
|
||||
{
|
||||
|
@ -94,7 +94,7 @@ check_multiboot (const char *filename, FILE *fp)
|
|||
filename, mbh->checksum);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/* Reserved flags must be zero. */
|
||||
if (mbh->flags & ~0x00010003)
|
||||
{
|
||||
|
@ -103,7 +103,7 @@ check_multiboot (const char *filename, FILE *fp)
|
|||
filename, mbh->flags);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
if (! quiet)
|
||||
{
|
||||
printf ("%s: Page alignment is turned %s.\n",
|
||||
|
@ -113,7 +113,7 @@ check_multiboot (const char *filename, FILE *fp)
|
|||
printf ("%s: Address fields is turned %s.\n",
|
||||
filename, (mbh->flags & 0x10000)? "on" : "off");
|
||||
}
|
||||
|
||||
|
||||
/* Check for the address fields. */
|
||||
if (mbh->flags & 0x10000)
|
||||
{
|
||||
|
@ -125,7 +125,7 @@ check_multiboot (const char *filename, FILE *fp)
|
|||
filename, mbh->header_addr, mbh->load_addr);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
if (mbh->load_addr >= mbh->load_end_addr)
|
||||
{
|
||||
fprintf (stderr,
|
||||
|
@ -134,7 +134,7 @@ check_multiboot (const char *filename, FILE *fp)
|
|||
filename, mbh->load_addr, mbh->load_end_addr);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
if (mbh->load_end_addr > mbh->bss_end_addr)
|
||||
{
|
||||
fprintf (stderr,
|
||||
|
@ -143,7 +143,7 @@ check_multiboot (const char *filename, FILE *fp)
|
|||
filename, mbh->load_end_addr, mbh->bss_end_addr);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
if (mbh->load_addr > mbh->entry_addr)
|
||||
{
|
||||
fprintf (stderr,
|
||||
|
@ -152,7 +152,7 @@ check_multiboot (const char *filename, FILE *fp)
|
|||
filename, mbh->load_addr, mbh->entry_addr);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
if (mbh->load_end_addr <= mbh->entry_addr)
|
||||
{
|
||||
fprintf (stderr,
|
||||
|
@ -161,7 +161,7 @@ check_multiboot (const char *filename, FILE *fp)
|
|||
filename, mbh->load_end_addr, mbh->entry_addr);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/* This is a GRUB-specific limitation. */
|
||||
if (mbh->load_addr < 0x100000)
|
||||
{
|
||||
|
@ -172,10 +172,10 @@ check_multiboot (const char *filename, FILE *fp)
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (! quiet)
|
||||
printf ("%s: All checks passed.\n", filename);
|
||||
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -183,7 +183,7 @@ int
|
|||
main (int argc, char *argv[])
|
||||
{
|
||||
int c;
|
||||
|
||||
|
||||
do
|
||||
{
|
||||
c = getopt_long (argc, argv, optstring, longopts, 0);
|
||||
|
@ -191,20 +191,20 @@ main (int argc, char *argv[])
|
|||
{
|
||||
case EOF:
|
||||
break;
|
||||
|
||||
|
||||
case 'h':
|
||||
usage (0);
|
||||
break;
|
||||
|
||||
case 'v':
|
||||
printf ("mbchk (GNU GRUB) " VERSION "\n");
|
||||
printf ("mbchk (GNU GRUB " VERSION ")\n");
|
||||
exit (0);
|
||||
break;
|
||||
|
||||
case 'q':
|
||||
quiet = 1;
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
usage (1);
|
||||
break;
|
||||
|
@ -240,5 +240,3 @@ main (int argc, char *argv[])
|
|||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue