Bug ID | 1073210 |
---|---|
Summary | Link Time Optimization doesn't work out of the box on 64 bit systems because of bfd-plugins path mixup |
Classification | openSUSE |
Product | openSUSE Distribution |
Version | Leap 42.3 |
Hardware | Other |
OS | Other |
Status | NEW |
Severity | Normal |
Priority | P5 - None |
Component | Development |
Assignee | bnc-team-screening@forge.provo.novell.com |
Reporter | l.lunak@centrum.cz |
QA Contact | qa-bugs@suse.de |
Found By | --- |
Blocker | --- |
When using LTO, linker is supposed to find a plugin for handling LTO in /usr/lib/bfd-plugins . And this path is hardcoded in sources, and it's "lib" even for 64 bit systems. However, neither GCC nor Clang/LLVM install their plugin there. GCC doesn't do anything with its plugin except for shipping it in its own directory, and LLVMGold is installed to /usr/lib64/bfd-plugins. So instead of LTO simply working when using -flto, one has to use gcc-ar/llvm-ar etc. to override the ar etc. which should work but don't because of this. I can easily submit fixed binutils and gcc packages to make them use /usr/lib64/bfd-plugins too, but I've first created this bugreport so that there's just one place for referring to this issue. Also I would first like to verify that this would indeed be the proper fix - is there any special reason why binutils hardcodes the "lib" there?