preserve-libs: list executables in NEEDED.XCOFF.1 too
authorMichael Haubenwallner <haubi@gentoo.org>
Fri, 1 Jul 2011 19:06:51 +0000 (21:06 +0200)
committerFabian Groffen <grobian@gentoo.org>
Fri, 1 Jul 2011 19:06:51 +0000 (21:06 +0200)
Do not prepend filenames with '.' twice when calculating the
preserve-lib helper-filenames. Can't say which commit triggers this
problem, as this did work before.

bin/misc-functions.sh
pym/portage/util/_dyn_libs/LinkageMapXCoff.py

index bfb6b031aa338ac808682535714419b9afd7f9cb..5b4ff8af3b0d8c86ac611383a6a43f12fb206c57 100644 (file)
@@ -1189,7 +1189,9 @@ install_qa_check_xcoff() {
                        fi
                        prev_FILE=${FILE}
 
-                       [[ " ${FLAGS} " == *" SHROBJ "* ]] || continue
+                       # shared objects have both EXEC and SHROBJ flags,
+                       # while executables have EXEC flag only.
+                       [[ " ${FLAGS} " == *" EXEC "* ]] || continue
 
                        # Make sure we disallow insecure RUNPATH's
                        # Don't want paths that point to the tree where the package was built
index 782cc542d7362a8148550d9145b6227bde73ab1a..92596025779f9008e1dfef382a14c1c25b2de9eb 100644 (file)
@@ -255,7 +255,11 @@ class LinkageMapXCoff(LinkageMapELF):
                        def as_contentmember(obj):
                                if obj.endswith("]"):
                                        if obj.find("/") >= 0:
+                                               if obj[obj.rfind("/")+1] == ".":
+                                                       return obj
                                                return obj[:obj.rfind("/")] + "/." + obj[obj.rfind("/")+1:]
+                                       if obj[0] == ".":
+                                               return obj
                                        return "." + obj
                                return obj