No description
Find a file
Andrei Borzenkov 67dba97e45 support modules without symbol table
all_video module does not have any code or data and exists solely for
.moddeps section to pull in dependencies. This makes all symbols unneeded.

While in current binutils (last released version as of this commit is 2.26)
``strip --strip-unneeded'' unintentionally adds section symbols for each
existing section, this behavior was considered a bug and changed in commit
14f2c699ddca1e2f706342dffc59a6c7e23e844c to completely strip symbol table
in this case.

Older binutils (verified with 2.17) and some other toolchains (at least
elftoolchain r3223M), both used in FreeBSD, remove symbol table in all_video
as well.

Relax run-time check and do not return error for modules without symbol table.
Add additional checks to module verifier to make sure such modules

a) have non-empty .moddeps section. Without either externally visible symbols
or .moddeps modules are completely useless and should not be built.

b) do not have any relocations.

Closes: 46986

v2: add run-time check for empty symbol table if relocations are present as
    suggested by Vladimir.
2016-02-03 20:34:55 +03:00
asm-tests asm-tests/i386-pc: Check that near jumps are 2 bytes. 2015-11-11 18:14:25 +00:00
build-aux Autogenerate ChangeLog from git changelog. 2015-01-24 17:29:50 +01:00
conf Add grub-module-verifier files to EXTRA_DIST 2015-12-31 21:35:11 +03:00
docs Document cpuid -p 2016-01-22 13:50:53 +01:00
grub-core support modules without symbol table 2016-02-03 20:34:55 +03:00
include arm64: Add support for relocations needed for linaro gcc 2016-01-22 19:09:37 +01:00
m4 update m4/extern-inline.m4 to upstream version to fix compilation on FreeBSD 2015-03-05 19:25:56 +03:00
po Remove reliance C.UTF-8 2015-11-08 20:23:15 +01:00
tests arm: Ignore qemu clock bug 2016-01-22 10:12:43 +01:00
themes/starfield Starfield theme. 2012-02-23 17:21:38 +01:00
unicode * unicode: Import Unicode 6.0 data. 2011-12-25 16:17:25 +01:00
util support modules without symbol table 2016-02-03 20:34:55 +03:00
.gitignore .gitignore: add missing files and .exe variants. 2014-01-29 13:27:37 -02:00
ABOUT-NLS automake commit without merge history 2010-05-06 11:34:04 +05:30
acinclude.m4 use TARGET_LDFLAGS in grub_PROG_OBJCOPY_ABSOLUTE 2015-07-05 08:21:38 +03:00
AUTHORS 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org> 2005-09-03 16:54:27 +00:00
autogen.sh autogen: Use cp instead of ln -s. 2015-11-08 18:45:57 +01:00
BUGS * BUGS: New file. 2011-01-11 00:06:01 +01:00
ChangeLog-2015 Autogenerate ChangeLog from git changelog. 2015-01-24 17:29:50 +01:00
config.h.in Remove libgcc dependency. 2015-03-03 20:50:37 +01:00
configure.ac configure.ac: Reorder efiemu check to after link format check. 2015-12-31 22:36:23 +01:00
COPYING 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org> 2007-07-21 23:32:33 +00:00
coreboot.cfg * coreboot.cfg: Add missing file. 2013-11-20 00:52:23 +01:00
geninit.sh automake commit without merge history 2010-05-06 11:34:04 +05:30
gentpl.py remove temporary .bin files (kernel and modules) 2015-12-31 23:00:25 +03:00
INSTALL autogen.sh: Allow overriding the python to be used by setting $PYTHON. 2015-03-06 00:34:18 +01:00
linguas.sh linguas.sh: fix error when removing non-existing autogenerated files 2015-08-09 16:28:12 +03:00
Makefile.am Disable NetBSD bootcheck on EFI until it supports ACPI on EFI. 2016-01-07 19:27:10 +01:00
Makefile.util.def Switch procfs to use archelp. 2015-07-27 12:44:19 +02:00
NEWS NEWS: more additions 2015-12-15 10:43:12 +03:00
README README: Remove dead link to the wiki 2015-11-06 04:31:23 +01:00
THANKS 2009-12-11 Robert Millan <rmh.grub@aybabtu.com> 2009-12-11 22:44:47 +00:00
TODO 2008-01-07 Robert Millan <rmh@aybabtu.com> 2008-01-07 19:21:34 +00:00

This is GRUB 2, the second version of the GRand Unified Bootloader.
GRUB 2 is rewritten from scratch to make GNU GRUB cleaner, safer, more
robust, more powerful, and more portable.

See the file NEWS for a description of recent changes to GRUB 2.

See the file INSTALL for instructions on how to build and install the
GRUB 2 data and program files.

Please visit the official web page of GRUB 2, for more information.
The URL is <http://www.gnu.org/software/grub/grub.html>.

More extensive documentation is available in the Info manual,
accessible using 'info grub' after building and installing GRUB 2.

There are a number of important user-visible differences from the
first version of GRUB, now known as GRUB Legacy. For a summary, please
see:

  info grub Introduction 'Changes from GRUB Legacy'