commit:     f2b24dff8119550ca6ca5f3d1e1ce6ef29aa9679
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Thu Dec  4 08:24:38 2014 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Thu Dec  4 08:24:38 2014 +0000
URL:        
http://sources.gentoo.org/gitweb/?p=dev/heroxbd.git;a=commit;h=f2b24dff
sys-devel/gcc: make the dynamic linker prefix configurable

  http://article.gmane.org/gmane.comp.gcc.patches/330588

---
 sys-devel/gcc/Manifest                  |   4 +-
 sys-devel/gcc/files/gcc-4.9.2-rap.patch | 535 ++++++++++++++++++++++++++++++++
 sys-devel/gcc/gcc-4.9.2.ebuild          |   3 +-
 3 files changed, 540 insertions(+), 2 deletions(-)

diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index 7577635..32ce59a 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -88,6 +88,8 @@ AUX gcc-4.4.1-interix.patch 12986 SHA256 
33953e755b4de1e5b5d272b3e35a8d63a68a164
 AUX gcc-4.4.1-linux-x86-on-amd64.patch 1559 SHA256 
cf300a35076e42ab530d3c6b4a81fb0ebaf0174bfba5e26cf565d63cef5fd670 SHA512 
53c929926837487678d80acfbfe24b37a7aec8af0def837d2c699a1df4c9839d54cc91de4f33c696aa114d52059e245aa9614b86fdfd5fe1c5c1a1715dc1cfdb
 WHIRLPOOL 
4bb0644b6d147b9bb69f94212b414b108f35f1c6d4b8d3dbd41319aca0ccd70ceb9e2ca947f180ab2d1f7ff1408065024199e89e4796bbef226960ee58901d56
 AUX gcc-4.7-rap.patch 1913 SHA256 
75842d968d21d9916d41c4e75be12387d818221465fb2335546418c744b2eee1 SHA512 
aee8bc93aebd9a217b53cd4c6d6fd79780eb77ef490164d35a056d08d0cc5b550ed7b6e298f963cbe61511caf2b03d47ff5df50a6de95b86c104dfac3ed0f273
 WHIRLPOOL 
7702b0cefb958f6fb7cef5bb0e1f056412d5f972e3a4653735f33b56245db7d984d7c21a5e47282d6283efadefb76bc850877d151d15bcd3f081aba1360a0d7d
 AUX gcc-4.9-extra-specs.patch 3894 SHA256 
942654807a350bdfc1f587766238bea0caabe4d804e48a8705ea5faa56701641 SHA512 
32a477d66b85793cdd6c51a1dee29393914b5ecd5db4022387457ff01e871a1efd1ad77be3b05275cdf96e0ae822a7d353ed40ad1476326c60e9bdd9054930cc
 WHIRLPOOL 
47bf1ed50db265235f5f5cae5e45831c1059a2c26fa93d6ce86299c5986da2c38b10b2ca39e59ba8c796716f4e88eadf85f84c5b4a6b5acf25dc56e5a86c182a
+AUX gcc-4.9-rap.patch 5188 SHA256 
a956996f61caca8d29fd37169d111b025724b28ddf055a090a651f9673b747cd SHA512 
036f4c7942009674064728e6c4bd88a0d05c00af2115c70c2b07a3286c7871239e08e4d6dc48b273ca3218f382489fa2ccea42fe9876305e1f63dbcf9a9288d2
 WHIRLPOOL 
ab51de670355b39b4eac29169ab77a2172c0d2f8f6f8e2961dceb5f5ef1fe1ce9c0c1182fc0aa6fad4bcd1c3530bb57f319b1ac6084dd5cfe39ad1a8007fd211
+AUX gcc-4.9.2-rap.patch 21922 SHA256 
09c77c4b535a653157a9bb6f282f6e92e5e4aa4aae0e3e9d3d40e079962e442c SHA512 
d0c59eacda40f9969b5b94e8e7e8c514df7645aac83d9be434da78b42edbb6816aea7b36502c11af2c6fa8fce5ba412e181a14f6153601b6236f634b52e8aac7
 WHIRLPOOL 
86ee9f8d3df2db93e0229f7bf385dd8ed648ce09affe2993b0d532b9251cbec47e6f2135383138947c0ac0699c3f9479b06d4f6cedd7078359bbe79b82d6b075
 AUX gcc-configure-LANG.patch 2052 SHA256 
63de6d2dcfe14f21d147abeb1390405b9220c03f8e968f482d4b4c1cf279c88b SHA512 
a694c7ac2f45cc657097ff5b0cf1356ac88a9c06035c9ba15167e9d444844d0d8a478eb1b9b62195dd063774f79697b9148b9cdb6c261640b472c291061b2129
 WHIRLPOOL 
3cc1ec912fb192ff1058de5b93e49a994ba30d1501a932290dd5b3df1cd783875621cda56edeb41894cd5fa10c04917e693a40a60be8d742ddd7992bf5d8afeb
 AUX gcc-configure-texinfo.patch 337 SHA256 
74b73a7ecec2d88889876b4db480cd173632f49d5396bb8e5b3c93673f9b5b98 SHA512 
a15fba8bf2ff02bdeca54d6f186bfa08c1079c6a8ba0a3beef154483ce5c1b8c497e7ffeec32371968f0037e0ff8384609eb0c367d0155a4e5a7eef8aad084d5
 WHIRLPOOL 
39d008aad06f7621e4e5db15f5e85a59e583b43f8d247029bd4944466bb60a9795bda157d185c45c329294078e282703a243aad5c468d90c77665dd6336870d4
 AUX gcc-spec-env-r1.patch 3148 SHA256 
da0a6442eb42bce58cbdc7858b110a2e65fc5bd5b4b780b9b491033de6e302fa SHA512 
ecae71577543772cfe1711f1b4a8815c0b5d706ebd01edacd1f07586637d4805e25771f970a6e6d1bb696d4b1b5ef3e0036088a96a9f6beff7ddaee704175d16
 WHIRLPOOL 
3535605998eabccdee71ba396ed5cefbb8b0a8cb073101f6444c7d01233f3b3904c1b29f4daf0a3417c68de8dbd62a0b7dc367cacfcbfa0c4ee1b69b7df8c6fb
@@ -160,6 +162,6 @@ EBUILD gcc-4.5.4.ebuild 7041 SHA256 
4d49f90f887d6a077289e17b654d1f7a955923884072
 EBUILD gcc-4.6.3.ebuild 7352 SHA256 
ca575e64bb85597e876d4bfe8895fbc86eacbe96005917b234884b59c86157a1 SHA512 
7f0bc77ed4eb4759f245af033dd76514bdb781a623ed71703e2e81d00d05a2ba6d64d07270d363b041a942986b9de124f606b6928391f2921eab3c1c64fff7ce
 WHIRLPOOL 
7e469e72721751660e342df41eadbe6af9bf1046a8b24341c1171e80b1ac277f1394765b10e154e66e5e8b88d0633d454a93af56303bd7f9a54ad19e017127e9
 EBUILD gcc-4.7.1.ebuild 7319 SHA256 
00fa53c1dbde1f7cf3d6bbe2167b6efa7894bfb24c3e6f61d78181186a8ad6e6 SHA512 
59e77f97c5439765a16b6d8c653bbde3688e2332a28b1c2ffa2be8745f4828f552448e00cb3293c0b004d6e474acb1ec328a89141f40d8e067e7538bd5613444
 WHIRLPOOL 
79783dffc3f9e1061b7e36235246ae5e38a81d1466d9dade0713405bd3b26f1ffa3ee48d92988e30b94650b1cac23e70683468cf2db53df85d6a61c88b812220
 EBUILD gcc-4.7.3.ebuild 2006 SHA256 
b1578b13fdbbd1ad3a492e5e0647c963b539b241d97f692c82e5702a28c93832 SHA512 
8ecd14ec0e22e2f7f491848c69509d5bf22042dc762e093006d90d87c72981fd0f2fad4a2d728136a0712b0c2d00cadf9264aa8ac7992b721182e682d04d8fe6
 WHIRLPOOL 
02edd5aa9da56a12ee8097f9b881da257d2ec35cb8c358ecdbd8ed467cdbe228358a97f50de7366d42cba5133d6f3592ee86592933344c05ade29be7aefc9fe5
-EBUILD gcc-4.9.2.ebuild 1522 SHA256 
5981353af8627a6468c1ce83dc24c932e5e4f1130c06b3d2d2ba082df902cc68 SHA512 
28a92f4a05cd41d85efb4071122d83a66f9f0593bf00c7b4070b64d4e974ccb643e48ce2580ef4c9b4bb1b381e171c32ffe72f5ab580bb0a405b3456dd3ccb74
 WHIRLPOOL 
05aee45edae6c08c89922aca128725c3912012d685cce8100cfd08f8ed98d6be3074ce2a6886e219e8da7f03720321ae30049b35fd8aee48ddb157485514ef58
+EBUILD gcc-4.9.2.ebuild 1598 SHA256 
7460ca1434afd83ad6864690c59f18547dce9fcacde30dfdd1ebee505b632ca8 SHA512 
9f1dc10c94f774a2c58c96aa877834ea6ce213393dbe04f5065cfafbb4c4194f0856890be7900183cf42f2c952928d19dd0da7a7bf02a9a5353c336fc193cfc1
 WHIRLPOOL 
464d86c27265b5ab19b9af8608a44d7322d546302f91279d0e7b9432ac7bace7170c1034cf5a36e629cdd28aeb998060e74891309518252afe1da5001dc8254b
 MISC ChangeLog 165527 SHA256 
afc6b5620b6f54646b5de780489b3bedc3be4fecef955555840da9bd77e7db0f SHA512 
7dbbb73644ba270c5534fc9e86a3e67ec220f792558b13522d1ad6c0ae0121dd1729d4bcdfedfa568e9f4abc98db21d02811913348de5e141423c08c9f33552a
 WHIRLPOOL 
a4553cf71e29cf99aecbf132d7764ad2eeae079fd2ccd8133dc2bdd279e400e58ad8fedf6880fb0688ed3b3c2cdffef275f9df4c8ee62bf772d0a8e70d3a0917
 MISC metadata.xml 2017 SHA256 
b8397e7ce9649b9086d020ee865f1ccd616b338cdae5be3d57494fd15748d132 SHA512 
231a34104c4c0fc8f2a2733572236d7638bc9e7241a6d60b90601f24204c2a7ae5d61d351c75179dce05b4e1b7e367b9ef4f8c6d19c58d3695f5e6cb15ab519a
 WHIRLPOOL 
01599d282637b293265f57c05a91447434d8bb33be54d6e89b8739e0f549b2045e4bc9fb6df8c7a6d0e7d6899b818b6f18454906a73edd529fc9ee57f212cce7

diff --git a/sys-devel/gcc/files/gcc-4.9.2-rap.patch 
b/sys-devel/gcc/files/gcc-4.9.2-rap.patch
new file mode 100644
index 0000000..136a689
--- /dev/null
+++ b/sys-devel/gcc/files/gcc-4.9.2-rap.patch
@@ -0,0 +1,535 @@
+Index: gcc-4.9.2/gcc/config/i386/linux64.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/i386/linux64.h
++++ gcc-4.9.2/gcc/config/i386/linux64.h
+@@ -27,6 +27,6 @@ see the files COPYING3 and COPYING.RUNTI
+ #define GNU_USER_LINK_EMULATION64 "elf_x86_64"
+ #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
+ 
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
+-#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
++#define GLIBC_DYNAMIC_LINKER32 DYNAMIC_LINKER_PREFIX "/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 DYNAMIC_LINKER_PREFIX 
"/lib64/ld-linux-x86-64.so.2"
++#define GLIBC_DYNAMIC_LINKERX32 DYNAMIC_LINKER_PREFIX 
"/libx32/ld-linux-x32.so.2"
+Index: gcc-4.9.2/gcc/config/arm/linux-eabi.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/arm/linux-eabi.h
++++ gcc-4.9.2/gcc/config/arm/linux-eabi.h
+@@ -68,8 +68,8 @@
+    GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI.  */
+ 
+ #undef  GLIBC_DYNAMIC_LINKER
+-#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-linux.so.3"
+-#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3"
++#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT DYNAMIC_LINKER_PREFIX 
"/lib/ld-linux.so.3"
++#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT DYNAMIC_LINKER_PREFIX 
"/lib/ld-linux-armhf.so.3"
+ #define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT
+ 
+ #define GLIBC_DYNAMIC_LINKER \
+Index: gcc-4.9.2/gcc/config/i386/linux.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/i386/linux.h
++++ gcc-4.9.2/gcc/config/i386/linux.h
+@@ -20,4 +20,4 @@ along with GCC; see the file COPYING3.
+ <http://www.gnu.org/licenses/>.  */
+ 
+ #define GNU_USER_LINK_EMULATION "elf_i386"
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/lib/ld-linux.so.2"
+Index: gcc-4.9.2/gcc/config.in
+===================================================================
+--- gcc-4.9.2.orig/gcc/config.in
++++ gcc-4.9.2/gcc/config.in
+@@ -39,6 +39,12 @@
+ #endif
+ 
+ 
++/* root directory of the dynamic linker */
++#ifndef USED_FOR_TARGET
++#undef DYNAMIC_LINKER_PREFIX
++#endif
++
++
+ /* Define if you want assertions enabled. This is a cheap check. */
+ #ifndef USED_FOR_TARGET
+ #undef ENABLE_ASSERT_CHECKING
+Index: gcc-4.9.2/gcc/configure
+===================================================================
+--- gcc-4.9.2.orig/gcc/configure
++++ gcc-4.9.2/gcc/configure
+@@ -894,6 +894,7 @@ enable_objc_gc
+ with_dwarf2
+ enable_shared
+ with_native_system_header_dir
++with_dynamic_linker_prefix
+ with_build_sysroot
+ with_sysroot
+ with_specs
+@@ -1682,6 +1683,8 @@ Optional Packages:
+   --with-native-system-header-dir=dir
+                           use dir as the directory to look for standard
+                           system header files in.  Defaults to /usr/include.
++  --with-dynamic-linker-prefix=dir
++                          use dir as the root directory of the dynamic linker.
+   --with-build-sysroot=sysroot
+                           use sysroot as the system root during the build
+   --with-sysroot[=DIR]    search for usr/lib, usr/include, et al, within DIR
+@@ -7154,6 +7157,22 @@ fi
+ 
+ 
+ 
++# Check whether --with-dynamic-linker-prefix was given.
++if test "${with_dynamic_linker_prefix+set}" = set; then :
++  withval=$with_dynamic_linker_prefix; if test x"$withval" != x ; then
++     DYNAMIC_LINKER_PREFIX="$withval"
++  fi
++else
++  DYNAMIC_LINKER_PREFIX=
++fi
++
++
++cat >>confdefs.h <<_ACEOF
++#define DYNAMIC_LINKER_PREFIX "$DYNAMIC_LINKER_PREFIX"
++_ACEOF
++
++
++
+ # Check whether --with-build-sysroot was given.
+ if test "${with_build_sysroot+set}" = set; then :
+   withval=$with_build_sysroot; if test x"$withval" != x ; then
+@@ -17936,7 +17955,7 @@ else
+   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+   lt_status=$lt_dlunknown
+   cat > conftest.$ac_ext <<_LT_EOF
+-#line 17939 "configure"
++#line 17958 "configure"
+ #include "confdefs.h"
+ 
+ #if HAVE_DLFCN_H
+@@ -18042,7 +18061,7 @@ else
+   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+   lt_status=$lt_dlunknown
+   cat > conftest.$ac_ext <<_LT_EOF
+-#line 18045 "configure"
++#line 18064 "configure"
+ #include "confdefs.h"
+ 
+ #if HAVE_DLFCN_H
+Index: gcc-4.9.2/gcc/configure.ac
+===================================================================
+--- gcc-4.9.2.orig/gcc/configure.ac
++++ gcc-4.9.2/gcc/configure.ac
+@@ -751,6 +751,16 @@ AC_ARG_WITH([native-system-header-dir],
+  configured_native_system_header_dir="${withval}"
+ ], [configured_native_system_header_dir=])
+ 
++AC_ARG_WITH([dynamic-linker-prefix],
++  [AS_HELP_STRING([--with-dynamic-linker-prefix=dir],
++                  [use dir as the root directory of the dynamic linker.])],
++  [if test x"$withval" != x ; then
++     DYNAMIC_LINKER_PREFIX="$withval"
++  fi],
++  [DYNAMIC_LINKER_PREFIX=])
++AC_DEFINE_UNQUOTED(DYNAMIC_LINKER_PREFIX, "$DYNAMIC_LINKER_PREFIX",
++                   [root directory of the dynamic linker])
++
+ AC_ARG_WITH(build-sysroot, 
+   [AS_HELP_STRING([--with-build-sysroot=sysroot],
+                   [use sysroot as the system root during the build])],
+Index: gcc-4.9.2/gcc/config/aarch64/aarch64-linux.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/aarch64/aarch64-linux.h
++++ gcc-4.9.2/gcc/config/aarch64/aarch64-linux.h
+@@ -21,7 +21,7 @@
+ #ifndef GCC_AARCH64_LINUX_H
+ #define GCC_AARCH64_LINUX_H
+ 
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}.so.1"
++#define GLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX 
"/lib/ld-linux-aarch64%{mbig-endian:_be}.so.1"
+ 
+ #define CPP_SPEC "%{pthread:-D_REENTRANT}"
+ 
+Index: gcc-4.9.2/gcc/config/alpha/linux-elf.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/alpha/linux-elf.h
++++ gcc-4.9.2/gcc/config/alpha/linux-elf.h
+@@ -24,7 +24,7 @@ along with GCC; see the file COPYING3.
+ { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
+ 
+ #define GLIBC_DYNAMIC_LINKER  "/lib/ld-linux.so.2"
+-#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/lib/ld-uClibc.so.0"
+ #if DEFAULT_LIBC == LIBC_UCLIBC
+ #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
+ #elif DEFAULT_LIBC == LIBC_GLIBC
+Index: gcc-4.9.2/gcc/config/arm/linux-elf.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/arm/linux-elf.h
++++ gcc-4.9.2/gcc/config/arm/linux-elf.h
+@@ -62,7 +62,7 @@
+ 
+ #define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
+ 
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/lib/ld-linux.so.2"
+ 
+ #define LINUX_TARGET_LINK_SPEC  "%{h*} \
+    %{static:-Bstatic} \
+Index: gcc-4.9.2/gcc/config/c6x/uclinux-elf.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/c6x/uclinux-elf.h
++++ gcc-4.9.2/gcc/config/c6x/uclinux-elf.h
+@@ -36,7 +36,7 @@
+ #define STARTFILE_SPEC \
+   "%{!shared:crt1%O%s} crti%O%s %{shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
+ 
+-#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/lib/ld-uClibc.so.0"
+ 
+ #undef LINK_SPEC
+ #define LINK_SPEC ENDIAN_LINK_SPEC \
+Index: gcc-4.9.2/gcc/config/cris/linux.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/cris/linux.h
++++ gcc-4.9.2/gcc/config/cris/linux.h
+@@ -102,7 +102,7 @@ along with GCC; see the file COPYING3.
+ #undef CRIS_DEFAULT_CPU_VERSION
+ #define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
+ 
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
++#define GLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/lib/ld.so.1"
+ 
+ #undef CRIS_LINK_SUBTARGET_SPEC
+ #define CRIS_LINK_SUBTARGET_SPEC \
+Index: gcc-4.9.2/gcc/config/freebsd-spec.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/freebsd-spec.h
++++ gcc-4.9.2/gcc/config/freebsd-spec.h
+@@ -128,9 +128,9 @@ is built with the --enable-threads confi
+ #endif
+ 
+ #if FBSD_MAJOR < 6
+-#define FBSD_DYNAMIC_LINKER "/usr/libexec/ld-elf.so.1"
++#define FBSD_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/usr/libexec/ld-elf.so.1"
+ #else
+-#define FBSD_DYNAMIC_LINKER "/libexec/ld-elf.so.1"
++#define FBSD_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/libexec/ld-elf.so.1"
+ #endif
+ 
+ /* NOTE: The freebsd-spec.h header is included also for various
+Index: gcc-4.9.2/gcc/config/frv/linux.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/frv/linux.h
++++ gcc-4.9.2/gcc/config/frv/linux.h
+@@ -34,7 +34,7 @@
+ #define ENDFILE_SPEC \
+   "%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
+ 
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
++#define GLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/lib/ld.so.1"
+ 
+ #undef LINK_SPEC
+ #define LINK_SPEC "\
+Index: gcc-4.9.2/gcc/config/i386/gnu.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/i386/gnu.h
++++ gcc-4.9.2/gcc/config/i386/gnu.h
+@@ -22,7 +22,7 @@ along with GCC.  If not, see <http://www
+ #define GNU_USER_LINK_EMULATION "elf_i386"
+ 
+ #undef GNU_USER_DYNAMIC_LINKER
+-#define GNU_USER_DYNAMIC_LINKER "/lib/ld.so"
++#define GNU_USER_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/lib/ld.so"
+ 
+ #undef        STARTFILE_SPEC
+ #if defined HAVE_LD_PIE
+Index: gcc-4.9.2/gcc/config/i386/kfreebsd-gnu64.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/i386/kfreebsd-gnu64.h
++++ gcc-4.9.2/gcc/config/i386/kfreebsd-gnu64.h
+@@ -22,6 +22,6 @@ along with GCC; see the file COPYING3.
+ #define GNU_USER_LINK_EMULATION64 "elf_x86_64_fbsd"
+ #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64_fbsd"
+ 
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-kfreebsd-x86-64.so.1"
+-#define GLIBC_DYNAMIC_LINKERX32 "/lib/ld-kfreebsd-x32.so.1"
++#define GLIBC_DYNAMIC_LINKER32 DYNAMIC_LINKER_PREFIX "/lib/ld.so.1"
++#define GLIBC_DYNAMIC_LINKER64 DYNAMIC_LINKER_PREFIX 
"/lib/ld-kfreebsd-x86-64.so.1"
++#define GLIBC_DYNAMIC_LINKERX32 DYNAMIC_LINKER_PREFIX 
"/lib/ld-kfreebsd-x32.so.1"
+Index: gcc-4.9.2/gcc/config/i386/kfreebsd-gnu.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/i386/kfreebsd-gnu.h
++++ gcc-4.9.2/gcc/config/i386/kfreebsd-gnu.h
+@@ -19,4 +19,4 @@ along with GCC; see the file COPYING3.
+ <http://www.gnu.org/licenses/>.  */
+ 
+ #define GNU_USER_LINK_EMULATION "elf_i386_fbsd"
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
++#define GLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/lib/ld.so.1"
+Index: gcc-4.9.2/gcc/config/ia64/linux.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/ia64/linux.h
++++ gcc-4.9.2/gcc/config/ia64/linux.h
+@@ -55,7 +55,7 @@ do {                                         \
+ /* Define this for shared library support because it isn't in the main
+    linux.h file.  */
+ 
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
++#define GLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/lib/ld-linux-ia64.so.2"
+ 
+ #undef LINK_SPEC
+ #define LINK_SPEC "\
+Index: gcc-4.9.2/gcc/config/knetbsd-gnu.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/knetbsd-gnu.h
++++ gcc-4.9.2/gcc/config/knetbsd-gnu.h
+@@ -32,4 +32,4 @@ along with GCC; see the file COPYING3.
+ 
+ 
+ #undef GNU_USER_DYNAMIC_LINKER
+-#define GNU_USER_DYNAMIC_LINKER "/lib/ld.so.1"
++#define GNU_USER_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/lib/ld.so.1"
+Index: gcc-4.9.2/gcc/config/kopensolaris-gnu.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/kopensolaris-gnu.h
++++ gcc-4.9.2/gcc/config/kopensolaris-gnu.h
+@@ -31,4 +31,4 @@ along with GCC; see the file COPYING3.
+   while (0)
+ 
+ #undef GNU_USER_DYNAMIC_LINKER
+-#define GNU_USER_DYNAMIC_LINKER "/lib/ld.so.1"
++#define GNU_USER_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/lib/ld.so.1"
+Index: gcc-4.9.2/gcc/config/linux.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/linux.h
++++ gcc-4.9.2/gcc/config/linux.h
+@@ -73,11 +73,11 @@ see the files COPYING3 and COPYING.RUNTI
+    GLIBC_DYNAMIC_LINKER must be defined for each target using them, or
+    GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
+    supporting both 32-bit and 64-bit compilation.  */
+-#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/lib/ld-uClibc.so.0"
+ #define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
+ #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
+ #define UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0"
+-#define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
++#define BIONIC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/system/bin/linker"
+ #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker"
+ #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64"
+ #define BIONIC_DYNAMIC_LINKERX32 "/system/bin/linkerx32"
+Index: gcc-4.9.2/gcc/config/m32r/linux.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/m32r/linux.h
++++ gcc-4.9.2/gcc/config/m32r/linux.h
+@@ -37,7 +37,7 @@
+    When the -shared link option is used a final link is not being
+    done.  */
+ 
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/lib/ld-linux.so.2"
+ 
+ #undef        LINK_SPEC
+ #if TARGET_LITTLE_ENDIAN
+Index: gcc-4.9.2/gcc/config/m68k/linux.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/m68k/linux.h
++++ gcc-4.9.2/gcc/config/m68k/linux.h
+@@ -71,7 +71,7 @@ along with GCC; see the file COPYING3.
+    When the -shared link option is used a final link is not being
+    done.  */
+ 
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
++#define GLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/lib/ld.so.1"
+ 
+ #undef LINK_SPEC
+ #define LINK_SPEC "-m m68kelf %{shared} \
+Index: gcc-4.9.2/gcc/config/microblaze/linux.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/microblaze/linux.h
++++ gcc-4.9.2/gcc/config/microblaze/linux.h
+@@ -25,7 +25,7 @@
+ #undef TLS_NEEDS_GOT
+ #define TLS_NEEDS_GOT 1
+ 
+-#define DYNAMIC_LINKER "/lib/ld.so.1"
++#define DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/lib/ld.so.1"
+ #undef  SUBTARGET_EXTRA_SPECS
+ #define SUBTARGET_EXTRA_SPECS \
+   { "dynamic_linker", DYNAMIC_LINKER }
+Index: gcc-4.9.2/gcc/config/mips/linux64.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/mips/linux64.h
++++ gcc-4.9.2/gcc/config/mips/linux64.h
+@@ -38,7 +38,7 @@ along with GCC; see the file COPYING3.
+ #define UCLIBC_DYNAMIC_LINKERN32 \
+   "%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib32/ld-uClibc.so.0}"
+ 
+-#define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
++#define BIONIC_DYNAMIC_LINKERN32 DYNAMIC_LINKER_PREFIX "/system/bin/linker32"
+ #define GNU_USER_DYNAMIC_LINKERN32 \
+   CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \
+                        BIONIC_DYNAMIC_LINKERN32)
+Index: gcc-4.9.2/gcc/config/mn10300/linux.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/mn10300/linux.h
++++ gcc-4.9.2/gcc/config/mn10300/linux.h
+@@ -32,7 +32,7 @@
+ #undef  ASM_SPEC
+ #define ASM_SPEC ""
+ 
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
++#define GLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/lib/ld.so.1"
+ 
+ #undef  LINK_SPEC
+ #define LINK_SPEC "%{mrelax:--relax} %{shared:-shared} \
+Index: gcc-4.9.2/gcc/config/nios2/linux.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/nios2/linux.h
++++ gcc-4.9.2/gcc/config/nios2/linux.h
+@@ -26,7 +26,7 @@
+     }                                           \
+   while (0)
+ 
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-nios2.so.1"
++#define GLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/lib/ld-linux-nios2.so.1"
+ 
+ #undef LINK_SPEC
+ #define LINK_SPEC LINK_SPEC_ENDIAN \
+Index: gcc-4.9.2/gcc/config/pa/pa-linux.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/pa/pa-linux.h
++++ gcc-4.9.2/gcc/config/pa/pa-linux.h
+@@ -40,7 +40,7 @@ along with GCC; see the file COPYING3.
+ /* Define this for shared library support because it isn't in the main
+    linux.h file.  */
+ 
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
++#define GLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/lib/ld.so.1"
+ 
+ #undef LINK_SPEC
+ #define LINK_SPEC "\
+Index: gcc-4.9.2/gcc/config/rs6000/freebsd64.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/rs6000/freebsd64.h
++++ gcc-4.9.2/gcc/config/rs6000/freebsd64.h
+@@ -154,8 +154,8 @@ extern int dot_symbols;
+   { "link_os_freebsd_spec32", LINK_OS_FREEBSD_SPEC32 },               \
+   { "link_os_freebsd_spec64", LINK_OS_FREEBSD_SPEC64 },
+ 
+-#define FREEBSD_DYNAMIC_LINKER32 "/libexec/ld-elf32.so.1"
+-#define FREEBSD_DYNAMIC_LINKER64 "/libexec/ld-elf.so.1"
++#define FREEBSD_DYNAMIC_LINKER32 DYNAMIC_LINKER_PREFIX 
"/libexec/ld-elf32.so.1"
++#define FREEBSD_DYNAMIC_LINKER64 DYNAMIC_LINKER_PREFIX "/libexec/ld-elf.so.1"
+ 
+ #define LINK_OS_FREEBSD_SPEC_DEF32 "\
+   %{p:%nconsider using `-pg' instead of `-p' with gprof(1)} \
+Index: gcc-4.9.2/gcc/config/rs6000/linux64.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/rs6000/linux64.h
++++ gcc-4.9.2/gcc/config/rs6000/linux64.h
+@@ -367,14 +367,14 @@ extern int dot_symbols;
+ #undef        LINK_OS_DEFAULT_SPEC
+ #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
+ 
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
++#define GLIBC_DYNAMIC_LINKER32 DYNAMIC_LINKER_PREFIX "/lib/ld.so.1"
+ #ifdef LINUX64_DEFAULT_ABI_ELFv2
+-#define GLIBC_DYNAMIC_LINKER64 
"%{mabi=elfv1:/lib64/ld64.so.1;:/lib64/ld64.so.2}"
++#define GLIBC_DYNAMIC_LINKER64 DYNAMIC_LINKER_PREFIX 
"%{mabi=elfv1:/lib64/ld64.so.1;:/lib64/ld64.so.2}"
+ #else
+-#define GLIBC_DYNAMIC_LINKER64 
"%{mabi=elfv2:/lib64/ld64.so.2;:/lib64/ld64.so.1}"
++#define GLIBC_DYNAMIC_LINKER64 DYNAMIC_LINKER_PREFIX 
"%{mabi=elfv2:/lib64/ld64.so.2;:/lib64/ld64.so.1}"
+ #endif
+-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
+-#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKER32 DYNAMIC_LINKER_PREFIX "/lib/ld-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKER64 DYNAMIC_LINKER_PREFIX "/lib/ld64-uClibc.so.0"
+ #if DEFAULT_LIBC == LIBC_UCLIBC
+ #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
+ #elif DEFAULT_LIBC == LIBC_GLIBC
+Index: gcc-4.9.2/gcc/config/rs6000/sysv4.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/rs6000/sysv4.h
++++ gcc-4.9.2/gcc/config/rs6000/sysv4.h
+@@ -761,8 +761,8 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEF
+ 
+ #define LINK_START_LINUX_SPEC ""
+ 
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
+-#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
++#define GLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/lib/ld.so.1"
++#define UCLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/lib/ld-uClibc.so.0"
+ #if DEFAULT_LIBC == LIBC_UCLIBC
+ #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
+ #elif !defined (DEFAULT_LIBC) || DEFAULT_LIBC == LIBC_GLIBC
+Index: gcc-4.9.2/gcc/config/s390/linux.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/s390/linux.h
++++ gcc-4.9.2/gcc/config/s390/linux.h
+@@ -60,8 +60,8 @@ along with GCC; see the file COPYING3.
+ #define MULTILIB_DEFAULTS { "m31" }
+ #endif
+ 
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib/ld64.so.1"
++#define GLIBC_DYNAMIC_LINKER32 DYNAMIC_LINKER_PREFIX "/lib/ld.so.1"
++#define GLIBC_DYNAMIC_LINKER64 DYNAMIC_LINKER_PREFIX "/lib/ld64.so.1"
+ 
+ #undef  LINK_SPEC
+ #define LINK_SPEC \
+Index: gcc-4.9.2/gcc/config/sh/linux.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/sh/linux.h
++++ gcc-4.9.2/gcc/config/sh/linux.h
+@@ -43,7 +43,7 @@ along with GCC; see the file COPYING3.
+ 
+ #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
+ 
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/lib/ld-linux.so.2"
+ 
+ #undef SUBTARGET_LINK_EMUL_SUFFIX
+ #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
+Index: gcc-4.9.2/gcc/config/sparc/linux64.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/sparc/linux64.h
++++ gcc-4.9.2/gcc/config/sparc/linux64.h
+@@ -92,8 +92,8 @@ along with GCC; see the file COPYING3.
+    When the -shared link option is used a final link is not being
+    done.  */
+ 
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER32 DYNAMIC_LINKER_PREFIX "/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 DYNAMIC_LINKER_PREFIX "/lib64/ld-linux.so.2"
+ 
+ #ifdef SPARC_BI_ARCH
+ 
+Index: gcc-4.9.2/gcc/config/sparc/linux.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/sparc/linux.h
++++ gcc-4.9.2/gcc/config/sparc/linux.h
+@@ -83,7 +83,7 @@ extern const char *host_detect_local_cpu
+    When the -shared link option is used a final link is not being
+    done.  */
+ 
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/lib/ld-linux.so.2"
+ 
+ #undef  LINK_SPEC
+ #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
+Index: gcc-4.9.2/gcc/config/xtensa/linux.h
+===================================================================
+--- gcc-4.9.2.orig/gcc/config/xtensa/linux.h
++++ gcc-4.9.2/gcc/config/xtensa/linux.h
+@@ -44,7 +44,7 @@ along with GCC; see the file COPYING3.
+   %{mlongcalls:--longcalls} \
+   %{mno-longcalls:--no-longcalls}"
+ 
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
++#define GLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/lib/ld.so.1"
+ 
+ #undef LINK_SPEC
+ #define LINK_SPEC \

diff --git a/sys-devel/gcc/gcc-4.9.2.ebuild b/sys-devel/gcc/gcc-4.9.2.ebuild
index ad3324d..89592c6 100644
--- a/sys-devel/gcc/gcc-4.9.2.ebuild
+++ b/sys-devel/gcc/gcc-4.9.2.ebuild
@@ -41,9 +41,10 @@ src_prepare() {
        fi
 
        if use rap; then
-               epatch "${FILESDIR}"/gcc-4.7-rap.patch
+               epatch "${FILESDIR}"/${P}-rap.patch
                prefix_gcc_dynamic_loader
        fi
+       EXTRA_ECONF="${EXTRA_ECONF} $(use_with rap dynamic-linker-prefix 
${EPREFIX})"
 
        toolchain_src_prepare
 

Reply via email to