grub/util
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
..
bash-completion.d Clean up dangling references to grub-setup. 2013-01-12 13:30:37 +00:00
grub.d 10_linux: avoid multi-device root= kernel argument 2016-02-01 20:13:48 +03:00
i386/efi Merge mainline into install 2010-09-15 14:46:53 +02:00
ieee1275 Move set_program_name and init_nls to host_init. On windows 2013-10-13 20:03:42 +02:00
bin2h.c Fix handling of build-time grub-bin2h and grub-mkfont when doing 2013-08-14 10:56:55 +02:00
config.c * util/config.c: Remove trailing newline from distributor in simple 2013-12-14 21:50:36 +01:00
editenv.c Add missing includes. 2013-12-21 13:47:27 +01:00
garbage-gen.c * util/garbage-gen.c: Add missing include of sys/time.h. 2013-11-23 12:42:30 +01:00
getroot.c util/getroot: delete dead code 2016-01-09 20:54:54 +03:00
glue-efi.c Build fixes for argp.h with older gcc. 2013-12-21 18:08:25 +01:00
grub-editenv.c Build fixes for argp.h with older gcc. 2013-12-21 18:08:25 +01:00
grub-file.c Fix canonicalize_file_name clash. 2015-03-04 01:00:19 +01:00
grub-fstest.c Fix canonicalize_file_name clash. 2015-03-04 01:00:19 +01:00
grub-gen-asciih.c * util/grub-gen-asciih.c (add_glyph): Fix uninitialised variable. 2014-06-21 20:26:47 +02:00
grub-gen-widthspec.c Fix build with FreeType 2.5.1 2013-11-29 12:19:36 +00:00
grub-glue-efi.c Build fixes for argp.h with older gcc. 2013-12-21 18:08:25 +01:00
grub-install-common.c util/setup: fix grub_util_path_list leak 2016-01-09 13:55:18 +03:00
grub-install.c grub-install: include ehci in list of native modules 2016-01-10 16:08:06 +03:00
grub-kbdcomp.in Apply program name transformations at build-time rather than at 2012-12-28 06:57:17 +00:00
grub-macbless.c Fix canonicalize_file_name clash. 2015-03-04 01:00:19 +01:00
grub-macho2img.c * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen. 2013-11-11 22:48:43 +01:00
grub-menulst2cfg.c Add a wrapper for fopen. On unix-like systems just pass-through. On 2013-10-13 20:36:28 +02:00
grub-mkconfig.in grub-mkconfig: use $pkgdatadir in scripts 2015-04-29 19:18:54 +03:00
grub-mkconfig_lib.in do not emit cryptomount without crypto UUID 2015-03-28 22:13:35 +03:00
grub-mkfont.c cleanup: grub_cpu_to_XXX_compile_time for constants 2014-09-22 20:47:10 +04:00
grub-mkimage.c grub-mkimage: remove redundant NULL check 2016-01-10 11:51:34 +03:00
grub-mkimagexx.c arm64: Add support for relocations needed for linaro gcc 2016-01-22 19:09:37 +01:00
grub-mklayout.c grub-mklayout: check subscript bounds 2016-01-09 14:13:36 +03:00
grub-mknetdir.c remove extra newlines in grub_util_* strings 2015-05-13 09:47:17 +03:00
grub-mkpasswd-pbkdf2.c Build fixes for argp.h with older gcc. 2013-12-21 18:08:25 +01:00
grub-mkrelpath.c Build fixes for argp.h with older gcc. 2013-12-21 18:08:25 +01:00
grub-mkrescue.c Error out if mtools invocation fails. 2016-01-22 19:28:08 +01:00
grub-mkstandalone.c util/grub-mkstandalone: fix memory leak. 2015-01-26 23:04:09 +03:00
grub-module-verifier.c arm64: Add support for relocations needed for linaro gcc 2016-01-22 19:09:37 +01:00
grub-module-verifier32.c Verify modules on build-time rather than failing in runtime. 2015-12-31 13:09:15 +01:00
grub-module-verifier64.c Verify modules on build-time rather than failing in runtime. 2015-12-31 13:09:15 +01:00
grub-module-verifierXX.c support modules without symbol table 2016-02-03 20:34:55 +03:00
grub-mount.c grub-mount: Fix oath parsing. 2015-12-29 17:43:05 +01:00
grub-pe2elf.c remove extra newlines in grub_util_* strings 2015-05-13 09:47:17 +03:00
grub-probe.c grub-probe: fix memory leak 2016-01-16 21:47:28 +03:00
grub-reboot.in * util/grub-reboot.in (usage): Fix a typo. 2013-11-15 14:32:03 +00:00
grub-render-label.c Build fixes for argp.h with older gcc. 2013-12-21 18:08:25 +01:00
grub-script-check.c Build fixes for argp.h with older gcc. 2013-12-21 18:08:25 +01:00
grub-set-default.in * util/grub-mkconfig.in: Replace $0 with $self. 2013-10-26 20:05:29 +02:00
grub-setup.c Build fixes for argp.h with older gcc. 2013-12-21 18:08:25 +01:00
grub-syslinux2cfg.c Fix canonicalize_file_name clash. 2015-03-04 01:00:19 +01:00
import_gcry.py fix Mingw W64-32 cross compile failure due to printf redefinition in libintl.h 2014-01-25 21:49:41 +04:00
import_gcrypth.sed Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
import_unicode.py * util/import_unicode.py: Add missing brackets around string for 2012-03-10 20:47:12 +01:00
misc.c Move file loading functions to grub-emu. 2016-01-05 21:10:27 +01:00
mkimage.c util/setup: fix grub_util_path_list leak 2016-01-09 13:55:18 +03:00
probe.c Fix canonicalize_file_name clash. 2015-03-04 01:00:19 +01:00
render-label.c Fix canonicalize_file_name clash. 2015-03-04 01:00:19 +01:00
resolve.c util/setup: fix grub_util_path_list leak 2016-01-09 13:55:18 +03:00
setup.c setup: fix NULL pointer dereference 2016-01-09 21:25:22 +03:00
setup_bios.c Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c) 2013-10-15 16:16:04 +02:00
setup_sparc.c Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c) 2013-10-15 16:16:04 +02:00
spkmodem-recv.c Improve spkmomdem reliability by adding a separator between bytes. 2013-01-21 14:55:30 +01:00