grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Anyone tried hooking up Link Time Optimization (LTO)


From: Paul Menzel
Subject: Re: Anyone tried hooking up Link Time Optimization (LTO)
Date: Mon, 24 Feb 2020 14:31:56 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0

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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]