From: Lubomir Kundrak Date: Sun, 26 Feb 2012 18:17:37 +0000 (+0100) Subject: GDB serial and backtrace support. X-Git-Tag: 2.00~556 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ff27c3dd5d59a4bcbba54317e37ecdbf127cea8a;p=thirdparty%2Fgrub.git GDB serial and backtrace support. * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT. (prot_to_real): Likewise. * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload. * grub-core/Makefile.core.def (backtrace): New module. (gdb): Likewise. * grub-core/gdb/cstub.c: New file. * grub-core/gdb/gdb.c: Likewise. * grub-core/gdb/i386/idt.c: Likewise. * grub-core/gdb/i386/machdep.S: Likewise. * grub-core/gdb/i386/signal.c: Likewise. * grub-core/lib/i386/backtrace.c: Likewise. * include/grub/backtrace.h: Likewise. * include/grub/gdb.h: Likewise. * include/grub/i386/gdb.h: Likewise. Also-By: Vladimir Serbinenko --- ff27c3dd5d59a4bcbba54317e37ecdbf127cea8a diff --cc ChangeLog index 542d9fd2a,f2acda5e6..6b4cc4de8 --- a/ChangeLog +++ b/ChangeLog @@@ -1,371 -1,4 +1,391 @@@ - 2012-02-25 Vladimir Serbinenko -2012-02-18 Vladimir Serbinenko ++2012-02-26 Vladimir Serbinenko ++2012-02-26 Lubomir Kundrak ++ ++ GDB serial and backtrace support. ++ ++ * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT. ++ (prot_to_real): Likewise. ++ * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload. ++ * grub-core/Makefile.core.def (backtrace): New module. ++ (gdb): Likewise. ++ * grub-core/gdb/cstub.c: New file. ++ * grub-core/gdb/gdb.c: Likewise. ++ * grub-core/gdb/i386/idt.c: Likewise. ++ * grub-core/gdb/i386/machdep.S: Likewise. ++ * grub-core/gdb/i386/signal.c: Likewise. ++ * grub-core/lib/i386/backtrace.c: Likewise. ++ * include/grub/backtrace.h: Likewise. ++ * include/grub/gdb.h: Likewise. ++ * include/grub/i386/gdb.h: Likewise. ++ ++2012-02-26 Vladimir Serbinenko + + * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): + New function. + (add_length): Likewise. + (__argp_fmtstream_update): Handle strings with non-ASCII chars. + * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New + proto. + * grub-core/gnulib/argp-help.c (argp_args_usage): Use + __argp_get_display_len. + - 2012-02-25 Vladimir Serbinenko ++2012-02-26 Vladimir Serbinenko + + $"..." support in scripts. + + * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle + GRUB_SCRIPT_ARG_TYPE_GETTEXT. + * grub-core/script/yylex.l: Likewise. + * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum + value. + - 2012-02-25 Vladimir Serbinenko ++2012-02-26 Vladimir Serbinenko + + * gentpl.py: Remove obsolete pkglib_DATA handling. + - 2012-02-25 Vladimir Serbinenko ++2012-02-26 Vladimir Serbinenko + + Don't transform PACKAGE_TARNAME following a discussion on autoconf + mailing list. + + * util/grub-install.in: Don't transform PACKAGE_TARNAME. + * util/grub-kbdcomp.in: Likewise. + * util/grub-mkconfig.in: Likewise. + * util/grub-mkconfig_lib.in: Likewise. + * util/grub-mknetdir.in: Likewise. + * util/grub-mkrescue.in: Likewise. + * util/grub-mkstandalone.in: Likewise. + * util/grub-reboot.in: Likewise. + * util/grub-set-default.in: Likewise. + * util/powerpc/ieee1275/grub-mkrescue.in: Likewise. + - 2012-02-25 Vladimir Serbinenko ++2012-02-26 Vladimir Serbinenko + + Remove GRUB_PREFIX. + + * util/grub-mkconfig.in: Remove GRUB_PREFIX. + * util/grub.d/00_header.in: Compute prefix in the only place it's still + used for backward compatibility. + - 2012-02-25 Vladimir Serbinenko ++2012-02-26 Vladimir Serbinenko + + Add new all_video module. + + * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst. + * grub-core/Makefile.core.def (all_video): New module. + * grub-core/genmoddep.awk: Generate dependency of all_video from + video.lst. + * grub-core/lib/fake_module.c: New file. + * grub-core/normal/main.c (features): Add feature_all_video_module. + * util/grub.d/00_header.in: Define locale_dir based on $prefix and + don't do explicit search again. + insmod all_video in load_video if available. + - 2012-02-25 Vladimir Serbinenko ++2012-02-26 Vladimir Serbinenko + + Another round of string clarification and adding TRANSLATORS comments. + - 2012-02-25 Vladimir Serbinenko ++2012-02-26 Vladimir Serbinenko + + * util/grub-mknetdir.in: Remove erroneous reference to install_device. + - 2012-02-25 Vladimir Serbinenko ++2012-02-26 Vladimir Serbinenko + + * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type + to grub_ssize_t. + * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type. + * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype. + - 2012-02-25 Vladimir Serbinenko ++2012-02-26 Vladimir Serbinenko + + * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add + trailing newline implicitly. All users updated. + - 2012-02-25 Vladimir Serbinenko ++2012-02-26 Vladimir Serbinenko + + Implement serial on IEEE1275 and EFI. + + * docs/grub.texi (Platform-specific limitations): Fix the columen video + on emu. Mention arc and emu as the only platforms without serial + support. + * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and + ieee1275 platforms. + * grub-core/term/efi/serial.c: New file. + * grub-core/term/ieee1275/serial.c: Likewise. + * grub-core/term/serial.c (grub_serial_find): Disable direct port + specification if no ns8250 driver is available. + (grub_cmd_serial): Likewise. + (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial. + (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial. + * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define. + (grub_efi_parity_type_t): New type. + (grub_efi_stop_bits_t): Likewise. + (grub_efi_serial_io_interface): New struct. + * include/grub/serial.h (grub_serial_port): Make 'broken' field + available for all interfaces. + Add EFI and IEEE1275 fields. + (grub_ofserial_init): New proto. + (grub_efiserial_init): Likeiwse. + * util/grub.d/00_header.in: Don't check for the presence of serial + module. + - 2012-02-25 Vladimir Serbinenko ++2012-02-26 Vladimir Serbinenko + + * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device + name as if it was an alias. + +2012-02-25 Vladimir Serbinenko + + * grub-core/commands/lsacpi.c (options): Fix typo. + +2012-02-25 Vladimir Serbinenko + + Convert grub-emu to argp. + + * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on + emu. + * util/argp_common.c: Rename to ... + * grub-core/kern/emu/argp_common.c: ... this. All users updated. + Add missing includes. + * grub-core/kern/emu/main.c: Convert to argp. + * po/POTFILES.in: Regenerate. + * util/grub-install.in (usage): Make first letter lowcase in messages + for uniformity. + * util/grub-setup.c (options): Likewise. + +2012-02-24 Vladimir Serbinenko + + * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property): + Put back accidently commented-out code. + +2012-02-24 Vladimir Serbinenko + + * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree + loop check using Brent algorithm. + (grub_hfsplus_btree_search): Likewise. + +2012-02-24 Vladimir Serbinenko + + * util/grub-install.in: Fix usage of wrong device for PreP install. + +2012-02-24 Vladimir Serbinenko + + * conf/Makefile.common (CFLAGS_GNULIB): Add + -Wno-unsafe-loop-optimizations. + * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes + on tools. + * grub-core/commands/legacycfg.c: Add pragma to skip + -Wunsafe-loop-optimizations. + (check_password_md5_real): Fix loop counter type. + * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF + reading. + * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error. + * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety + loop condition. + * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations. + * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop. + * grub-core/net/net.c (grub_net_route_address): Add safety loop + condition. + * grub-core/normal/charset.c (bidi_line_wrap): Likewise. + * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and + avoid possible infinite loops. + * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations + and -Wunsafe-loop-optimizations. + * grub-core/script/yylex.l: Likewise. + * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations. + (print_glyphs): Avoid infinite loops. + * util/grub-mkimage.c (compress_kernel_xz): Fix format security. + +2012-02-24 Grégoire Sutre + + * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition + to avoid infinite loop. + (disp_acpi_rsdt_table): Likewise. + +2012-02-24 Vladimir Serbinenko + + * grub-core/font/font.c (grub_font_load): Add support for default + path for fonts ($prefix/fonts). + * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition + for checking if string is a path. + * grub-core/normal/main.c (features): Add feature_default_font_path. + * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH. + * util/grub.d/00_header.in: Use default directory if possible. + * util/grub-install.in: Install unicode.pf2. + +2012-02-24 Vladimir Serbinenko + + * po/README: Add de_CH and en@quot to po/LINGUAS generation command. + * po/Rules-swiss: New file. + * po/swiss.sed: Likewise. + +2012-02-23 Vladimir Serbinenko + + * grub-core/fs/btrfs.c (find_device): Fix typos. + * grub-core/fs/zfs/zfs.c (read_device): Likewise. + * util/grub-mkrelpath.c (argp_parser): Likewise. + Reported by: Yuri Chornoivan. + +2012-02-23 Dalet Omega + + * grub-core/gfxmenu/gui_label.c (label_set_property): Add template + for usual informative messages. + +2012-02-23 Dalet Omega + + Starfield theme. + + * Makefile.am: Define starfield_DATA and dejavu.pf2 generation. + * conf/Makefile.common: Define starfielddir. + * configure.ac: Configure starfield. + * themes/starfield/COPYING.CC-BY-SA-3.0: New file. + * themes/starfield/README: Likewise. + * themes/starfield/blob_w.png: Likewise. + * themes/starfield/boot_menu_c.png: Likewise. + * themes/starfield/boot_menu_e.png: Likewise. + * themes/starfield/boot_menu_n.png: Likewise. + * themes/starfield/boot_menu_ne.png: Likewise. + * themes/starfield/boot_menu_nw.png: Likewise. + * themes/starfield/boot_menu_s.png: Likewise. + * themes/starfield/boot_menu_se.png: Likewise. + * themes/starfield/boot_menu_sw.png: Likewise. + * themes/starfield/boot_menu_w.png: Likewise. + * themes/starfield/slider_c.png: Likewise. + * themes/starfield/slider_n.png: Likewise. + * themes/starfield/slider_s.png: Likewise. + * themes/starfield/src/blob_nw.xcf: Likewise. + * themes/starfield/src/bootmenu/: Likewise. + * themes/starfield/src/bootmenu/center.xcf: Likewise. + * themes/starfield/src/bootmenu/corner.xcf: Likewise. + * themes/starfield/src/bootmenu/side.xcf: Likewise. + * themes/starfield/src/slider_c.xcf: Likewise. + * themes/starfield/src/slider_n.xcf: Likewise. + * themes/starfield/src/slider_s.xcf: Likewise. + * themes/starfield/src/terminalbox/: Likewise. + * themes/starfield/src/terminalbox/center.xcf: Likewise. + * themes/starfield/src/terminalbox/corner.xcf: Likewise. + * themes/starfield/src/terminalbox/side.xcf: Likewise. + * themes/starfield/starfield.png: Likewise. + * themes/starfield/terminal_box_c.png: Likewise. + * themes/starfield/terminal_box_e.png: Likewise. + * themes/starfield/terminal_box_n.png: Likewise. + * themes/starfield/terminal_box_ne.png: Likewise. + * themes/starfield/terminal_box_nw.png: Likewise. + * themes/starfield/terminal_box_s.png: Likewise. + * themes/starfield/terminal_box_se.png: Likewise. + * themes/starfield/terminal_box_sw.png: Likewise. + * themes/starfield/terminal_box_w.png: Likewise. + * themes/starfield/theme.txt: Likewise. + +2012-02-23 Vladimir Serbinenko + + * util/grub.d/00_header.in: Add missing export theme. + +2012-02-22 Vladimir Serbinenko + + * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is + already included. + Reported by: Eren D. + +2012-02-22 Vladimir Serbinenko + + * conf/Makefile.common (grubdatadir): Removed. + (Makefile.am): Move eveything grubdata to pkgdata. + +2012-02-22 Vladimir Serbinenko + + * grub-core/commands/acpihalt.c (get_sleep_type): + Remove unused variable. + +2012-02-22 Vladimir Serbinenko + + * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add + GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER, + GRUB_ACPI_OPCODE_CREATE_WORD_FIELD + and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. + * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of + i18n with gettext no-op. + (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and + GRUB_ACPI_OPCODE_STRING_CONST. + (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and + GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes. + +2012-02-22 Vladimir Serbinenko + + * po/POTFILES.in: Regenerate. + +2012-02-22 Vladimir Serbinenko + + * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op + -Wno-error=missing-noreturn. + +2012-02-22 Vladimir Serbinenko + + * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop + condition to avoid possibly infinite loops. + * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise. + * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise. + +2012-02-22 Vladimir Serbinenko + + * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop + condition to avoid possibly infinite loops. + +2012-02-22 Vladimir Serbinenko + + * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn + on show_error. + +2012-02-22 Vladimir Serbinenko + + * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier. + +2012-02-22 Vladimir Serbinenko + + * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init. + +2012-02-22 Vladimir Serbinenko + + * util/bin2h.c (usage): Add missing attribute noreturn. + +2012-02-22 Vladimir Serbinenko + + * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow + if the size isn't divisible by 512. + +2012-02-22 Vladimir Serbinenko + + Make list_push and list_remove functions rather than inline functions + to decrease size and avoid aliasing violations. + + * include/grub/list.h (grub_list_push): Move to ... + * grub-core/kern/list.c (grub_list_push): ... here. Don't inline. + * include/grub/list.h (grub_list_remove): Move to ... + * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline. + +2012-02-22 Vladimir Serbinenko + + * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code + and -Wunused-result. + +2012-02-21 Vladimir Serbinenko + + * grub-core/net/net.c (grub_cmd_deladdr): Fix index. + Reported by: Seth Goldberg + +2012-02-21 Vladimir Serbinenko + + * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled. + +2012-02-19 Samuel Thibault + + * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable. + * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach + command line. + * docs/grub.texi (Simple configuration): Document + GRUB_CMDLINE_GNUMACH. + +2012-02-18 Vladimir Serbinenko * conf/Makefile.common (platform_SCRIPTS): New variable. (platform_PROGRAMS): Likewise. diff --cc grub-core/Makefile.core.def index fbc85d344,a9d596b0f..225a273ee --- a/grub-core/Makefile.core.def +++ b/grub-core/Makefile.core.def @@@ -1795,7 -1798,12 +1802,18 @@@ module = common = lib/crc64.c; }; +module = { + name = all_video; + common = lib/fake_module.c; +}; ++ + module = { + name = gdb; + common = gdb/cstub.c; + common = gdb/gdb.c; + i386 = gdb/i386/idt.c; + i386 = gdb/i386/machdep.S; + i386 = gdb/i386/signal.c; + enable = i386; -}; ++}; ++