LTO Depends-on Non-static Toolchain

Message ID CAJx26kUCykwJug9v5YiP9TtFX3rWq+KgYmG5vU9Mvpi0oHnD_Q@mail.gmail.com
State New
Headers show
Series
  • LTO Depends-on Non-static Toolchain
Related show

Commit Message

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

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 <stilor@att.net>
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 <stilor@att.net>

Thanks,
Justin

Patch

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