LTO Depends-on Non-static Toolchain

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

LTO Depends-on Non-static Toolchain

Justin Chen
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 <[hidden email]>
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 <[hidden email]>

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.

Thanks,
Justin