This requires a modern version of GCC and various other patches in order to work. LTO results in a smaller kernel binary with better performance. Based off of work from Andi Kleen <ak@linux.intel.com>. [Haseo97: Use -ffat-lto-objects since most drivers needed it to handle lto objects and change checks to GCC_LTO so it doesn't conflicting with Clang LTO]. Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com> Signed-off-by: Yousef Algadri <yusufgadrie@gmail.com> Change-Id: I7b08fde6c645ebb0baa16c78a1a4fe8255d45b7f Signed-off-by: Panchajanya Sarkar <panchajanya@azure-dev.live> Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>