1. 03 Feb, 2016 1 commit
    • Andrei Borzenkov's avatar
      support modules without symbol table · 67dba97e
      Andrei Borzenkov authored
      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.
      67dba97e
  2. 15 Jan, 2016 1 commit
  3. 24 Feb, 2015 1 commit
  4. 22 Dec, 2013 1 commit
  5. 21 Dec, 2013 1 commit
  6. 10 Dec, 2013 1 commit
  7. 08 Dec, 2013 1 commit
  8. 06 Dec, 2013 1 commit
  9. 22 Nov, 2013 1 commit
  10. 01 Nov, 2013 1 commit
  11. 28 Apr, 2013 1 commit
  12. 27 Apr, 2013 1 commit
  13. 24 Apr, 2013 1 commit
  14. 20 Mar, 2013 1 commit
  15. 19 Mar, 2012 1 commit
  16. 26 Feb, 2012 1 commit
  17. 10 Feb, 2012 1 commit
    • Vladimir 'phcoder' Serbinenko's avatar
      Increase warning level. · ebcecdf1
      Vladimir 'phcoder' Serbinenko authored
      	* conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
      	-Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
      	* configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
      	(TARGET_CFLAGS): Likewise.
      	(HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
      	* grub-core/Makefile.core.def (decompressor_xz): Add
      	-Wno-unreachable-code.
      	(normal): Add -Wno-redundant-decls.
      	(xzio): Add -Wno-unreachable-code.
      	(lzopio): Add -Wno-redundant-decls -Wno-error.
      	* grub-core/commands/acpi.c: Add exception to -Wcast-align.
      	* grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
      	* grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
      	* grub-core/kern/dl.c: Add exception to -Wcast-align.
      	* grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
      	* grub-core/kern/i386/coreboot/init.c: Add exception to
      	-Wsuggest-attribute=noreturn.
      	* grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
      	* grub-core/kern/ia64/dl_helper.c: Likewise.
      	* grub-core/kern/mips/dl.c: Likewise.
      	* grub-core/kern/sparc64/dl.c: Likewise.
      	* grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
      	* grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
      	(memcmp): Likewise.
      	* grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
      	* grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
      	* grub-core/loader/mips/linux.c: Likewise.
      	* grub-core/loader/multiboot_elfxx.c: Likewise.
      	* grub-core/script/parser.y: Add exception to -Wunreachable-code.
      	* grub-core/video/sm712.c: Add exception to -Wcast-align.
      	* util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
      	* grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
      	fixme.
      	* grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
      	* grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
      	Fix prototype.
      ebcecdf1
  18. 08 Feb, 2012 1 commit
  19. 05 Feb, 2012 1 commit
    • Vladimir 'phcoder' Serbinenko's avatar
      Move platform-dependent files from $prefix to $prefix/$platform. · 92cd0f6e
      Vladimir 'phcoder' Serbinenko authored
      	* config.h.in (GRUB_TARGET_CPU): New definition.
      	(GRUB_PLATFORM): Likewise.
      	* configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
      	* grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
      	* grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
      	* grub-core/kern/dl.c (grub_dl_load): Likewise.
      	* grub-core/normal/autofs.c (read_fs_list): Likewise.
      	* grub-core/normal/crypto.c (read_crypto_list): Likewise.
      	* grub-core/normal/dyncmd.c (read_command_list): Likewise.
      	* grub-core/normal/term.c (read_terminal_list): Likewise.
      	* grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
      	$prefix/locale.
      	(grub_gettext_init_ext): Likewise.
      	* grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
      	grub_platform.
      	* util/grub-install.in: Update directories.
      	* util/grub-mknetdir.in: Likewise.
      	* util/grub-mkrescue.in: Likewise.
      92cd0f6e
  20. 17 Nov, 2011 2 commits
  21. 12 Nov, 2011 1 commit
    • Vladimir 'phcoder' Serbinenko's avatar
      Add const keyword to grub_env_get and gettextize week days. · d35d0d37
      Vladimir 'phcoder' Serbinenko authored
      	* grub-core/hook/datehook.c (grub_datetime_names): Make const.
      	(grub_read_hook_datetime): Return const char *.
      	* grub-core/kern/env.c (grub_env_get): Return const char *. All users
      	updated.
      	* grub-core/normal/datetime.c (grub_weekday_names): Make const.
      	Mark for gettext.
      	(grub_get_weekday_name): Return const char *. Call gettext.
      	* grub-core/script/argv.c (grub_script_argv_append): Receive const
      	char * and len as the argument. All users updated.
      	(grub_script_argv_split_append): Receive const char *.
      	* include/grub/datetime.h (grub_get_weekday_name): Update proto.
      	* include/grub/env.h (grub_env_get): Likewise.
      	(grub_env_read_hook_t): Return const char *.
      	* include/grub/script_sh.h (grub_script_argv_append): Update proto.
      	(grub_script_argv_split_append): Likewise.
      d35d0d37
  22. 08 Nov, 2011 1 commit
    • Vladimir 'phcoder' Serbinenko's avatar
      Support trampoline jumps on powerpc. · ed64e9e2
      Vladimir 'phcoder' Serbinenko authored
      	* grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
      	__ia64__ path.
      	(grub_dl_load_segments): Set mod->sz.
      	(grub_dl_flush_cache): Flush whole space occupied by module, not just
      	segments.
      	* grub-core/kern/ia64/dl.c (nopm): Make const while on it.
      	(jump): Likewise.
      	* grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
      	function.
      	(trampoline): New struct.
      	(trampoline_template): New const.
      	(grub_arch_dl_relocate_symbols): Create trampolines on overflow.
      	* include/grub/dl.h (grub_dl): Add sz element.
      	[__powerpc__]: Follow __ia64__.
      	(GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
      	(GRUB_ARCH_DL_GOT_ALIGN): Likewise.
      	(GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
      	(grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
      ed64e9e2
  23. 06 Jul, 2011 1 commit
  24. 15 May, 2011 2 commits
  25. 08 May, 2011 2 commits
  26. 12 Apr, 2011 1 commit
  27. 03 Jan, 2011 3 commits
  28. 02 Jan, 2011 3 commits
  29. 01 Sep, 2010 2 commits
  30. 26 Aug, 2010 1 commit
  31. 06 May, 2010 1 commit
  32. 27 Apr, 2010 1 commit