commit:     aab6bf7095a0ab921c78b07a202db207ce07a5f8
Author:     Shane Peelar <lookatyouhacker <AT> gmail <DOT> com>
AuthorDate: Thu Sep 21 17:05:14 2017 +0000
Commit:     Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Sat Dec 16 20:13:41 2017 +0000
URL:        https://gitweb.gentoo.org/proj/gcc-config.git/commit/?id=aab6bf70

Add support for symlinking appropriate LTO plugin

Since Binutils 2.25, automatic loading of LTO plugins is supported from
binutils, but the LTO plugins must be in the bfd-plugins directory in
order to be found.  This patches gcc-config to automatically do this.

Signed-off-by: Shane Peelar <lookatyouhacker <AT> gmail.com>

 gcc-config | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/gcc-config b/gcc-config
index ff8d8ac..e9afa24 100755
--- a/gcc-config
+++ b/gcc-config
@@ -689,6 +689,19 @@ switch_profile() {
 
        update_wrappers ${CTARGET}
 
+       # Update LTO plugin for GCC.  Supported as of binutils 2.25.
+       local BFD_PLUGINS_DIR
+       local LIBLTO_PLUGIN
+       
LIBLTO_PLUGIN="${EROOT}usr/libexec/gcc/${CTARGET}/${CC_COMP_VERSION}/liblto_plugin.so"
+       if is_cross_compiler; then
+               
BFD_PLUGINS_DIR="${EROOT}usr/${CHOST}/${CTARGET}/binutils-bin/lib/bfd-plugins"
+       else
+               
BFD_PLUGINS_DIR="${EROOT}usr/${CHOST}/binutils-bin/lib/bfd-plugins"
+       fi
+       ewarn "Updating LTO plugin symlink in ${BFD_PLUGINS_DIR}"
+       mkdir -p "${BFD_PLUGINS_DIR}"
+       ln -sf "${LIBLTO_PLUGIN}" "${BFD_PLUGINS_DIR}"
+
        if [[ ${ROOT} == "/" ]] && \
           [[ ${FORCE} == "yes" || ${envd_changed} -gt 0 ]]
        then

Reply via email to