merge mainline in regexp

This commit is contained in:
Vladimir 'phcoder' Serbinenko 2009-12-29 23:19:16 +01:00
commit 43f9bfc470
9 changed files with 91 additions and 56 deletions

View file

@ -1,3 +1,41 @@
2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
* loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
Fix syntax error.
2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
* configure.ac: Check for TARGET_CFLAGS initialization before we
initialize it ourselves (sigh).
Move a few modifications to TARGET_CFLAGS to be unconditional
(extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
eh_frame)
* gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
* term/i386/pc/at_keyboard.c
(keyboard_controller_wait_untill_ready): Likewise.
(keyboard_controller_led): Rename `led_status' paramter to avoid
name conflict.
2009-12-28 Carles Pina i Estany <carles@pina.cat>
* normal/misc.c (grub_normal_print_device_info): Add spaces and double
quotes.
2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
* kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
* normal/menu_text.c (grub_print_message_indented): Prevent
past-the-end-of-array dereference.
2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
* video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
(GRUB_MOD_FINI (video_reader_jpeg)): ...this
2009-12-27 Carles Pina i Estany <carles@pina.cat> 2009-12-27 Carles Pina i Estany <carles@pina.cat>
* normal/cmdline.c (grub_cmdline_get): Print a space after prompt. * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.

View file

@ -44,6 +44,11 @@ AC_CANONICAL_TARGET
# Program name transformations # Program name transformations
AC_ARG_PROGRAM AC_ARG_PROGRAM
# Optimization flag. Allow user to override.
if test "x$TARGET_CFLAGS" = x; then
TARGET_CFLAGS="$TARGET_CFLAGS -Os"
fi
case "$target_cpu" in case "$target_cpu" in
i[[3456]]86) target_cpu=i386 ;; i[[3456]]86) target_cpu=i386 ;;
sparc) target_cpu=sparc64 ;; sparc) target_cpu=sparc64 ;;
@ -242,60 +247,45 @@ CPPFLAGS="$TARGET_CPPFLAGS"
LDFLAGS="$TARGET_LDFLAGS" LDFLAGS="$TARGET_LDFLAGS"
LIBS="" LIBS=""
if test "x$TARGET_CFLAGS" = x; then # debug flags.
# debug flags. TARGET_CFLAGS="$TARGET_CFLAGS -Wall -W -Wshadow -Wpointer-arith -Wmissing-prototypes \
TARGET_CFLAGS="-Wall -W -Wshadow -Wpointer-arith -Wmissing-prototypes \ -Wundef -Wstrict-prototypes -g"
-Wundef -Wstrict-prototypes -g"
# optimization flags. # Force no alignment to save space on i386.
AC_CACHE_CHECK([whether optimization for size works], grub_cv_cc_Os, [ if test "x$target_cpu" = xi386; then
CFLAGS=-Os AC_CACHE_CHECK([whether -falign-loops works], [grub_cv_cc_falign_loop], [
CFLAGS="$CFLAGS -falign-loops=1"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
[grub_cv_cc_Os=yes], [grub_cv_cc_falign_loop=yes],
[grub_cv_cc_Os=no]) [grub_cv_cc_falign_loop=no])
]) ])
if test "x$grub_cv_cc_Os" = xyes; then
TARGET_CFLAGS="$TARGET_CFLAGS -Os" if test "x$grub_cv_cc_falign_loop" = xyes; then
TARGET_CFLAGS="$TARGET_CFLAGS -falign-jumps=1 -falign-loops=1 -falign-functions=1"
else else
TARGET_CFLAGS="$TARGET_CFLAGS -O2 -fno-strength-reduce -fno-unroll-loops" TARGET_CFLAGS="$TARGET_CFLAGS -malign-jumps=1 -malign-loops=1 -malign-functions=1"
fi fi
# Force no alignment to save space on i386. # Some toolchains enable these features by default, but they need
if test "x$target_cpu" = xi386; then # registers that aren't set up properly in GRUB.
AC_CACHE_CHECK([whether -falign-loops works], [grub_cv_cc_falign_loop], [ TARGET_CFLAGS="$TARGET_CFLAGS -mno-mmx -mno-sse -mno-sse2 -mno-3dnow"
CFLAGS="$CFLAGS -falign-loops=1" fi
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
[grub_cv_cc_falign_loop=yes],
[grub_cv_cc_falign_loop=no])
])
if test "x$grub_cv_cc_falign_loop" = xyes; then # By default, GCC 4.4 generates .eh_frame sections containing unwind
TARGET_CFLAGS="$TARGET_CFLAGS -falign-jumps=1 -falign-loops=1 -falign-functions=1" # information in some cases where it previously did not. GRUB doesn't need
else # these and they just use up vital space. Restore the old compiler
TARGET_CFLAGS="$TARGET_CFLAGS -malign-jumps=1 -malign-loops=1 -malign-functions=1" # behaviour.
fi AC_CACHE_CHECK([whether -fno-dwarf2-cfi-asm works], [grub_cv_cc_fno_dwarf2_cfi_asm], [
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -fno-dwarf2-cfi-asm"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
[grub_cv_cc_fno_dwarf2_cfi_asm=yes],
[grub_cv_cc_fno_dwarf2_cfi_asm=no])
CFLAGS="$SAVE_CFLAGS"
])
# Some toolchains enable these features by default, but they need if test "x$grub_cv_cc_fno_dwarf2_cfi_asm" = xyes; then
# registers that aren't set up properly in GRUB. TARGET_CFLAGS="$TARGET_CFLAGS -fno-dwarf2-cfi-asm"
TARGET_CFLAGS="$TARGET_CFLAGS -mno-mmx -mno-sse -mno-sse2 -mno-3dnow"
fi
# By default, GCC 4.4 generates .eh_frame sections containing unwind
# information in some cases where it previously did not. GRUB doesn't need
# these and they just use up vital space. Restore the old compiler
# behaviour.
AC_CACHE_CHECK([whether -fno-dwarf2-cfi-asm works], [grub_cv_cc_fno_dwarf2_cfi_asm], [
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -fno-dwarf2-cfi-asm"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
[grub_cv_cc_fno_dwarf2_cfi_asm=yes],
[grub_cv_cc_fno_dwarf2_cfi_asm=no])
CFLAGS="$SAVE_CFLAGS"
])
if test "x$grub_cv_cc_fno_dwarf2_cfi_asm" = xyes; then
TARGET_CFLAGS="$TARGET_CFLAGS -fno-dwarf2-cfi-asm"
fi
fi fi
grub_apple_target_cc grub_apple_target_cc

View file

@ -298,7 +298,7 @@ grub_gettext_init_ext (const char *lang)
} }
static void static void
grub_gettext_delete_list () grub_gettext_delete_list (void)
{ {
struct grub_gettext_msg *item; struct grub_gettext_msg *item;

View file

@ -145,13 +145,16 @@ grub_parser_split_cmdline (const char *cmdline, grub_reader_getline_t getline,
*argc = 0; *argc = 0;
do do
{ {
if (! *rd) if (! rd || !*rd)
{ {
if (getline) if (getline)
getline (&rd, 1); getline (&rd, 1);
else break; else break;
} }
if (!rd)
break;
for (; *rd; rd++) for (; *rd; rd++)
{ {
grub_parser_state_t newstate; grub_parser_state_t newstate;

View file

@ -518,7 +518,7 @@ GRUB_MOD_INIT(linux)
cmd_linux = grub_register_command ("linux", grub_cmd_linux, cmd_linux = grub_register_command ("linux", grub_cmd_linux,
0, "Load Linux."); 0, "Load Linux.");
cmd_initrd = grub_register_command ("initrd", grub_cmd_initrd, cmd_initrd = grub_register_command ("initrd", grub_cmd_initrd,
0, "Load initrd".); 0, "Load initrd.");
my_mod = mod; my_mod = mod;
} }

View file

@ -137,8 +137,8 @@ grub_print_message_indented (const char *msg, int margin_left, int margin_right)
next_new_line = (grub_uint32_t *) last_position; next_new_line = (grub_uint32_t *) last_position;
while (grub_getstringwidth (current_position, next_new_line) > line_len while (grub_getstringwidth (current_position, next_new_line) > line_len
|| (*next_new_line != ' ' && next_new_line > current_position && || (next_new_line != last_position && *next_new_line != ' '
next_new_line != last_position)) && next_new_line > current_position))
{ {
next_new_line--; next_new_line--;
} }

View file

@ -68,7 +68,10 @@ grub_normal_print_device_info (const char *name)
if (grub_errno == GRUB_ERR_NONE) if (grub_errno == GRUB_ERR_NONE)
{ {
if (label && grub_strlen (label)) if (label && grub_strlen (label))
grub_printf_ (N_("- Label %s"), label); {
grub_putchar (' ');
grub_printf_ (N_("- Label \"%s\""), label);
}
grub_free (label); grub_free (label);
} }
grub_errno = GRUB_ERR_NONE; grub_errno = GRUB_ERR_NONE;
@ -81,6 +84,7 @@ grub_normal_print_device_info (const char *name)
if (grub_errno == GRUB_ERR_NONE) if (grub_errno == GRUB_ERR_NONE)
{ {
grub_unixtime2datetime (tm, &datetime); grub_unixtime2datetime (tm, &datetime);
grub_putchar (' ');
grub_printf_ (N_("- Last modification time %d-%02d-%02d " grub_printf_ (N_("- Last modification time %d-%02d-%02d "
"%02d:%02d:%02d %s"), "%02d:%02d:%02d %s"),
datetime.year, datetime.month, datetime.day, datetime.year, datetime.month, datetime.day,

View file

@ -72,7 +72,7 @@ static char keyboard_map_shift[128] =
static grub_uint8_t grub_keyboard_controller_orig; static grub_uint8_t grub_keyboard_controller_orig;
static void static void
keyboard_controller_wait_untill_ready () keyboard_controller_wait_untill_ready (void)
{ {
while (! KEYBOARD_COMMAND_ISREADY (grub_inb (KEYBOARD_REG_STATUS))); while (! KEYBOARD_COMMAND_ISREADY (grub_inb (KEYBOARD_REG_STATUS)));
} }
@ -94,12 +94,12 @@ grub_keyboard_controller_read (void)
} }
static void static void
keyboard_controller_led (grub_uint8_t led_status) keyboard_controller_led (grub_uint8_t leds)
{ {
keyboard_controller_wait_untill_ready (); keyboard_controller_wait_untill_ready ();
grub_outb (0xed, KEYBOARD_REG_DATA); grub_outb (0xed, KEYBOARD_REG_DATA);
keyboard_controller_wait_untill_ready (); keyboard_controller_wait_untill_ready ();
grub_outb (led_status & 0x7, KEYBOARD_REG_DATA); grub_outb (leds & 0x7, KEYBOARD_REG_DATA);
} }
/* FIXME: This should become an interrupt service routine. For now /* FIXME: This should become an interrupt service routine. For now

View file

@ -740,7 +740,7 @@ GRUB_MOD_INIT (video_reader_jpeg)
#endif #endif
} }
GRUB_MOD_FINI (grub_cmd_jpegtest) GRUB_MOD_FINI (video_reader_jpeg)
{ {
#if defined(JPEG_DEBUG) #if defined(JPEG_DEBUG)
grub_unregister_command (cmd); grub_unregister_command (cmd);