Vladimir Serbinenko
f1b3525385
Add -mno-stack-arg-probe on mingw.
...
This argument disables generation of calls to __chkstk_ms. Those calls are
useless on GRUB as function is dummy. Yet they increase module size and
use limited-range relocations which may not work under some memory layouts.
We currently don't use such layouts on concerned platforms but lt's correct
this.
2015-12-31 18:15:49 +01:00
Vladimir Serbinenko
68e158dffd
Strip .ARM.exidx
...
This section is generated by clang and is useful only for debugging.
It contains exotic relocations, so strip them to avoid them interferring
with module loading.
2015-12-31 18:13:59 +01:00
Vladimir Serbinenko
e1b2b9bf1d
module-verifier: Check range-limited relative relocations.
...
Check that they point to the same module, so will end up in the same
chunk of memory.
2015-12-31 15:29:28 +01:00
Vladimir Serbinenko
76588d1319
xen/relocator: Use local symbol to ensure that code is relocation-free.
2015-12-31 14:54:56 +01:00
Vladimir Serbinenko
60ae582142
backtrace: Fix register call syntax
2015-12-31 14:54:48 +01:00
Vladimir Serbinenko
a7cf8b1e23
Verify modules on build-time rather than failing in runtime.
2015-12-31 13:09:15 +01:00
Vladimir Serbinenko
5919626c90
sparc64: Fix assembly to let compiler to fill in memory references.
...
This fixes the use of not fully relocatable (they assume that variables are
under 4G limit in virtual memory) references.
2015-12-31 13:07:16 +01:00
Vladimir Serbinenko
79cfad6fbe
backtrace: Remove assembly assumption that grub_backtrace_pointer is under 4G
2015-12-30 18:19:44 +01:00
Vladimir Serbinenko
dbab354157
grub-mkrescue: Delete temporary file
...
Reported by: Thomas Schmitt
2015-12-29 17:48:34 +01:00
Vladimir Serbinenko
4111882828
grub-mount: Fix oath parsing.
...
Brackets detection was copied from somewhere else and makes no sense in case
of grub-mount and prevents user from accessing and files with ) in them.
2015-12-29 17:43:05 +01:00
Vladimir Serbinenko
ca7bb46d5c
exfat: Fix stream extension flag parsing.
2015-12-29 17:42:25 +01:00
Vladimir Serbinenko
4803db51ff
Document bootlocation discovery limitations and xen platform limitations
2015-12-14 16:21:24 +01:00
Vladimir Serbinenko
d43a5ee651
tsc: Use alternative delay sources whenever appropriate.
...
PIT isn't available on some of new hardware including Hyper-V. So
use pmtimer for calibration. Moreover pmtimer calibration is faster, so
use it on coreboor where booting time is important.
Based on patch by Michael Chang.
2015-11-27 11:39:55 +01:00
Vladimir Serbinenko
e0bd66c314
multiboot: Don't rely on particular ordering of options.
2015-11-12 11:54:38 +01:00
Vladimir Serbinenko
95ba04606f
multiboot_mbi: Fix handling of --quirk-bad-kludge.
2015-11-12 11:54:13 +01:00
Vladimir Serbinenko
323ef2bdc3
asm-tests/i386-pc: Check that near jumps are 2 bytes.
...
We already check that jump over 300 bytes gap is 3 bytes in code16-mode.
Some clang versions generate 3-byte opcode for short jumps which makes
boot.img blow over 512-byte limit. Enforce -no-integrated-as in such cases
2015-11-11 18:14:25 +00:00
Vladimir Serbinenko
25a9b8f208
fdt.mod: Move license tag to the right file.
2015-11-09 16:15:30 +01:00
Vladimir Serbinenko
254f92815b
kern/elf: Ignore cast-align warnings
2015-11-09 11:39:30 +01:00
Vladimir Serbinenko
cb28250cfc
cbfs: Fix corner case and compilation with recdent gcc
...
Accept the header to touch the jump address at 0xfffffff0.
Fix compilation for 64-bit EFI with recent GCC.
2015-11-09 03:24:04 +01:00
Vladimir Serbinenko
4656ced41c
fstester: Enforce LC_ALL=C
2015-11-08 22:39:36 +01:00
Vladimir Serbinenko
b2fc9acdc9
Adapt build-system to use imported xen headers.
2015-11-08 21:24:18 +01:00
Vladimir Serbinenko
e07badcc31
Import xen headers directly into GRUB
2015-11-08 21:23:52 +01:00
Vladimir Serbinenko
855fe6869c
cbfs: Check for ptr range sanity.
...
Triaged by Andrei and enhanced with suggestions by Aaron Durbin
Also-By: Andrei Borzenkov <arvidjaar@gmail.com >
2015-11-08 20:34:30 +01:00
Vladimir Serbinenko
a39137aefe
Remove reliance C.UTF-8
2015-11-08 20:23:15 +01:00
Vladimir Serbinenko
db97faec91
genmoddep.awk: Add a test that we have no circular dependencies
2015-11-08 20:00:27 +01:00
Vladimir Serbinenko
7cc27aeda9
Makefile.core.def: Break circular dependency on arm64.
2015-11-08 18:47:53 +01:00
Vladimir Serbinenko
ae66efc63b
autogen: Use cp instead of ln -s.
...
libgcrypt-grub shouldn't be modified directly anyway. With this patch
tarball without contrib can be unpacked on FAT and stay usable for
out-of-tree compile on full POSIX FS (compile on FAT not tested).
2015-11-08 18:45:57 +01:00
Vladimir Serbinenko
cd6d79cda2
configure.ac: Explicitly add -mno-sse3 on x86.
2015-11-06 04:32:34 +01:00
Vladimir Serbinenko
5b7b4d9781
README: Remove dead link to the wiki
2015-11-06 04:31:23 +01:00
Vladimir Serbinenko
4d0cb75538
arm64: Move FDT functions to separate module
2015-10-29 14:06:45 +01:00
Vladimir Serbinenko
cfabe05cc6
mips: Make setjmp code N32-compliant.
2015-10-11 13:20:26 +02:00
Vladimir Serbinenko
285540e448
mips: Make the assembly-code N32-compatible.
...
There are no $t4 or $t5 in N32 but there are $a4 and $a5.
2015-10-11 13:20:26 +02:00
Vladimir Serbinenko
c2443e49bc
mips/dl: Handle addend in RELA entries.
2015-10-09 23:32:06 +02:00
Vladimir Serbinenko
f59b83fce6
gfxmenu/model: Delete empty file.
2015-10-09 23:30:53 +02:00
Vladimir Serbinenko
72fc110d95
ahci: Ensure that bus mastering is set.
...
Fixes ahci_test failing on several platforms.
2015-07-28 01:51:14 +02:00
Vladimir Serbinenko
d3b464a7c0
archelp: Never pass NULL as mtime.
...
Moves complexity from fs code (NULL check) to common code (passing non-NULL).
2015-07-27 13:19:02 +02:00
Vladimir Serbinenko
5fb1e859f7
HFS: Convert to fshelp.
...
HFS doesn't handle "." and ".." properly. Convert it to fshelp to reuse the
logic.
2015-07-27 12:50:22 +02:00
Vladimir Serbinenko
bfb5b33e96
FAT: Convert to fshelp.
...
exFAT doesn't handle "." and ".." correctly, convert it to fshelp to
reuse the same logic.
2015-07-27 12:49:26 +02:00
Vladimir Serbinenko
d1d3a60b71
BFS: Convert to fshelp.
...
BFS doesn't handle ".." correctly, so convert it to fshelp to reuse the logic.
2015-07-27 12:48:38 +02:00
Vladimir Serbinenko
fa93b0e4f5
fshelp: Add handling of "." and ".." and grub_fshelp_find_file_lookup.
...
Recent tests have discovered that many of our filesystems have flawed
handling of "." and "..". Rather than attempting to fix it in filesystems
themselves, make the common code fshelp aware of "." and ".." and handle
them in this layer. Add grub_fshelp_find_file_lookup for easy conversion
of BFS, HFS and exFAT which have the same problem and don't use fshelp.
2015-07-27 12:45:35 +02:00
Vladimir Serbinenko
4622f4e1ee
Switch procfs to use archelp.
...
This fixes handling of "." and "..".
2015-07-27 12:44:19 +02:00
Vladimir Serbinenko
a2721778e5
grub-install: Use a+ in fopen rather than r+.
...
r+ does not create a file if none exists.
2015-07-27 12:42:47 +02:00
Vladimir Serbinenko
368ecfc3a0
Add transform_data as a variant of data with substitutions.
...
This fixrs name mismatch for grub.chrp with
transform_program_name='s,grub,grub2,g'
2015-07-27 12:39:41 +02:00
Vladimir Serbinenko
333855c646
zfs_test: Skip dotdot in volume root test.
...
Given special semantics of ZFS it's far from clear what the expected
result is. Just skip it for now
2015-07-24 01:23:45 +02:00
Vladimir Serbinenko
900fca88ac
xfs_test: Test both crc and non-crc filesystems.
2015-07-24 01:23:45 +02:00
Vladimir Serbinenko
049dcfa03c
xfs: Fix handling of symlink with crc-enabled filesystem.
2015-07-24 01:23:45 +02:00
Vladimir Serbinenko
02a249005f
reiserfs: Fix handling of first entry in the directory.
...
Fixes garbage being added to "." filename.
2015-07-24 01:23:45 +02:00
Vladimir Serbinenko
d0d90d7848
exclude.pot: Add missing blacklisted strings.
2015-07-23 19:04:55 +02:00
Vladimir Serbinenko
f34a422081
archelp: Fix handling of dot and dotdot at the end of the name.
...
Fixes cpio_test and tar_test.
2015-07-23 19:01:00 +02:00
Vladimir Serbinenko
ca73ae446c
arm-emu: Add __aeabi_memcpy* and __aeabi_memclr* symbols.
...
Fixes compilation with clang.
2015-07-23 02:15:46 +02:00
Vladimir Serbinenko
248bc1d0fc
fwstart: Fix loading of address of read_spd_fail.
2015-07-22 21:42:41 +02:00
Vladimir Serbinenko
63411b14be
fwstart: Add missing argument to p2align.
...
Resulting binary is unchanged as it happens we were already aligned
by chance.
2015-07-22 21:41:58 +02:00
Vladimir Serbinenko
80783ea646
fwstart: Replace blt with bltz.
...
blt A, $zero, B and bltz A, B are equivalent but clang recognizes only
later, so use it.
Resulting binary is unchanged.
2015-07-22 21:40:55 +02:00
Vladimir Serbinenko
eecdbebc84
Remove mips_attributes.
...
mips_attributes was introduced to work around clang problems with
-msoft-float. Those problems are now fixed and moreover .gnu_attributes
itself is unportable and creates problem with clang.
Revert "mips: Fix soft-float handling."
This partially reverts commit 6a4ecd276e .
2015-07-22 21:05:11 +02:00
Vladimir Serbinenko
f250c337f1
ARM: provide __aeabi_memclr* and __aeabi_memcpy* symbols
...
Fixes compilation with recent clang.
2015-07-22 20:40:13 +02:00
Vladimir Serbinenko
389d509df0
diskfilter: Make name a const char to fix compilation error.
2015-07-22 20:39:14 +02:00
Vladimir Serbinenko
9f27f9f691
dmraid_nvidia: Set a name to usable value to avoid null dereference.
...
Reported by: Andrei Borzenkov
2015-07-22 01:57:40 +02:00
Vladimir Serbinenko
5c46165a7c
configure.ac: Handle powerpc64le compiler
...
Also-by: Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com >
2015-07-22 01:54:59 +02:00
Vladimir Serbinenko
ff3c2007ef
XFS: Fix wrong alignment treatment.
2015-07-16 12:46:02 +02:00
Vladimir Serbinenko
54e7dbbcb9
grub_ext2_read_block: Fix return type on error.
2015-07-16 10:59:33 +02:00
Vladimir Serbinenko
c856be6bca
multiboot1: never place modules in low memory.
...
While in theory permitted by the spec, modules rarely fit in low memory
anyway and not every kernel is able to handle modules in low memory anyway.
At least VMWare is known not to be able to handle modules at arbitrary
locations.
2015-05-27 08:41:39 +02:00
Vladimir Serbinenko
2dcf260d89
util/grub-mkrescue: Fix compilation
2015-05-07 19:45:06 +02:00
Vladimir Serbinenko
9916ed6f82
grub-install-common: Increase buf size to 8192 as modinfo.sh is bigger.
2015-05-07 17:09:58 +02:00
Vladimir Serbinenko
5fd1cb980a
grub-mkrescue: Recognize -output as an alias of --output.
...
This helps us to be in line with xorriso -as mkisofs.
Suggested by: Thomas Schmitt
2015-05-07 16:34:34 +02:00
Vladimir Serbinenko
e5b4ba8c2b
linux.c: Ensure that initrd is page-aligned.
2015-05-07 16:23:39 +02:00
Vladimir Serbinenko
9f731abc7f
Revert parts accidentally committed 2 commits ago.
2015-05-07 16:21:34 +02:00
Vladimir Serbinenko
70b002de55
Remove -V in grub-mkrescue.c
...
It clashhes with -V which is alias to -volid.
2015-04-24 17:52:30 +02:00
Vladimir Serbinenko
1f23c87c19
Make Makefile.util.def independent of platform.
2015-03-27 14:04:41 +01:00
Vladimir Serbinenko
c14f8a9366
modinfo.sh.in: Add missing config variables.
2015-03-27 12:18:25 +01:00
Vladimir Serbinenko
94222b72b5
Makefile.core.def: Remove obsolete LDADD_KERNEL
2015-03-27 12:18:25 +01:00
Vladimir Serbinenko
63034d3261
arp, icmp: Fix handling in case of oversized or invalid packets.
...
This restrict ARP handling to MAC and IP addresses but in practice we need
only this case anyway and other cases are very rar if exist at all. It makes
code much simpler and less error-prone.
2015-03-27 12:18:25 +01:00
Vladimir Serbinenko
e9f68f1f4c
compiler-rt-emu: Add missing file.
2015-03-20 13:00:53 +01:00
Vladimir Serbinenko
fe6695b7d6
emunet: Fix init error checking.
...
Otherwise emunet doesn't expose any cards.
2015-03-20 12:59:00 +01:00
Vladimir Serbinenko
237510486a
fddboot_test: Add -no-pad to xorriso.
2015-03-20 12:58:08 +01:00
Vladimir Serbinenko
cf47a2fba5
grub-mkrescue: pass all unrecognized options unchanged to xorriso.
2015-03-20 12:55:27 +01:00
Vladimir Serbinenko
9c07daaf91
cacheinfo: Add missing license information.
2015-03-20 11:13:58 +01:00
Vladimir Serbinenko
5fe21c9968
hfsplus: Fix potential access to uninited memory on invalid FS
2015-03-06 22:33:20 +01:00
Vladimir Serbinenko
dc06aa949b
syslinux_parse: Fix the case of unknown localboot.
...
Reported by: Jordan Uggla
2015-03-04 14:19:29 +01:00
Vladimir Serbinenko
5959b15c1c
configure.ac: Fix the name of pciaccess header.
2015-03-04 01:01:45 +01:00
Vladimir Serbinenko
27d1a67f8a
Fix canonicalize_file_name clash.
...
canonicalize_file_name clashed with gnulib function. Additionally
it was declared in 2 places: emu/misc.h and util/misc.h. Added
grub_ prefix and removed second declaration.
2015-03-04 01:00:19 +01:00
Vladimir Serbinenko
9d25b0da9a
Remove emu libusb support.
...
It's disabled by default and has been broken for a long time.
As nobody is interested in fixing and maintaining it, remove it.
2015-03-03 20:59:36 +01:00
Vladimir Serbinenko
9f95d12153
configure.ac: Remove unused COND_clang
2015-03-03 20:50:37 +01:00
Vladimir Serbinenko
064360e667
Remove libgcc dependency.
...
libgcc for boot environment isn't always present and compatible.
libgcc is often absent if endianness or bit-size at boot is different
from running OS.
libgcc may use optimised opcodes that aren't available on boot time.
So instead of relying on libgcc shipped with the compiler, supply
the functions in GRUB directly.
Tests are present to ensure that those replacement functions behave the
way compiler expects them to.
2015-03-03 20:50:37 +01:00
Vladimir Serbinenko
77697d14e5
types.h: Use __builtin_bswap* with clang.
...
clang pretends to be GCC 4.2 but we use __builtin_bswap* only with GCC 4.3+.
clang support __builtin_bswap*, so use it.
2015-03-03 20:50:37 +01:00
Vladimir Serbinenko
aa6ccc05c1
configure.ac: Set $CPPFLAGS when checking for no_app_regs.
...
Fixes compilation for sparc64 with clang.
2015-03-03 20:50:37 +01:00
Vladimir Serbinenko
87ec3b7fa9
Don't continue to query block-size if disk doesn't have it.
...
Stops poluting screen with a lot of "block-size: exception -21".
2015-03-03 20:50:37 +01:00
Vladimir Serbinenko
0d6498a67d
exclude.pot: Add new technical strings
2015-02-28 16:23:27 +01:00
Vladimir Serbinenko
afd6b6bbae
grub-probe: Mark a "[default=]" for translation.
2015-02-28 16:22:46 +01:00
Vladimir Serbinenko
ddde9ca71a
grub-shell: Add missing --locale-directory.
...
Fixes the language tests is no make install was done.
2015-02-28 15:14:16 +01:00
Vladimir Serbinenko
050505ab8f
ntfs_test: Skip is setfattr is unavailable.
2015-02-28 15:13:41 +01:00
Vladimir Serbinenko
66b0e6649b
emu/cache: Change declaration of __clear_cache to match builtin declaration.
...
Fixes compile of arm64-emu.
2015-02-26 22:20:59 +01:00
Vladimir Serbinenko
38b7a30269
arm/dl: Fix handling of nonstandard relocation sizes
2015-02-26 22:10:29 +01:00
Vladimir Serbinenko
7ba066419a
gzio: Optimize by removing division.
2015-02-26 22:10:09 +01:00
Vladimir Serbinenko
67a6a9512a
raid6: Optimize by removing division.
2015-02-26 22:07:22 +01:00
Vladimir Serbinenko
f76c98b79e
dmraid_nvidia: Fix division by 0 and missing byte-swap.
2015-02-26 22:06:19 +01:00
Vladimir Serbinenko
94f701a826
crypto: restrict cipher block size to power of 2.
...
All current ciphers have blocks which are power of 2 and it's
unlikely to change. Other block length would be tricky to handle anyway.
This restriction allows avoiding extra divisions.
2015-02-26 22:04:40 +01:00
Vladimir Serbinenko
7213c1e028
jpeg: Optimise by replacing division with shifts.
2015-02-26 21:27:32 +01:00
Vladimir Serbinenko
18125877ee
png: Optimize by avoiding divisions.
2015-02-26 18:27:43 +01:00
Vladimir Serbinenko
80310ad07d
Add missing lib/division.c
2015-02-26 18:22:40 +01:00
Vladimir Serbinenko
f51218bc15
fbblit: Optimize by replacing division with additions and shifts.
2015-02-26 18:14:28 +01:00