[RFC] patch LD_LIBRARY_PATH_64 for sparc solaris testing

Andreas Tobler toa@pop.agri.ch
Sun Jan 11 18:33:00 GMT 2004


Andreas Tobler wrote:

> Ok, I have something like this in mind.
> 
> ChangeLog missing at the moment.

And here the ChangeLogs:

gcc/testsuite/ChangeLog:

2004-01-10  Andreas Tobler  <a.tobler@schweiz.ch>

	* g++.dg/compat/compat.exp: Add LD_LIBRARY_PATH_32/64 for solaris.
	* lib/g77.exp: Likewise.
	* lib/objc.exp: Likewise.
	* lib/g++.exp: Likewise.

libjava/testsuite/ChangeLog:

2004-01-10  Andreas Tobler  <a.tobler@schweiz.ch>

	* lib/libjava.exp: Add LD_LIBRARY_PATH_32/64 to get proper
	path setting for solaris 32/64 bit testing.
	Reorganize LD_LIBRARY_PATH setting.

libstdc++-v3/ChangeLog:

2004-01-10  Andreas Tobler  <a.tobler@schweiz.ch>

	* testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
	solaris.

libffi/ChangeLog:

2004-01-10  Andreas Tobler  <a.tobler@schweiz.ch>

	* testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
	solaris.


> 
> Still testing. Will take at least another 20 hours to check against a 
> full build on solaris with test :)

Ok, here are the results for sol9:

http://gcc.gnu.org/ml/gcc-testresults/2004-01/msg00461.html

Andreas

> 
> ------------------------------------------------------------------------
> 
> Index: gcc/testsuite/lib/g++.exp
> ===================================================================
> RCS file: /cvs/gcc/gcc/gcc/testsuite/lib/g++.exp,v
> retrieving revision 1.35
> diff -u -r1.35 g++.exp
> --- gcc/testsuite/lib/g++.exp	18 Dec 2003 19:39:57 -0000	1.35
> +++ gcc/testsuite/lib/g++.exp	10 Jan 2004 16:56:02 -0000
> @@ -170,14 +170,18 @@
>      # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH
>      # (for the 64-bit ABI).  The right way to do this would be to modify
>      # unix.exp -- but that's not an option since it's part of DejaGNU
> -    # proper, so we do it here.  We really only need to do 
> -    # this on IRIX, but it shouldn't hurt to do it anywhere else.
> +    # proper, so we do it here.
> +    # The same applies to darwin (DYLD_LIBRARY_PATH), solaris 32 bit
> +    # (LD_LIBRARY_PATH_32), solaris 64 bit (LD_LIBRARY_PATH_64), and HP-UX
> +    # (SHLIB_PATH).
>      # Doing this does cause trouble when testing cross-compilers.
>      if {![is_remote target]} {
>  	setenv  LD_LIBRARY_PATH     $ld_library_path
>  	setenv  SHLIB_PATH          $ld_library_path
>  	setenv  LD_LIBRARYN32_PATH  $ld_library_path
>  	setenv  LD_LIBRARY64_PATH   $ld_library_path
> +	setenv  LD_LIBRARY_PATH_32  $ld_library_path
> +	setenv  LD_LIBRARY_PATH_64  $ld_library_path
>  	setenv  DYLD_LIBRARY_PATH   $ld_library_path
>      }
>  
> Index: gcc/testsuite/lib/g77.exp
> ===================================================================
> RCS file: /cvs/gcc/gcc/gcc/testsuite/lib/g77.exp,v
> retrieving revision 1.17
> diff -u -r1.17 g77.exp
> --- gcc/testsuite/lib/g77.exp	10 Dec 2003 20:36:02 -0000	1.17
> +++ gcc/testsuite/lib/g77.exp	10 Jan 2004 16:56:02 -0000
> @@ -114,12 +114,16 @@
>      # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH
>      # (for the 64-bit ABI).  The right way to do this would be to modify
>      # unix.exp -- but that's not an option since it's part of DejaGNU
> -    # proper, so we do it here.  We really only need to do 
> -    # this on IRIX, but it shouldn't hurt to do it anywhere else.
> +    # proper, so we do it here.
> +    # The same applies to darwin (DYLD_LIBRARY_PATH), solaris 32 bit
> +    # (LD_LIBRARY_PATH_32), solaris 64 bit (LD_LIBRARY_PATH_64), and HP-UX
> +    # (SHLIB_PATH).
>      setenv  LD_LIBRARY_PATH     $ld_library_path
>      setenv  SHLIB_PATH          $ld_library_path
>      setenv  LD_LIBRARYN32_PATH  $ld_library_path
>      setenv  LD_LIBRARY64_PATH   $ld_library_path
> +    setenv  LD_LIBRARY_PATH_32  $ld_library_path
> +    setenv  LD_LIBRARY_PATH_64  $ld_library_path
>      setenv  DYLD_LIBRARY_PATH   $ld_library_path
>  
>      return "$flags"
> Index: gcc/testsuite/lib/objc.exp
> ===================================================================
> RCS file: /cvs/gcc/gcc/gcc/testsuite/lib/objc.exp,v
> retrieving revision 1.20
> diff -u -r1.20 objc.exp
> --- gcc/testsuite/lib/objc.exp	10 Dec 2003 20:36:02 -0000	1.20
> +++ gcc/testsuite/lib/objc.exp	10 Jan 2004 16:56:02 -0000
> @@ -188,13 +188,17 @@
>      # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH
>      # (for the 64-bit ABI).  The right way to do this would be to modify
>      # unix.exp -- but that's not an option since it's part of DejaGNU
> -    # proper, so we do it here.  We really only need to do 
> -    # this on IRIX, but it shouldn't hurt to do it anywhere else.
> +    # proper, so we do it here.
> +    # The same applies to darwin (DYLD_LIBRARY_PATH), solaris 32 bit
> +    # (LD_LIBRARY_PATH_32), solaris 64 bit (LD_LIBRARY_PATH_64), and HP-UX
> +    # (SHLIB_PATH).
>      setenv  LD_LIBRARY_PATH     $ld_library_path
>      setenv  SHLIB_PATH          $ld_library_path
>      setenv  LD_LIBRARYN32_PATH  $ld_library_path
>      setenv  LD_LIBRARY64_PATH   $ld_library_path
> -    setenv  DYLD_LIBRARY_PATH   $ld_library_path 
> +    setenv  LD_LIBRARY_PATH_32  $ld_library_path
> +    setenv  LD_LIBRARY_PATH_64  $ld_library_path
> +    setenv  DYLD_LIBRARY_PATH   $ld_library_path
>  
>      return [target_compile $source $dest $type $options]
>  }
> Index: gcc/testsuite/g++.dg/compat/compat.exp
> ===================================================================
> RCS file: /cvs/gcc/gcc/gcc/testsuite/g++.dg/compat/compat.exp,v
> retrieving revision 1.4
> diff -u -r1.4 compat.exp
> --- gcc/testsuite/g++.dg/compat/compat.exp	18 Dec 2003 19:39:57 -0000	1.4
> +++ gcc/testsuite/g++.dg/compat/compat.exp	10 Jan 2004 16:56:02 -0000
> @@ -49,6 +49,9 @@
>  	setenv  SHLIB_PATH          $ld_library_path
>  	setenv  LD_LIBRARYN32_PATH  $ld_library_path
>  	setenv  LD_LIBRARY64_PATH   $ld_library_path
> +	setenv  LD_LIBRARY_PATH_32  $ld_library_path
> +	setenv  LD_LIBRARY_PATH_64  $ld_library_path
> +	setenv  DYLD_LIBRARY_PATH   $ld_library_path
>      }
>  }
>  
> Index: libstdc++-v3/testsuite/lib/libstdc++.exp
> ===================================================================
> RCS file: /cvs/gcc/gcc/libstdc++-v3/testsuite/lib/libstdc++.exp,v
> retrieving revision 1.14
> diff -u -r1.14 libstdc++.exp
> --- libstdc++-v3/testsuite/lib/libstdc++.exp	11 Dec 2003 01:08:14 -0000	1.14
> +++ libstdc++-v3/testsuite/lib/libstdc++.exp	10 Jan 2004 16:56:03 -0000
> @@ -65,16 +65,20 @@
>      # Find the existing LD_LIBRARY_PATH.
>      if [info exists env(LD_LIBRARY_PATH)] {
>  	set original_ld_library_path $env(LD_LIBRARY_PATH)
> +	# For HP-UX
> +    } elseif [info exists env(SHLIB_PATH)] {
> +	set original_ld_library_path $env(SHLIB_PATH)
> +	# For Darwin:
> +    } elseif [info exists env(DYLD_LIBRARY_PATH)] {
> +	set original_ld_library_path $env(DYLD_LIBRARY_PATH)
> +	# For Solaris 32 bit:
> +    } elseif [info exists env(LD_LIBRARY_PATH_32)] {
> +	set original_ld_library_path $env(LD_LIBRARY_PATH_32)
> +	# For Solaris 64 bit:
> +    } elseif [info exists env(LD_LIBRARY_PATH_64)] {
> +	set original_ld_library_path $env(LD_LIBRARY_PATH_64)
>      } else {
> -	if [info exists env(SHLIB_PATH)] {
> -	    set original_ld_library_path $env(SHLIB_PATH)
> -	} else {
> -	    if [info exists env(DYLD_LIBRARY_PATH)] {
> -		set original_ld_library_path $env(DYLD_LIBRARY_PATH)
> -	    } else {
> -		set original_ld_library_path ""
> -	    }
> -	}
> +	set original_ld_library_path ""
>      }
>  
>      # Locate libgcc.a so we don't need to account for different values of
> @@ -107,13 +111,16 @@
>      # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH
>      # (for the 64-bit ABI).  The right way to do this would be to modify
>      # unix.exp -- but that's not an option since it's part of DejaGNU
> -    # proper, so we do it here.  We really only need to do 
> -    # this on IRIX, but it shouldn't hurt to do it anywhere else.
> +    # proper, so we do it here.
> +    # The same applies to darwin (DYLD_LIBRARY_PATH), solaris 32 bit
> +    # (LD_LIBRARY_PATH_32), solaris 64 bit (LD_LIBRARY_PATH_64), and HP-UX
> +    # (SHLIB_PATH).
>      setenv  LD_LIBRARY_PATH     "$ld_library_path:$original_ld_library_path"
>      setenv  SHLIB_PATH          "$ld_library_path:$original_ld_library_path"
>      setenv  LD_LIBRARYN32_PATH  "$ld_library_path:$original_ld_library_path"
>      setenv  LD_LIBRARY64_PATH   "$ld_library_path:$original_ld_library_path"
>      setenv  LD_RUN_PATH         "$ld_library_path:$original_ld_library_path"
> +    setenv  LD_LIBRARY_PATH_32  "$ld_library_path:$original_ld_library_path"
>      setenv  LD_LIBRARY_PATH_64  "$ld_library_path:$original_ld_library_path"
>      setenv  DYLD_LIBRARY_PATH   "$ld_library_path:$original_ld_library_path"
>      verbose -log "LD_LIBRARY_PATH = $env(LD_LIBRARY_PATH)"
> Index: libjava/testsuite/lib/libjava.exp
> ===================================================================
> RCS file: /cvs/gcc/gcc/libjava/testsuite/lib/libjava.exp,v
> retrieving revision 1.56
> diff -u -r1.56 libjava.exp
> --- libjava/testsuite/lib/libjava.exp	9 Jan 2004 17:27:37 -0000	1.56
> +++ libjava/testsuite/lib/libjava.exp	10 Jan 2004 16:56:03 -0000
> @@ -175,16 +175,20 @@
>  
>      if [info exists env(LD_LIBRARY_PATH)] {
>  	set original_ld_library_path $env(LD_LIBRARY_PATH)
> +	# For HP-UX.
> +    } elseif [info exists env(SHLIB_PATH)] {
> +	set original_ld_library_path $env(SHLIB_PATH)
> +	# For Darwin.
> +    } elseif [info exists env(DYLD_LIBRARY_PATH)] {
> +	set original_ld_library_path $env(DYLD_LIBRARY_PATH)
> +	# For Solaris 32 bit.
> +    } elseif [info exists env(LD_LIBRARY_PATH_32)] {
> +	set original_ld_library_path $env(LD_LIBRARY_PATH_32)
> +	# For Solaris 64 bit.
> +    } elseif [info exists env(LD_LIBRARY_PATH_64)] {
> +	set original_ld_library_path $env(LD_LIBRARY_PATH_64)
>      } else {
> -	if [info exists env(SHLIB_PATH)] {
> -	    set original_ld_library_path $env(SHLIB_PATH)
> -	} else {
> -	    if [info exists env(DYLD_LIBRARY_PATH)] {
> -		set original_ld_library_path $env(DYLD_LIBRARY_PATH)
> -	    } else {
> -		set original_ld_library_path ""
> -	    }
> -	}
> +	set original_ld_library_path ""
>      }
>  
>      set wrapper_file "";
> @@ -363,8 +367,6 @@
>      # Set variables the dynamic linker looks at.
>      global original_ld_library_path
>      setenv LD_LIBRARY_PATH "$ld_library_path:$original_ld_library_path"
> -    setenv SHLIB_PATH "$ld_library_path:$original_ld_library_path"
> -    setenv DYLD_LIBRARY_PATH "$ld_library_path:$original_ld_library_path"
>  
>      verbose "LD_LIBRARY_PATH = $env(LD_LIBRARY_PATH)"
>  
> @@ -460,8 +462,6 @@
>    append newval :$lib_path
>  
>    setenv LD_LIBRARY_PATH $newval
> -  setenv SHLIB_PATH $newval
> -  setenv DYLD_LIBRARY_PATH $newval
>  
>    verbose "LD_LIBRARY_PATH=$env(LD_LIBRARY_PATH)"
>  
> @@ -471,8 +471,6 @@
>  
>    # Restore setting
>    setenv LD_LIBRARY_PATH $lib_path
> -  setenv SHLIB_PATH $lib_path
> -  setenv DYLD_LIBRAY_PATH $lib_path
>  
>    if {$status != "pass"} {
>      verbose "got $output"
> @@ -909,12 +907,17 @@
>  # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH
>  # (for the 64-bit ABI).  The right way to do this would be to modify
>  # unix.exp -- but that's not an option since it's part of DejaGNU
> -# proper, so we do it here, by trickery.  We really only need to do 
> -# this on IRIX, but it shouldn't hurt to do it anywhere else.
> -
> +# proper, so we do it here, by trickery.
> +# The same applies to darwin (DYLD_LIBRARY_PATH), solaris 32 bit
> +# (LD_LIBRARY_PATH_32), solaris 64 bit (LD_LIBRARY_PATH_64), and HP-UX
> +# (SHLIB_PATH).
>  proc ${tool}_set_ld_library_path { name element op } {
>    setenv LD_LIBRARYN32_PATH [getenv LD_LIBRARY_PATH]
>    setenv LD_LIBRARY64_PATH [getenv LD_LIBRARY_PATH]
> +  setenv SHLIB_PATH [getenv LD_LIBRARY_PATH]
> +  setenv DYLD_LIBRARY_PATH [getenv LD_LIBRARY_PATH]
> +  setenv LD_LIBRARY_PATH_32 [getenv LD_LIBRARY_PATH]
> +  setenv LD_LIBRARY_PATH_64 [getenv LD_LIBRARY_PATH]
>  }
>  
>  trace variable env(LD_LIBRARY_PATH) w ${tool}_set_ld_library_path
> Index: libffi/testsuite/lib/libffi-dg.exp
> ===================================================================
> RCS file: /cvs/gcc/gcc/libffi/testsuite/lib/libffi-dg.exp,v
> retrieving revision 1.6
> diff -u -r1.6 libffi-dg.exp
> --- libffi/testsuite/lib/libffi-dg.exp	21 Nov 2003 11:24:09 -0000	1.6
> +++ libffi/testsuite/lib/libffi-dg.exp	10 Jan 2004 16:56:03 -0000
> @@ -129,12 +129,15 @@
>      # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH
>      # (for the 64-bit ABI).  The right way to do this would be to modify
>      # unix.exp -- but that's not an option since it's part of DejaGNU
> -    # proper, so we do it here.  We really only need to do
> -    # this on IRIX, but it shouldn't hurt to do it anywhere else.
> +    # proper, so we do it here.
> +    # The same applies to darwin (DYLD_LIBRARY_PATH), solaris 32 bit
> +    # (LD_LIBRARY_PATH_32), solaris 64 bit (LD_LIBRARY_PATH_64), and HP-UX
> +    # (SHLIB_PATH).
>      setenv  LD_LIBRARY_PATH     $ld_library_path
>      setenv  SHLIB_PATH          $ld_library_path
>      setenv  LD_LIBRARYN32_PATH  $ld_library_path
>      setenv  LD_LIBRARY64_PATH   $ld_library_path
> +    setenv  LD_LIBRARY_PATH_32  $ld_library_path
>      setenv  LD_LIBRARY_PATH_64  $ld_library_path
>      setenv  DYLD_LIBRARY_PATH   $ld_library_path
>  }




More information about the Libstdc++ mailing list