Subject: pkg/27702: buildlink can mangle path for dynamic libraries (IRIX 5)
To: None <gnats-bugs@gnats.NetBSD.org>
From: None <georg.schwarz@freenet.de>
List: pkgsrc-bugs
Date: 10/30/2004 15:02:19
>Number:         27702
>Category:       pkg
>Synopsis:       buildlink can mangle path for dynamic libraries (IRIX 5)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Oct 30 15:03:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     Georg Schwarz
>Release:        current pkgsrc
>Organization:
>Environment:
IRIX lorenz 5.3 08031225 IP20 mips
>Description:
IRIX 5 uses, among others, -Wl,-rpath -Wl,LIBDIR to add a non-standard path for dynamic libraries to executables. LIBDIR can be a list of directories separated by :'s. 
Since mk/wrapper/arg-source does not take this into account, such paths are mangeled by buildlink.
>How-To-Repeat:

>Fix:
--- arg-source.orig     2004-10-24 13:32:41.000000000 +0100
+++ arg-source  2004-10-30 07:54:19.000000000 +0100
@@ -60,16 +60,17 @@
                ;;
        ##############################################################
        # Split "-Wl,-R/dir1:/dir2" into "-Wl,-R/dir1 -Wl,-R/dir2".
-       # Same for -Wl,-rpath and -Wl,-rpath-link.
+       # Same for -Wl,-rpath, -Wl,-rpath-link, -Wl,--rpath, and
+       # -Wl,.
        ##############################################################
-       -R*:*|-Wl,-R*:*|\
-       -Wl,-rpath,*:*|-Wl,-rpath-link,*:*|-Wl,--rpath,*:*)     
+       -R*:*| -Wl,*:*)     
                case $arg in  
                -R*)                    R="-R" ;;
                -Wl,-R*)                R="-Wl,-R" ;;
                -Wl,-rpath,*)           R="-Wl,-rpath," ;;      
                -Wl,-rpath-link,*)      R="-Wl,-rpath-link," ;; 
                -Wl,--rpath,*)          R="-Wl,--rpath," ;;
+               -Wl,*)                  R="-Wl," ;;
                esac
                list="${arg#$R}"
                save_IFS="${IFS}"; IFS=":"

>Release-Note:
>Audit-Trail:
>Unformatted: