]>
git.proxmox.com Git - grub2.git/log
Vladimir Serbinenko [Tue, 17 Dec 2013 15:41:09 +0000 (16:41 +0100)]
Use grub_xasprintf to format translated error messages containing
64-bit quantity.
Jon McCune [Fri, 13 Dec 2013 16:47:12 +0000 (08:47 -0800)]
Fix double-free introduced by commit
33d02a42d64cf06cada1c389e5abba4b9d196cc5
To reproduce the problem, make sure you have a GPG public key available, build and install GRUB:
grub-install --debug --debug-image="all" --pubkey=/boot/pubkey.gpg --modules="serial terminfo gzio search search_label search_fs_uuid search_fs_file linux vbe video_fb video mmap relocator verify gcry_rsa gcry_dsa gcry_sha256 hashsum gcry_sha1 mpi echo loadenv boottime" /dev/sda
Sign all the files in /boot/grub/* and reboot.
'make check' results identical before and after this change.
TESTED: In a QEMU VM using an i386 target.
Vladimir Serbinenko [Tue, 17 Dec 2013 15:17:46 +0000 (16:17 +0100)]
Unify message for unsupported relocation.
Vladimir Serbinenko [Tue, 17 Dec 2013 15:05:39 +0000 (16:05 +0100)]
Mark miscompile error for translation.
Vladimir Serbinenko [Tue, 17 Dec 2013 15:04:47 +0000 (16:04 +0100)]
Use %I64 and not %ll when using OS printf if compiling for windows.
Vladimir Serbinenko [Tue, 17 Dec 2013 15:02:36 +0000 (16:02 +0100)]
Update Mac code to match new register_efi prototype.
Vladimir Serbinenko [Tue, 17 Dec 2013 14:21:02 +0000 (15:21 +0100)]
Implement better integration with Mac firmware.
Vladimir Serbinenko [Tue, 17 Dec 2013 14:14:50 +0000 (15:14 +0100)]
* grub-core/loader/multiboot_mbi2.c: Implement special value for load_addr.
Vladimir Serbinenko [Tue, 17 Dec 2013 13:52:36 +0000 (14:52 +0100)]
Include serial module in default_payload.elf.
Vladimir Serbinenko [Tue, 17 Dec 2013 13:50:44 +0000 (14:50 +0100)]
Add explicit thumb interwork bx in asm files.
Shouldn't matter for armv >= 5 but let's be safe.
Vladimir Serbinenko [Tue, 17 Dec 2013 13:45:46 +0000 (14:45 +0100)]
Implement Truecrypt ISO loader.
Vladimir Serbinenko [Tue, 17 Dec 2013 13:42:02 +0000 (14:42 +0100)]
* grub-core/lib/arg.c: Ensure at least a single space between commands.
Vladimir Serbinenko [Tue, 17 Dec 2013 13:39:48 +0000 (14:39 +0100)]
Implement grub_file tool and use it to implement generating of config
in separate root.
Vladimir Serbinenko [Tue, 17 Dec 2013 12:55:47 +0000 (13:55 +0100)]
Change to v1 xen grants.
Vladimir Serbinenko [Tue, 17 Dec 2013 12:40:52 +0000 (13:40 +0100)]
* grub-core/lib/i386/xen/relocator.S: Fix hypercall ABI violation.
GRUB relied on %ebx being preserved across hypercall which isn't true.
Vladimir Serbinenko [Tue, 17 Dec 2013 12:19:58 +0000 (13:19 +0100)]
* grub-core/lib/x86_64/xen/relocator.S: Fix hypercall ABI violation.
GRUB relied on %rdi being preserved across hypercall which isn't true.
Vladimir Serbinenko [Tue, 17 Dec 2013 12:07:26 +0000 (13:07 +0100)]
Implement XEN VFB support.
Vladimir Serbinenko [Tue, 17 Dec 2013 11:54:11 +0000 (12:54 +0100)]
Remove grub_bios_interrupt on coreboot.
It's not used currently and cannot be used safely currently.
Vladimir Serbinenko [Tue, 17 Dec 2013 00:18:09 +0000 (01:18 +0100)]
Update exclude.pot and mark few strings for translation.
Vladimir Serbinenko [Mon, 16 Dec 2013 23:33:55 +0000 (00:33 +0100)]
* util/grub-mkrescue.c: Fix incorrect file usage in fallback code.
Reported by: Jon McCune
Vladimir Serbinenko [Mon, 16 Dec 2013 19:33:19 +0000 (20:33 +0100)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/grub
Vladimir Serbinenko [Mon, 16 Dec 2013 19:32:43 +0000 (20:32 +0100)]
* grub-core/tests/sleep_test.c: Silence spurious warning.
Andrey Borzenkov [Mon, 16 Dec 2013 19:17:40 +0000 (23:17 +0400)]
add verbose information to linux platform check
As suggested by Vladimir Serbienko, add additional verbose output to inform
why we selected this specific platform.
Andrey Borzenkov [Mon, 16 Dec 2013 18:56:48 +0000 (22:56 +0400)]
ChangeLog for previous two commits.
Andrey Borzenkov [Mon, 16 Dec 2013 18:41:16 +0000 (22:41 +0400)]
use grub_util_exec_redirect_all to silence "moprobe efivars"
modprobe -q still prints error on non-EFI. Redirect stderr instead.
Reported by Javier Vasquez.
Andrey Borzenkov [Mon, 16 Dec 2013 18:41:15 +0000 (22:41 +0400)]
consolidate grub_util_exec code
We need to hide "modprobe efivars" error output to avoid confusion. So
consolidate grub_util_exec_* into single function that can optionally redirect
all three standard descriptors and make all other functions compatibility
wrappers.
Also remove include/grub/osdep/exec_unix.h which does not appear to be used
anywhere.
Vladimir Serbinenko [Mon, 16 Dec 2013 17:10:50 +0000 (18:10 +0100)]
Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid
linker trying to "fixup" the code.
Vladimir Serbinenko [Mon, 16 Dec 2013 16:44:10 +0000 (17:44 +0100)]
* grub-core/kern/x86_64/xen/startup.S: Align stack.
Vladimir Serbinenko [Mon, 16 Dec 2013 14:30:50 +0000 (15:30 +0100)]
Add support for converting PE+ to Elf64.
Vladimir Serbinenko [Mon, 16 Dec 2013 14:28:07 +0000 (15:28 +0100)]
* grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case.
Vladimir Serbinenko [Mon, 16 Dec 2013 13:49:11 +0000 (14:49 +0100)]
Remove practice of assigning random const pointers to device id.
This is not required as cache code already checks driver id as well.
Vladimir Serbinenko [Mon, 16 Dec 2013 13:41:12 +0000 (14:41 +0100)]
* include/grub/x86_64/types.h: Define sizeof (long) as 4 when compiling
with mingw.
Vladimir Serbinenko [Mon, 16 Dec 2013 13:39:06 +0000 (14:39 +0100)]
* include/grub/efi/api.h: Don't use call wrappers when compiled with
mingw or cygwin as API already matches.
Vladimir Serbinenko [Mon, 16 Dec 2013 13:36:48 +0000 (14:36 +0100)]
* grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining.
Vladimir Serbinenko [Mon, 16 Dec 2013 13:34:23 +0000 (14:34 +0100)]
* include/grub/efi/api.h: Define (u)intn_t based on pointer size and
not on long.
Vladimir Serbinenko [Mon, 16 Dec 2013 13:24:19 +0000 (14:24 +0100)]
Handle X86_64_PC64 relocation.
Those are generated by some cygwin compilers.
Vladimir Serbinenko [Mon, 16 Dec 2013 13:18:15 +0000 (14:18 +0100)]
Determine the need for mingw-related stubs at compile time rather than
using not very significant $target_os.
Vladimir Serbinenko [Mon, 16 Dec 2013 13:15:37 +0000 (14:15 +0100)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/grub
Conflicts:
ChangeLog
Vladimir Serbinenko [Mon, 16 Dec 2013 12:18:48 +0000 (13:18 +0100)]
* grub-core/genmod.sh.in: Strip before converting to ELF as strip
may not work with ELF.
Vladimir Serbinenko [Mon, 16 Dec 2013 12:16:37 +0000 (13:16 +0100)]
Use unix functions for temporary files and special files on cygwin.
Vladimir Serbinenko [Mon, 16 Dec 2013 12:07:28 +0000 (13:07 +0100)]
Define functions explicitly rather than using --defsym in tests
whenever possible. Respect locality in remaining cases.
Vladimir Serbinenko [Mon, 16 Dec 2013 12:02:19 +0000 (13:02 +0100)]
* grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.
Andrey Borzenkov [Sun, 15 Dec 2013 18:00:15 +0000 (22:00 +0400)]
small fixes for Windows EFI install code
Fix potential crash caused by signed vs. unsigned comparison. Negative
length compares as very large unsigned number causing subsequent NULL access.
Make exhaustive search for all BootNNNN variables to find one matching
requested efi_distributor.
Ian Campbell [Sun, 15 Dec 2013 16:59:40 +0000 (17:59 +0100)]
* grub-core/kern/uboot/init.c: Fix units of uboot timer.
Vladimir Serbinenko [Sun, 15 Dec 2013 16:57:58 +0000 (17:57 +0100)]
New functional test for sleep function.
This test allows to check sleep without qemu. Keep qemu version as
well as functional test won't notice if all clocks are going too fast
or too slow.
Vladimir Serbinenko [Sun, 15 Dec 2013 13:48:13 +0000 (14:48 +0100)]
Add explicit sysv_abi on amd64 asm routines.
Vladimir Serbinenko [Sun, 15 Dec 2013 13:42:19 +0000 (14:42 +0100)]
* grub-core/commands/efi/lsefisystab.c: Use %lld to show num_table_entries.
Vladimir Serbinenko [Sun, 15 Dec 2013 13:39:21 +0000 (14:39 +0100)]
* include/grub/test.h: Use gnu_printf rather than printf on GRUB
functions.
Vladimir Serbinenko [Sun, 15 Dec 2013 13:37:12 +0000 (14:37 +0100)]
* grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when
appropriate.
Vladimir Serbinenko [Sun, 15 Dec 2013 13:35:18 +0000 (14:35 +0100)]
* grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers.
Vladimir Serbinenko [Sun, 15 Dec 2013 13:33:22 +0000 (14:33 +0100)]
* grub-core/kern/elfXX.c: Use grub_addr_t rather than long when
appropriate.
Vladimir Serbinenko [Sun, 15 Dec 2013 13:31:21 +0000 (14:31 +0100)]
* grub-core/disk/loopback.c: Use sequential IDs rather than pointer.
In case of quick removal of loopback and adding another one it may
get same ID, confusing the cache system.
Vladimir Serbinenko [Sun, 15 Dec 2013 13:27:04 +0000 (14:27 +0100)]
* grub-core/commands/acpi.c: Use grub_addr_t rather than long when
appropriate.
Vladimir Serbinenko [Sun, 15 Dec 2013 13:24:34 +0000 (14:24 +0100)]
* grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather
than converting to long.
Vladimir Serbinenko [Sun, 15 Dec 2013 13:21:14 +0000 (14:21 +0100)]
* grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id".
Vladimir Serbinenko [Sun, 15 Dec 2013 13:18:30 +0000 (14:18 +0100)]
* util/grub-mkimagexx.c (relocate_addresses): Display offset rather
than almost useless pointer.
Vladimir Serbinenko [Sun, 15 Dec 2013 13:14:30 +0000 (14:14 +0100)]
Add gcc_struct to all packed structures when compiling with mingw.
Just "packed" doesn't always pack the way we expect.
Vladimir Serbinenko [Sat, 14 Dec 2013 23:56:11 +0000 (00:56 +0100)]
* include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).
Vladimir Serbinenko [Sat, 14 Dec 2013 23:55:17 +0000 (00:55 +0100)]
* util/grub-pe2elf.c: Fix handling of .bss.
Vladimir Serbinenko [Sat, 14 Dec 2013 22:35:58 +0000 (23:35 +0100)]
Implement windows flavour of EFI install routines.
Vladimir Serbinenko [Sat, 14 Dec 2013 22:33:05 +0000 (23:33 +0100)]
* conf/Makefile.extra-dist: Adjust path to conf/i386-cygwin-img-ld.sc.
Vladimir Serbinenko [Sat, 14 Dec 2013 22:31:56 +0000 (23:31 +0100)]
Change grub_install_register_efi interface to pass GRUB device.
This allows grub_install_register_efi to request partition info
directly.
Vladimir Serbinenko [Sat, 14 Dec 2013 22:28:34 +0000 (23:28 +0100)]
Workaround cygwin bug when using \\?\Volume{GUID} syntax.
Vladimir Serbinenko [Sat, 14 Dec 2013 22:25:30 +0000 (23:25 +0100)]
Do not use TCHAR string functions as they are not available on cygwin.
Vladimir Serbinenko [Sat, 14 Dec 2013 22:23:11 +0000 (23:23 +0100)]
Workaround windows bug when querying EFI system partition parameters.
Vladimir Serbinenko [Sat, 14 Dec 2013 22:15:47 +0000 (23:15 +0100)]
* grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
by using bitfields.
Vladimir Serbinenko [Sat, 14 Dec 2013 22:13:42 +0000 (23:13 +0100)]
* grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
Vladimir Serbinenko [Sat, 14 Dec 2013 22:12:53 +0000 (23:12 +0100)]
Make i386-* other than i386-pc compileable under cygwin.
Vladimir Serbinenko [Sat, 14 Dec 2013 21:04:02 +0000 (22:04 +0100)]
Fix definition of grub_efi_hard_drive_device_path. Take care that
existing code would work even if by some reason bogus definition is
used by EFI implementations.
Vladimir Serbinenko [Sat, 14 Dec 2013 20:55:44 +0000 (21:55 +0100)]
* grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.
Vladimir Serbinenko [Sat, 14 Dec 2013 20:54:37 +0000 (21:54 +0100)]
* grub-core/osdep/windows/blocklist.c: Add missing cast in printf
invocation.
Vladimir Serbinenko [Sat, 14 Dec 2013 20:50:36 +0000 (21:50 +0100)]
* util/config.c: Remove trailing newline from distributor in simple
parsing.
Vladimir Serbinenko [Sat, 14 Dec 2013 20:48:46 +0000 (21:48 +0100)]
* include/grub/efi/api.h: Rename protocol and interface to avoid
conflict.
Vladimir Serbinenko [Sat, 14 Dec 2013 20:45:17 +0000 (21:45 +0100)]
* .gitignore: Add .exe variants. Add missing files. Remove few outdated
entries.
Vladimir Serbinenko [Sat, 14 Dec 2013 20:39:03 +0000 (21:39 +0100)]
* grub-core/osdep/exec.c: Use unix version on cygwin.
Vladimir Serbinenko [Fri, 13 Dec 2013 11:56:14 +0000 (12:56 +0100)]
Implement multiboot2 EFI BS specification.
Vladimir Serbinenko [Wed, 11 Dec 2013 16:06:00 +0000 (17:06 +0100)]
* grub-core/normal/charset.c: Fix premature line wrap and crash.
Crash happened only in some cases like a string starting at the
half of the screen of same length.
Vladimir Serbinenko [Wed, 11 Dec 2013 15:16:21 +0000 (16:16 +0100)]
* include/grub/efiemu/efiemu.h: Sync configuration table declaration
with EFI counterpart.
Vladimir Serbinenko [Wed, 11 Dec 2013 15:11:17 +0000 (16:11 +0100)]
Propagate the EFI commits to x86-efi specific parts.
Vladimir Serbinenko [Wed, 11 Dec 2013 14:59:12 +0000 (15:59 +0100)]
* grub-core/commands/efi/lssal.c: Fix terminating condition.
Vladimir Serbinenko [Wed, 11 Dec 2013 14:57:08 +0000 (15:57 +0100)]
Introduce grub_efi_packed_guid and use it where alignment is not
guaranteed.
Vladimir Serbinenko [Wed, 11 Dec 2013 14:54:01 +0000 (15:54 +0100)]
* include/grub/efi/api.h (grub_efi_device_path): Define length as
unaligned u16 rather than u8[2].
Vladimir Serbinenko [Wed, 11 Dec 2013 10:29:35 +0000 (11:29 +0100)]
* grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
for relocation range.
Vladimir Serbinenko [Wed, 11 Dec 2013 10:28:48 +0000 (11:28 +0100)]
* grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
non-function pcrel21b relocation. It happens with .text.unlikely
section.
Leif Lindholm [Tue, 10 Dec 2013 12:24:57 +0000 (12:24 +0000)]
efi: mm: make MAX_USABLE_ADDRESS platform-specific
Leif Lindholm [Tue, 10 Dec 2013 16:46:46 +0000 (16:46 +0000)]
* grub-core/lib/fdt.c: change memcpy => grub_memcpy
Vladimir Serbinenko [Tue, 10 Dec 2013 08:24:37 +0000 (09:24 +0100)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/grub
Andrey Borzenkov [Tue, 10 Dec 2013 05:55:27 +0000 (09:55 +0400)]
always define config_directory and config_file as full pathname
If configfile is relative pathname, extend it with current ($root) so its
interpretation does not change if $root is changed later.
Suggested by Vladimir Serbienko.
Jon McCune [Tue, 10 Dec 2013 00:52:12 +0000 (16:52 -0800)]
Add --no-rs-codes flag to optionally disable reed-solomon codes in grub-install and grub-bios-setup for x86 BIOS targets.
Vladimir Serbinenko [Mon, 9 Dec 2013 23:05:28 +0000 (00:05 +0100)]
Add missing compile and link options for sparc64-emu.
Vladimir Serbinenko [Mon, 9 Dec 2013 23:01:27 +0000 (00:01 +0100)]
Implement sparc64 trampolines (needed for sparc64-emu).
Vladimir Serbinenko [Mon, 9 Dec 2013 14:51:12 +0000 (15:51 +0100)]
* grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
range of R_SPARC_HI22.
Implement R_SPARC_LM22.
Vladimir Serbinenko [Mon, 9 Dec 2013 14:43:27 +0000 (15:43 +0100)]
* grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
Do not explicitly check for symbol table as it's already checked in
platform-independent layer.
Vladimir Serbinenko [Mon, 9 Dec 2013 13:24:56 +0000 (14:24 +0100)]
* grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
on ia64 as __clear_cache is a dummy on ia64.
Vladimir Serbinenko [Mon, 9 Dec 2013 13:22:31 +0000 (14:22 +0100)]
* grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
Do not explicitly check for symbol table as it's already checked in
platform-independent layer.
Colin Watson [Mon, 9 Dec 2013 00:14:59 +0000 (00:14 +0000)]
* util/grub-mkconfig.in: Add missing newline to output.
Vladimir Serbinenko [Sun, 8 Dec 2013 17:27:40 +0000 (18:27 +0100)]
* grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
* grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
Vladimir Serbinenko [Sun, 8 Dec 2013 17:21:10 +0000 (18:21 +0100)]
* grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
compilation with GCC <= 4.2.
* grub-core/kern/emu/argp_common.c: Likewise.
Vladimir Serbinenko [Sun, 8 Dec 2013 17:19:42 +0000 (18:19 +0100)]
* include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to
right platform rather than leaking to sparc64-emu.
Vladimir Serbinenko [Sun, 8 Dec 2013 17:16:32 +0000 (18:16 +0100)]
* grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
But ensure that the variables in question are indeed unsigned.