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.
This commit is contained in:
Vladimir Serbinenko 2015-03-03 20:23:42 +01:00
parent 77697d14e5
commit 064360e667
21 changed files with 1441 additions and 479 deletions