Vladimir Serbinenko
246a434f61
* configure.ac: Add -static to LDFLAGS when using apple linker to
...
prevent it from pulling in dynamic linker.
2013-11-25 05:47:20 +01:00
Vladimir Serbinenko
5c066a81c2
Apple assembly doesn't handle symbol arithmetic well. So define an
...
offset symbol in boot.S and use it.
2013-11-24 07:12:12 +01:00
Vladimir Serbinenko
78f961efe9
Apple assembly doesn't handle symbol arithmetic well. So instead
...
of getting addres of kernel_sector + 4 define kernel_sector_high.
It also makes code more readable.
2013-11-24 07:11:00 +01:00
Vladimir Serbinenko
09bc0a577d
With Apple assembly in .macro environvemnt you have to use $$ instead
...
of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
to $$x on Apple and to $x on everything else.
2013-11-24 07:08:18 +01:00
Vladimir Serbinenko
b700a427d2
* grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
...
OBJCONV.
2013-11-24 05:27:20 +01:00
Vladimir Serbinenko
4480b95dcd
* grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
...
and non-Apple. This instruction is shorter and faster,
so no reason not to use it on both.
2013-11-24 05:17:24 +01:00
Vladimir Serbinenko
e77c81f6f8
* grub-core/lib/reed_solomon.c: Use section _text, _text rather than
...
.text when compiling for Apple.
2013-11-24 05:14:11 +01:00
Vladimir Serbinenko
971dbee521
* grub-core/term/arc/console.c: Add missing cast to silence warning.
2013-11-24 05:05:34 +01:00
Vladimir Serbinenko
6f2e82be3a
* grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
...
%dx restore the probe worked on non-existant drive. Reorganize the
code a little bit to free 2 bytes necessary for push/pop.
2013-11-24 05:05:33 +01:00
Vladimir Serbinenko
9eec9699b9
* grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
...
Add missing cast to silence warning.
2013-11-23 15:35:01 +01:00
Keshav Padram Amburay
5ae5c54c7e
* util/grub-install.c (update_nvram): Support --no-nvram flag
...
for EFI targets.
2013-11-23 13:02:12 +01:00
Vladimir Serbinenko
7b04fe6c9e
* INSTALL: Add note about sparc64/ia64 with clang (unsupported).
2013-11-23 12:49:41 +01:00
Vladimir Serbinenko
e67566ce0a
* util/garbage-gen.c: Add missing include of sys/time.h.
2013-11-23 12:42:30 +01:00
Vladimir Serbinenko
f93ddcfd1c
Don't add -mflush-func if it's not supported by compiler.
2013-11-23 12:40:44 +01:00
Vladimir Serbinenko
1bba40f578
Move common BIOS/coreboot memory map declarations to
...
include/grub/i386/memory_raw.h and eliminate duplicate declarations.
2013-11-23 12:39:21 +01:00
Andrey Borzenkov
f65e14dc3a
add util/garbage-gen.c to EXTRA_DIST
2013-11-23 14:39:35 +04:00
Vladimir Serbinenko
14a94bba6f
* INSTALL: Document why older clang versions aren't appropriate.
2013-11-23 01:16:47 +01:00
Vladimir Serbinenko
8109c5d4e2
* INSTALL: Document about clang for mips.
2013-11-23 00:41:32 +01:00
Vladimir Serbinenko
a92b5cb8d8
* grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
...
clang.
2013-11-23 00:36:13 +01:00
Vladimir Serbinenko
4a23e2fe29
Add *-xen to the list of grub-install-common platforms.
2013-11-22 14:21:16 +01:00
Vladimir Serbinenko
a3ba74104e
* configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
...
3 last commits.
2013-11-22 13:07:51 +01:00
Vladimir Serbinenko
e1c22419ac
* grub-core/kern/xen/init.c: Do not map more pages than we can address.
2013-11-22 13:04:29 +01:00
Vladimir Serbinenko
189090cee9
* grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
...
with -mcmodel=large.
2013-11-22 13:03:19 +01:00
Vladimir Serbinenko
1a5b7b404f
* grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
...
range-checking for 32-bit quantities.
2013-11-22 13:01:14 +01:00
Vladimir Serbinenko
9cf12b20af
* configure.ac: Compile with -fPIC when compiling with clang on
...
mips.
2013-11-22 12:50:41 +01:00
Vladimir Serbinenko
63a45330cb
* configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
...
when compiling with clang.
2013-11-22 12:48:32 +01:00
Vladimir Serbinenko
4a0aaad022
clang emits calls to abort () under some unknown conditions.
...
Export abort () when compiling with clang.
2013-11-22 12:42:58 +01:00
Vladimir Serbinenko
095bb1bfa5
* docs/grub-dev.texi: Document stack and heap sizes.
2013-11-22 12:03:44 +01:00
Vladimir Serbinenko
3937bd962b
* include/grub/i386/pc/memory.h: Decrease
...
GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
The binary doesn't change (checked). It's more to better reflect actual
usage.
2013-11-22 12:02:00 +01:00
Vladimir Serbinenko
ddb3efc906
* grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
...
at compile time that enough of scratch size is available.
2013-11-22 12:00:10 +01:00
Vladimir Serbinenko
4e42521d8c
* grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
...
Previously we misaligned stack by 8 in startup.S and compensated
for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
right behaviour is to align stack in startup.S and keep it aligned
in callwrap.S. startup.S part was committed few commits before. This
takes care of callwrap.S.
Reported by: Gary Lin.
2013-11-22 05:40:32 +01:00
Vladimir Serbinenko
054efe541f
* grub-core/boot/mips/startup_raw.S: Handle the case of gap between
...
.data and .bss. May happen if compiler and assembly use different
alignment.
2013-11-22 05:07:32 +01:00
Vladimir Serbinenko
a0e1befb57
On MIPS handle got16 relocations to local symbols in an ABI-compliant
...
way.
2013-11-22 05:03:17 +01:00
Vladimir Serbinenko
c36c73f681
Add support for a new magic symbol _gp_disp on mips to handle PIC
...
binaries.
2013-11-22 04:56:10 +01:00
Vladimir Serbinenko
6f4a19f59f
Use $t9 for indirect calls from asm to C as PIC ABI requires.
2013-11-22 04:45:05 +01:00
Vladimir Serbinenko
0d8f04cd83
Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
...
when rest of GRUB is compiled for hisher stepping. Instead use
.set mips3/.set mips1 around cache and sync opcodes.
2013-11-22 04:36:53 +01:00
Vladimir Serbinenko
4906052019
Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
...
do essentially the same thing, do it in similar way.
2013-11-21 21:54:33 +01:00
Colin Watson
c6a823e267
* util/grub-mkrescue.c (main): If a source directory is not
...
specified, read platform-specific files from subdirectories of
pkglibdir, not pkgdatadir.
2013-11-21 17:36:45 +00:00
Colin Watson
b7f9aedfac
* grub-core/normal/progress.c: Remove unused file.
2013-11-21 15:37:57 +00:00
Vladimir Serbinenko
7dd0a30361
* grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
...
array.
2013-11-20 20:09:18 +01:00
Vladimir Serbinenko
ca120e31f2
* util/grub-mkconfig.in: Say explicit "grub configuration" rather
...
than grub.cfg.
2013-11-20 10:18:19 +01:00
Vladimir Serbinenko
48eb35cd78
* coreboot.cfg: Add missing file.
2013-11-20 00:52:23 +01:00
Vladimir Serbinenko
7f20dbbcd2
* Makefile.am: Allow STRIP to be empty when creating windowszip.
2013-11-19 23:48:46 +01:00
Axel Kellermann
55e706c918
* util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
...
selectively skipping systems.
2013-11-19 23:39:51 +01:00
Colin Watson
4e7d433dfb
* Makefile.util.def (grub-mkimage): Add
...
grub-core/osdep/aros/config.c to extra_dist.
* conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
grub-core/gnulib-no-gets.diff.
2013-11-19 20:39:16 +00:00
Vladimir Serbinenko
7d44ff7de6
Add automated filesystem checking based on scripts I've used now for
...
quite some time locally. Most of the test require root so they are
skipped when run without necessarry privelegies.
2013-11-19 21:05:59 +01:00
Colin Watson
a8c3e5e3c7
* util/grub-install.c (main): Adjust info messages to match
...
installed paths of grub-bios-setup and grub-sparc64-setup.
2013-11-19 18:43:05 +00:00
Colin Watson
4402db3ecc
* util/grub-install-common.c (copy_locales): Consistently use
...
grub_util_get_localedir () rather than LOCALEDIR.
(grub_install_copy_files): Likewise.
2013-11-19 15:35:44 +00:00
Josh Triplett
7960d3e182
* grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
...
16-byte boundary, as required by the x86-64 ABI, before calling
grub_main. In some cases, GCC emits code that assumes this
alignment, which crashes if not aligned. The EFI firmware is also
entitled to assume that stack alignment without checking.
2013-11-19 14:31:40 +01:00
Josh Triplett
d53f4900d7
* grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
...
4k page boundaries as expected by firmware rather than 1k
boundaries.
(grub_mmap_malign_and_register): Likewise.
2013-11-18 18:00:52 +01:00
Vladimir Serbinenko
2d6a38fbf7
Merge branch 'master' of git.sv.gnu.org:/srv/git/grub
2013-11-18 17:46:15 +01:00
Vladimir Serbinenko
bb2b275b7d
* tests/grub_func_test.in: Decrease RAM size to 512M. With less
...
fragmentation 512M is enough.
2013-11-18 17:42:54 +01:00
Vladimir Serbinenko
45bf8b3a75
* grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
...
pointer to 32K. This is the size of cache element which is the most
common allocation >1K. This way the pointer is always around blocks
of 32K and so we keep performance while decreasing fragmentation.
2013-11-18 17:41:37 +01:00
Colin Watson
60870be86c
* tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
...
but for symmetry).
* tests/lzocompress_test.in: Skip if lzop is not installed.
* tests/xzcompress_test.in: Skip if xz is not installed.
2013-11-18 16:16:33 +00:00
Vladimir Serbinenko
39ff43c579
* grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
...
current memory when allocating large chunks. This significantly
decreases memory fragmentation.
2013-11-18 16:58:55 +01:00
Vladimir Serbinenko
1bbb796799
Merge branch 'master' of git.sv.gnu.org:/srv/git/grub
2013-11-18 16:47:54 +01:00
Vladimir Serbinenko
74e632fea8
* grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
...
clock frequency to 200 MHz,
2013-11-18 16:39:45 +01:00
Vladimir Serbinenko
efb8de492a
* tests/util/grub-shell.in: Increase console size to 1024x1024.
2013-11-18 16:32:22 +01:00
Colin Watson
a1f00cc557
* util/grub-mkrescue.c (main): Fix typo.
2013-11-18 15:30:47 +00:00
Vladimir Serbinenko
421db3da06
Merge branch 'master' of git.sv.gnu.org:/srv/git/grub
2013-11-18 16:12:50 +01:00
Vladimir Serbinenko
b7526e7806
* Makefile.am (default_payload.elf): Add pata to loaded modules.
...
Load config file from (cbfsdisk)/etc/grub.cfg.
2013-11-18 16:05:47 +01:00
Vladimir Serbinenko
b40ce65180
* util/grub-install-common.c (grub_install_copy_files): Fix module
...
destination directory.
2013-11-18 15:59:55 +01:00
Colin Watson
1e8e2e78a5
* tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
...
files have not been built.
2013-11-18 14:02:11 +00:00
Vladimir Serbinenko
4d5b72cdb4
Merge branch 'master' of git.sv.gnu.org:/srv/git/grub
2013-11-18 14:54:01 +01:00
Vladimir Serbinenko
35c2851cc1
* tests/util/grub-shell.in: Use -cdrom and don't force cdrom
...
on primary master on pseries.
2013-11-18 14:40:41 +01:00
Vladimir Serbinenko
ea7c1a7d90
* grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
...
already loaded. This saves memory needed for tests,
2013-11-18 14:38:31 +01:00
Vladimir Serbinenko
96adefdb12
* util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
...
work again.
2013-11-18 14:36:31 +01:00
Vladimir Serbinenko
5e3cb8a747
* grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
...
work again.
2013-11-18 14:35:18 +01:00
Colin Watson
3bf4088b8b
* grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
...
Handle errors from mkstemp.
(grub_util_make_temporary_dir): Handle errors from mkdtemp.
2013-11-18 12:27:44 +00:00
Vladimir Serbinenko
256ee7ac6a
* tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
...
master since with some combinations of qemu and firmware only primary
IDE channel is available.
2013-11-18 11:51:46 +01:00
Vladimir Serbinenko
f8b4c3b6b3
* grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
...
low-memory platforms where we don't have enough memory for them.
* grub-core/tests/videotest_checksum.c: Likewise.
2013-11-18 11:48:07 +01:00
Vladimir Serbinenko
4bf703206d
* grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
...
already loaded. This saves memory needed for tests,
2013-11-18 11:45:55 +01:00
Vladimir Serbinenko
a284320e1e
Fix handling of install lists.
2013-11-18 11:38:00 +01:00
Vladimir Serbinenko
2df8f43d3e
* grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
2013-11-18 10:01:36 +01:00
Vladimir Serbinenko
6f1bc8bc0f
On i386-ieee1275 we run in paged mode. So we need to explicitly map
...
the devices before accessing them.
2013-11-18 04:32:33 +01:00
Vladimir Serbinenko
04f39f6df8
* grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
...
as file argument.
2013-11-18 02:45:25 +01:00
Vladimir Serbinenko
35d4761ce2
* grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
2013-11-18 02:43:29 +01:00
Vladimir Serbinenko
33d02a42d6
* grub-core/kern/file.c (grub_file_open): Free file->name on failure.
...
(grub_file_close): Free file->name.
2013-11-18 02:41:42 +01:00
Vladimir Serbinenko
7bbb60cfbd
* grub-core/commands/verify.c (free_pk): Plug memory leak.
...
(grub_load_public_key): Likewise.
(grub_verify_signature_real): Likewise.
(grub_cmd_verify_signature): Likewise.
2013-11-18 02:40:17 +01:00
Vladimir Serbinenko
da93d6753b
* grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
...
memory leak.
2013-11-18 02:37:46 +01:00
Vladimir Serbinenko
59c943ecf6
* grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
...
(grub_longjmp): Restore r31.
* include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
2013-11-18 02:35:32 +01:00
Vladimir Serbinenko
4336b5d85e
* util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
...
modules to be in line with make_image_abs.
2013-11-18 02:03:36 +01:00
Vladimir Serbinenko
44ce3a93b6
* include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
...
setjmp.S uses 12 entries but buffer is declared with only 11 entries.
2013-11-18 01:49:14 +01:00
Ian Campbell
7d400406a7
* grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
2013-11-17 15:38:09 +01:00
Vladimir Serbinenko
77dae919b6
* tests/grub_func_test.in: Increase memory reservation as on EFI we need
...
to leave some memory to firmware.
2013-11-17 02:16:21 +01:00
Vladimir Serbinenko
0ab8e025c1
* grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
...
of loading gfxterm as gfxterm is embed in kernel on some platforms.
* grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
Load gfxmenu.
2013-11-17 02:13:33 +01:00
Vladimir Serbinenko
b80c2d6d4b
* tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
...
now needs full arguments.
2013-11-17 02:09:15 +01:00
Vladimir Serbinenko
6aa6077bcc
* util/grub-mkrescue.c (main): Add trailing \n in
...
.disk_label.contentDetails to be in line with previous shell script.
2013-11-17 02:05:45 +01:00
Vladimir Serbinenko
66c00cb159
* util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
2013-11-17 02:03:03 +01:00
Vladimir Serbinenko
3a129dba59
* util/grub-install-common.c (grub_install_parse): Recognize
...
--compress=none like shell script did.
2013-11-17 02:01:21 +01:00
Vladimir Serbinenko
8df6eff6da
* include/grub/misc.h: Replace check for __sparc64__ with one for
...
__sparc__ as __sparc64__ isn't actually defined.
2013-11-17 01:01:47 +01:00
Vladimir Serbinenko
889ebe922b
* tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
...
counterpart of fixing the naming of escc ports.
2013-11-17 00:57:54 +01:00
Vladimir Serbinenko
d4d55b29e0
* util/grub-install-common.c (platforms): Fix the order of entries and
...
remove useless field val.
2013-11-17 00:54:40 +01:00
Vladimir Serbinenko
55e2c84fe3
* util/grub-install.c: Add new option --no-bootsector to skip
...
installing of bootsector. Accept --grub-setup=/bin/true as
backwards-compatible synonym.
2013-11-16 21:11:01 +01:00
Vladimir Serbinenko
cd46aa6cef
Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
...
the function of these files exceeds what can be sanely handled in shell
in posix-comaptible way. Also writing it in C extends the functionality
to non-UNIX-like OS and minimal environments.
2013-11-16 20:21:16 +01:00
Vladimir Serbinenko
9ef81064a3
* grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
...
compiling to thumb2.
* grub-core/kern/arm/cache_armv7.S: Likewise.
* grub-core/lib/arm/setjmp.S: Likewise.
2013-11-16 17:37:06 +01:00
Leif Lindholm
11a7793221
arm: delete superflouous save of r8 in grub_uboot_syscall
2013-11-16 15:56:09 +00:00
Vladimir Serbinenko
080603f0b0
Decrease stack usage in lexer.
...
We have only 92K of stack and using over 4K per frame is wasteful
* grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
as macros so that compiler would remove useless structure on stack.
Better solution would be to fix flex not to put this structure on
the stack but flex is external program.
2013-11-16 16:37:59 +01:00
Vladimir Serbinenko
4f84ae0ec8
Decrease stack usage in signature verification.
...
We have only 92K of stack and using over 4K per frame is wasteful
* grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
rather than stack.
(grub_verify_signature_real): Likewise.
2013-11-16 16:34:51 +01:00
Vladimir Serbinenko
e6a6182d95
Decrease stack usage in mdraid 0.9x.
...
We have only 92K of stack and using over 4K per frame is wasteful
* grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
rather than stack.
2013-11-16 16:16:48 +01:00