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.
This commit is contained in:
parent
465b5a8130
commit
90d1e8797a
4 changed files with 54 additions and 50 deletions
14
ChangeLog
14
ChangeLog
|
@ -1,3 +1,17 @@
|
||||||
|
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>
|
2009-12-28 Carles Pina i Estany <carles@pina.cat>
|
||||||
|
|
||||||
* normal/misc.c (grub_normal_print_device_info): Add spaces and double
|
* normal/misc.c (grub_normal_print_device_info): Add spaces and double
|
||||||
|
|
82
configure.ac
82
configure.ac
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue