Add support for the "include" keyword in ld.so.conf #304843 by Nico R.
authorMike Frysinger <vapier@gentoo.org>
Fri, 19 Mar 2010 23:53:07 +0000 (23:53 +0000)
committerMike Frysinger <vapier@gentoo.org>
Fri, 19 Mar 2010 23:53:07 +0000 (23:53 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64

sys-devel/gcc/ChangeLog
sys-devel/gcc/Manifest
sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la

index 8cfe1a7ec5bd067d5c9087ca19b97ad26901d141..26ce73d49c7ef853912c8a7573923ae20ed5da0e 100644 (file)
@@ -1,6 +1,10 @@
 # ChangeLog for sys-devel/gcc
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.743 2010/03/03 18:42:01 solar Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/ChangeLog,v 1.744 2010/03/19 23:53:06 vapier Exp $
+
+  19 Mar 2010; Mike Frysinger <vapier@gentoo.org>
+  files/awk/fixlafiles.awk-no_gcc_la:
+  Add support for the "include" keyword in ld.so.conf #304843 by Nico R.
 
   03 Mar 2010; <solar@gentoo.org> gcc-4.3.4.ebuild:
   - add armv7 patch to gcc-4.3.4 to keep stable from breaking due to a
index 568b130eb398ca3178fe097402e6712aea38c9b5..eacd534bdefef66b19f64ef7a8efb284dc492788 100644 (file)
@@ -1,3 +1,6 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
 AUX 3.2.1/gcc31-loop-load-final-value.patch 3324 RMD160 8bb0e9133923821daf2e9d10a27a0a1930e00bbd SHA1 c73dc6e19a76a1dcbb11a15ff5ff04b11a9f0343 SHA256 70aa8433fb19c95f334b6cbc155cae22a3b61a6892ed9e18f95860509d0091a8
 AUX 3.2.1/gcc32-arm-disable-mathf.patch 2229 RMD160 40c451d6912473ba39adb72e91d6f507c1045a38 SHA1 6a74ff0312caf8a0ead67dd7aef8d32897cc5d6b SHA256 808368680a4635cdf46844e63342a8ca387769b2323ef99f90530d3bbc622587
 AUX 3.2.1/gcc32-arm-reload1-fix.patch 932 RMD160 c681e89ab44626068c0fcda6c929fe4888584c6f SHA1 72589641cb8e7b411a81d08fd5acd768c5a72f5d SHA256 d1158fa35b98cf72565e9b12cfd3f92a1eb14f0abfc5bf86d5990792cf1fefc3
@@ -37,7 +40,7 @@ AUX 4.1.0/gcc-4.1.0-fast-math-i386-Os-workaround.patch 1686 RMD160 420e02e85e261
 AUX 4.3.2/gcc-4.3.2-softfloat.patch 2800 RMD160 91babb0f61511d8936c4e1dd201c710dd29073a6 SHA1 97b5a6d3251a7a74c6602a36b8b7644c48887cbb SHA256 ab09b2c794b3afd7da3c7ee5a12ed235265334a5fa57f8971bbd6c82dd17f243
 AUX 4.4.0/gcc-4.4.0-softfloat.patch 2833 RMD160 3f6d8e13047cca3b3e5ede47e79d996f59290fbd SHA1 a72b456736485821d3579dd455941d3379af0057 SHA256 ddb7b8d9770f64a32096a32c4f5ad2571ffcafe617991b492e7eee823878c4fc
 AUX awk/fixlafiles.awk 7807 RMD160 749402c9c0a0f1e8755067c0e001f69d73edb09f SHA1 5fc91ce11eb93e989ae64470dba602fe534ac409 SHA256 3cae4890a295adef50c6cf8a7e14d1be4e7a2356479c073e5c29433c3cdf9c5c
-AUX awk/fixlafiles.awk-no_gcc_la 8556 RMD160 3afa96dbd24f15184fb3bef51c42244d2deba3c1 SHA1 f508fff289aa4d61857e00a6f8391ff4ecfa6e8b SHA256 0f425f8247e532eefd1ef909752d22607505e7c30df15cf40365e1171262eecd
+AUX awk/fixlafiles.awk-no_gcc_la 8596 RMD160 d34279d732586514b220ec0d583c5e634b5d97ef SHA1 95f07ff4d6c3196e682371f02e6d2207d921a1b5 SHA256 91e36c29133b6ff854bc84acd6cd2e9d07be6eaa73ef9b23e4f7bc6371107fab
 AUX c89 412 RMD160 2b54e526a76ff0b2e0e8f4f7f9d6949ac45806fa SHA1 6f6ed5affc4ae906c5d8cbdda557d5bbf683d861 SHA256 29ad5dd697135c2892067e780447894dc1cd071708157e46d21773ab99c5022c
 AUX c99 446 RMD160 04ecc9ef9b7a1fd525768955ff6a67fc0d5a17f7 SHA1 312b3b47490d9f62656706908112f9331bc509a4 SHA256 057b348cf5be9b4fb9db99a4549f6433c89d21e5f91dc5e46b0b4dc6b70432f5
 AUX fix_libtool_files.sh 1735 RMD160 5035cd4a9995ea6207a8de95815921c3939395bd SHA1 57cd1babab4c6b142dd8cc58b36943442ff2af13 SHA256 b8d86b1db9453dff4c62b3467887bf1e04ecb483120185102122bda2581ed3f5
@@ -130,5 +133,12 @@ EBUILD gcc-4.3.4.ebuild 2316 RMD160 11431a399c7b497ebc72bf7b492ca8516741bd1d SHA
 EBUILD gcc-4.4.1.ebuild 2360 RMD160 8ffd86aa6425a5ea656eb01bafc98a7461f6a6e9 SHA1 63b2ee296095933741b415afc8477f5c9c55ab7e SHA256 9a92aef55532dcf79669b7be80670d11f75409589a31bc781297f31da54ae55e
 EBUILD gcc-4.4.2.ebuild 2359 RMD160 dd8b88dc346c1d07c08979e3f085a249d75b1e97 SHA1 3effd9b00e040b3d8062b075923a8a3834a92dbe SHA256 68293c4c4e01b5ed9688746f3bd23f12fb35df71a63901f54409b6d5be0cbceb
 EBUILD gcc-4.4.3.ebuild 2362 RMD160 dcb7e675c30d26fbc714fb27a4935773b74b8bc1 SHA1 da0c26e43e3a10829c345260e834504b36534eee SHA256 bf25a37a1461a1c9e269c926896a8f54490a37a33a4527965cfe4bd37a4eae24
-MISC ChangeLog 131711 RMD160 9291a21a46d29bf325b9748ff008f3f5e6c19d02 SHA1 5cdb1198256e6f12b50b4c503070fbb263178d5a SHA256 4bade38cddd86f78ec933968bb3d1c4d7878ef471eb3eb931e68c17ce1d6380a
+MISC ChangeLog 131874 RMD160 32b5159fd334d0fd2710181ba61f08ccf108e3ae SHA1 ad574db2505de41ed6a57a0157768bf16599ab66 SHA256 e1f7f243b873c5dfa0253bf175b3878ed462962202f1d03cbee16efcfeb90ab2
 MISC metadata.xml 1610 RMD160 de3ea2135f71f26100df1cc2c94f969f4fb58a10 SHA1 257abaaec0d10ed04c943b4db78f97833c6303ba SHA256 e0d36c00b5814e330850f731e2a4af8f9a1b77fde6499ce3964b7995520b13f6
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.14 (GNU/Linux)
+
+iF4EAREIAAYFAkukDmUACgkQTwhj9JtAlp4AHwEAjyC3xkBw+BXjM4L0eTw2ozJh
+bvQmMEtRhgZ/5GM5pzUBAI4NwtRZ2aOHxVHGJ52eHIiWr5Pj8aEtyeG6ytv0eJ5X
+=veSk
+-----END PGP SIGNATURE-----
index 855b23d44cb53e8714898f1ef1b66bd1adfb3e60..346bd16f0d454eb691969f4153fa7dd6794d05ab 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2005 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la,v 1.3 2009/03/31 07:59:19 drizzt Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/files/awk/fixlafiles.awk-no_gcc_la,v 1.4 2010/03/19 23:53:07 vapier Exp $
 
 #
 # Helper functions
@@ -50,6 +50,54 @@ function dosystem(command, ret) {
                return 0
 }
 
+#
+# parse_ld_conf(config_file)
+#
+function parse_ld_conf(conf,    pipe, ldsoconf_data, CHILD, y) {
+       pipe = "cd /etc; cat " conf " | sort 2>/dev/null"
+       while(((pipe) | getline ldsoconf_data) > 0) {
+               if (ldsoconf_data ~ /^[[:space:]]*#/)
+                       continue
+               if (ldsoconf_data == "")
+                       continue
+
+               # Handle the "include" keyword
+               if (ldsoconf_data ~ /^include /) {
+                       sub(/^include /, "", ldsoconf_data)
+                       parse_ld_conf(ldsoconf_data)
+                       continue
+               }
+
+               # Remove any trailing comments
+               sub(/#.*$/, "", ldsoconf_data)
+               # Remove any trailing spaces
+               sub(/[[:space:]]+$/, "", ldsoconf_data)
+               # Eat duplicate slashes
+               sub(/\/\//, "/", ldsoconf_data)
+               # Prune trailing /
+               sub(/\/$/, "", ldsoconf_data)
+
+               #
+               # Drop the directory if its a child directory of
+               # one that was already added ...
+               # For example, if we have:
+               #   /usr/lib /usr/libexec /usr/lib/mozilla /usr/lib/nss
+               # We really just want to save /usr/lib /usr/libexec
+               #
+               CHILD = 0
+               for (y in DIRLIST) {
+                       if (ldsoconf_data ~ "^" DIRLIST[y] "(/|$)") {
+                               CHILD = 1
+                               break
+                       }
+               }
+               if (CHILD) continue
+
+               DIRLIST[++LIBCOUNT] = ldsoconf_data
+       }
+       close(pipe)
+}
+
 BEGIN {
        #
        # Get our variables from environment
@@ -71,50 +119,7 @@ BEGIN {
        #
        # Walk /etc/ld.so.conf to discover all our library paths
        #
-       pipe = "cat /etc/ld.so.conf | sort 2>/dev/null"
-       while(((pipe) | getline ldsoconf_data) > 0) {
-               if (ldsoconf_data !~ /^[[:space:]]*#/) {
-                       if (ldsoconf_data == "") continue
-
-                       # Remove any trailing comments
-                       sub(/#.*$/, "", ldsoconf_data)
-                       # Remove any trailing spaces
-                       sub(/[[:space:]]+$/, "", ldsoconf_data)
-
-                       # If there's more than one path per line, split 
-                       # it up as if they were sep lines
-                       split(ldsoconf_data, nodes, /[:,[:space:]]/)
-
-                       # Now add the rest from ld.so.conf
-                       for (x in nodes) {
-                               # wtf does this line do ?
-                               sub(/=.*/, "", nodes[x])
-                               # Prune trailing /
-                               sub(/\/$/, "", nodes[x])
-
-                               if (nodes[x] == "") continue
-
-                               #
-                               # Drop the directory if its a child directory of
-                               # one that was already added ...
-                               # For example, if we have:
-                               #   /usr/lib /usr/libexec /usr/lib/mozilla /usr/lib/nss
-                               # We really just want to save /usr/lib /usr/libexec
-                               #
-                               CHILD = 0
-                               for (y in DIRLIST) {
-                                       if (nodes[x] ~ "^" DIRLIST[y] "(/|$)") {
-                                               CHILD = 1
-                                               break
-                                       }
-                               }
-                               if (CHILD) continue
-
-                               DIRLIST[++LIBCOUNT] = nodes[x]
-                       }
-               }
-       }
-       close(pipe)
+       parse_ld_conf("/etc/ld.so.conf")
 
        #
        # Get line from gcc's output containing CHOST