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
Andrei Borzenkov
018f79da6f
grub-probe: free temporary variable
2015-02-28 20:19:57 +03: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
Vladimir Serbinenko
dd4889f727
bitmap_scale: Optimize by moving division out of the loop.
2015-02-26 18:13:36 +01:00
Vladimir Serbinenko
c5a4e79335
minilzo: Skip parts tha we don't need.
2015-02-26 18:11:53 +01:00
Vladimir Serbinenko
6a4ecd276e
mips: Fix soft-float handling.
...
Add -msoft-float alongside clang arguments to specify ABI.
Specify ABI in asm files explicitly.
This trigers asm warning due to gcc failing to propagate -msoft-float
but it's tolerable.
2015-02-23 22:33:28 +01:00
Vladimir Serbinenko
7ea452a142
Add missing grub_ prefix in memcpy invocation
2015-02-23 22:29:33 +01:00
Vladimir Serbinenko
2066c35b3f
Allow clang compilation for thumb with -mthumb-interwork.
...
clang already uses -mthumb-interwork behaviour even thout it doesn't
support the option.
2015-02-23 22:29:33 +01:00
Vladimir Serbinenko
345076a78a
arm64: Fix compilation failure.
...
Don't supply +nosimd to asm files.
Otherwise +nosimd coming from flags forbids some of instructions
used in cache_flush.
2015-02-23 22:29:28 +01:00
Vladimir Serbinenko
f034fab620
Supply signed division to fix ARM compilation.
...
Previously we supplied only unsigned divisions on platforms that need software
division.
Yet compiler may itself use a signed division. A typical example would be a
difference between 2 pointers which involves division by object size.
2015-02-23 04:12:04 +01:00
Vladimir Serbinenko
e1d4520bfb
acpi: Fix unused function warning.
2015-02-22 14:42:43 +01:00
Vladimir Serbinenko
ea39b87a8b
configure.ac: Add ia64-specific way to disable floats.
2015-02-22 14:42:19 +01:00
Vladimir Serbinenko
50ebc8f5f3
i386/tsc: Fix unused function warning on xen.
2015-02-22 13:12:44 +01:00
Vladimir Serbinenko
155f334f57
Experimental support for clang for sparc64.
...
Automatically discover command line options to make clang and
gcc behave in same way.
Tested with qemu.
2015-02-22 01:54:55 +01:00
Vladimir Serbinenko
ebe316e4df
Discover which option provides soft-float on configure stage.
...
Deals with clang needing other arguments to stop issuing floating
instructions than gcc.
2015-02-22 00:35:11 +01:00
Vladimir Serbinenko
da9f30b455
mips: Switch to more portable .org
...
Binary is unchanged.
2015-02-21 20:43:57 +01:00
Vladimir Serbinenko
49e5fcb9fb
sparc64: Switch to more portable .org.
...
Binaries are unchanged.
2015-02-21 20:32:03 +01:00
Vladimir Serbinenko
e77dc3d9a0
kernel-8086: Switch to more portable .org.
2015-02-21 20:24:59 +01:00
Vladimir Serbinenko
f16b8c0405
Relax requirements on asm for non-BIOS i386 platforms.
...
These platforms don't have a hard limit on size of resulting code16
code, so we don't care if assembly is bigger than necessarry.
2015-02-21 20:18:18 +01:00
Vladimir Serbinenko
3c6043245e
qemu: Switch to more portable .org
...
Binary is checked identical.
2015-02-21 20:13:58 +01:00
Vladimir Serbinenko
8afd8f3b64
qemu: Fix GateA20 enabling.
...
GateA20 code was inactive due to address error.
2015-02-21 20:00:18 +01:00
Vladimir Serbinenko
e62ca2a870
qemu: Fix compilation
2015-02-21 19:55:53 +01:00
Vladimir Serbinenko
44ff462e83
Remove realmode.S from coreboot and qemu.
...
It's not used there.
2015-02-21 19:53:18 +01:00
Vladimir Serbinenko
6505b241fd
Remove obsolete ADDR32 and DATA32 checks.
2015-02-21 17:44:41 +01:00
Vladimir Serbinenko
37353f0ae5
i386: Remove needless ADDR32 prefixes when address is known and fixed.
...
Shaves off 6 bytes in lzma_decompress.img.
2015-02-21 17:38:56 +01:00
Vladimir Serbinenko
1998d63688
i386-pc/boot: Explicitly mark kernel_address[_high] as local.
...
Otherwise apple asm might try to make accesses relocatable.
2015-02-21 17:20:10 +01:00
Vladimir Serbinenko
bc29c6d019
Change dot assignmnet to more portable .org.
...
Binary is unchanged (verified)
2015-02-21 17:19:01 +01:00
Vladimir Serbinenko
f571dc1af8
i386: Move from explicit ADDR32/DATA32 prefixes to instruction suffixes.
...
Is more portable.
Binary is unchanged (verified).
2015-02-21 17:13:23 +01:00
Vladimir Serbinenko
065ad910f1
Test which flags make our asm compile.
...
Previously we relied on assumption that clang always needs -no-integrated-as
but it's not always true.
2015-02-21 16:29:28 +01:00
Vladimir Serbinenko
0b02bfa034
INSTALL: clarify that clang support is experimental
2015-02-21 16:22:48 +01:00
Vladimir Serbinenko
87a04adb65
zfs/mzap_lookup: Fix argument types
2015-02-21 16:22:01 +01:00
Vladimir Serbinenko
ec65605af4
wildcard: Mark unused argument as such.
2015-02-21 16:19:09 +01:00
Vladimir Serbinenko
967e5aa591
ofdisk: Exclude floppies from scanning.
...
It causes similar hang as CD on at least the qemu.
2015-02-21 16:16:48 +01:00