LTO Depends-on Non-static Toolchain

Message ID
State Not Applicable, archived
Headers show
  • LTO Depends-on Non-static Toolchain
Related show

Commit Message

Justin Chen Oct. 12, 2017, 8:09 p.m.

What is the reason behind having LTO require a non-static toolchain?
Is this a work around for some bug within binutils/gcc? Or is this
something that should not work in theory?

commit 45512b003d04b5a89c5c3bb6b674683d82b87f42
Author: Alexey Neyman <>
Date:   Sat Feb 18 19:00:25 2017 -0800

    Have LTO depend-on non-static builds

    Loading a dynamic library (LTO plugin) from a static binary fails
    on ArchLinux. It is also prone to break if a system is ever upgraded.

    Also, disable plugins if not enabled explicitly.

    Signed-off-by: Alexey Neyman <>



diff --git a/config/cc/ b/config/cc/
index 8818de6..638bfe9 100644
--- a/config/cc/
+++ b/config/cc/
@@ -124,6 +124,7 @@  config CC_GCC_USE_GRAPHITE
 config CC_GCC_USE_LTO
     bool "Enable LTO"
     default y
+    depends on ! STATIC_TOOLCHAIN
       Enable the Link Time Optimisations.