Dear GRUB folks,
Am 24.02.20 um 12:57 schrieb Paul Menzel:
Dear GRUB folks, Jacob integrated support for LTO (Link Time Optimization) to coreboot [1], libpayload [2], and the payload *coreinfo* [3] resulting in a noticeable reduction in the size. So maybe GRUB would benefit too. Has anyone looked into this already?
Just adding `-flto` to the C flags fails.
$ make CFLAGS="-flto"
cp lib/libgcrypt-grub/cipher/crypto.lst crypto.lst cat kernel_syms.lst > syminfo.lst.new for m in disk.module trig.module cs5536.module usb.module usbserial_common.module usbserial_pl2303.module usbserial_ftdi.module usbserial_usbdebug.module uhci.module ohci.module ehci.module pci.module nativedisk.module cmostest.module cmosdump.module iorw.module cbtime.module cbls.module cbmemc.module regexp.module acpi.module lsacpi.module blocklist.module boot.module cat.module cmp.module configfile.module cpuid.module date.module echo.module eval.module extcmd.module gptsync.module halt.module reboot.module hashsum.module pgp.module verifiers.module hdparm.module help.module hexdump.module keystatus.module loadenv.module ls.module lsmmap.module lspci.module memrw.module minicmd.module parttool.module password.module password_pbkdf2.module play.module spkmodem.module morse.module probe.module read.module search.module search_fs_file.module search_fs_uuid.module search_label.module setpci.module pcidump.module sleep.module smbios.module terminal.module test.module true.module usbtest.module videoinfo.module videotest.module xnu_uuid.module dm_nv.module loopback.module cryptodisk.module json.module afsplitter.module luks.module luks2.module geli.module lvm.module ldm.module mdraid09.module mdraid09_be.module mdraid1x.module diskfilter.module raid5rec.module raid6rec.module scsi.module memdisk.module ata.module ahci.module pata.module usbms.module efiemu.module procfs.module affs.module afs.module bfs.module zstd.module btrfs.module archelp.module cbfs.module cpio.module cpio_be.module newc.module odc.module ext2.module fat.module exfat.module f2fs.module fshelp.module hfs.module hfsplus.module hfspluscomp.module iso9660.module jfs.module minix.module minix2.module minix3.module minix_be.module minix2_be.module minix3_be.module nilfs2.module ntfs.module ntfscomp.module reiserfs.module romfs.module sfs.module squash4.module tar.module udf.module ufs1.module ufs1_be.module ufs2.module xfs.module zfs.module zfscrypt.module zfsinfo.module macbless.module gettext.module gfxmenu.module hello.module gzio.module offsetio.module elf.module crypto.module pbkdf2.module relocator.module datetime.module setjmp.module aout.module bsd.module linux16.module multiboot2.module multiboot.module linux.module xnu.module random.module macho.module chain.module mmap.module normal.module part_acorn.module part_amiga.module part_apple.module part_gpt.module part_msdos.module part_sun.module part_plan.module part_dvh.module part_bsd.module part_sunpc.module part_dfly.module msdospart.module at_keyboard.module gfxterm_background.module serial.module terminfo.module usb_keyboard.module mda_text.module video_cirrus.module video_bochs.module functional_test.module exfctest.module strtoull_test.module setjmp_test.module signature_test.module sleep_test.module xnu_uuid_test.module pbkdf2_test.module div.module div_test.module mul_test.module shift_test.module cmp_test.module ctz_test.module bswap_test.module videotest_checksum.module gfxterm_menu.module cmdline_cat_test.module bitmap.module bitmap_scale.module jpeg.module png.module tga.module video_colors.module datehook.module net.module tftp.module http.module syslinuxcfg.module test_blockarg.module xzio.module lzopio.module testload.module backtrace.module keylayouts.module priority_queue.module time.module adler32.module crc64.module mpi.module all_video.module gdb.module testspeed.module tr.module progress.module file.module rdmsr.module wrmsr.module gcry_arcfour.module gcry_blowfish.module gcry_camellia.module gcry_cast5.module gcry_crc.module gcry_des.module gcry_dsa.module gcry_idea.module gcry_md4.module gcry_md5.module gcry_rfc2268.module gcry_rijndael.module gcry_rmd160.module gcry_rsa.module gcry_seed.module gcry_serpent.module gcry_sha1.module gcry_sha256.module gcry_sha512.module gcry_tiger.module gcry_twofish.module gcry_whirlpool.module; do \ sh gensyminfo.sh $m >> syminfo.lst.new || exit 1; \ done nm: all_video.module: no symbols nm: all_video.module: no symbols mv syminfo.lst.new syminfo.lst cat syminfo.lst | sort | mawk -f ./genmoddep.awk > moddep.lst || (rm -f moddep.lst; exit 1) grub_putcode in help is not defined grub_extractor_level in normal is not defined grub_getstringwidth in normal is not defined grub_print_ucs4_menu in normal is not defined grub_putcode in normal is not defined make[3]: *** [Makefile:49401: moddep.lst] Fehler 1 make[3]: Verzeichnis „/dev/shm/grub/grub-core“ wird verlassen make[2]: *** [Makefile:27430: all] Fehler 2 make[2]: Verzeichnis „/dev/shm/grub/grub-core“ wird verlassen make[1]: *** [Makefile:11914: all-recursive] Fehler 1 make[1]: Verzeichnis „/dev/shm/grub“ wird verlassen make: *** [Makefile:3766: all] Fehler 2
Kind regards, Paul
[1]: https://review.coreboot.org/c/coreboot/+/38989 [2]: https://review.coreboot.org/c/coreboot/+/38291 [3]: https://review.coreboot.org/c/coreboot/+/38293
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel