Re: [PATCH] Do not absolutize paths eagerly.

2010-08-22 Thread Paolo Bonzini

On 08/21/2010 08:03 AM, Ralf Wildenhues wrote:

* Ralf Wildenhues wrote on Fri, Aug 20, 2010 at 06:34:58AM CEST:

* libltdl/config/ltmain.m4sh (func_resolve_sysroot): Partly
revert v2.2.10-83-gc45a288: Do not absolutize path here, only do
sysroot replacement.
(func_mode_link): Adjust.
Fixes AIX testsuite regression.



Maybe it's as simple as this?  I'm testing this patch now.  Would be
nice if somebody could test it on a sysroot-enabled setup (i.e., where
the sysroot tests don't skip).


Fixed the regression as expected, didn't show up any other failures.
OK to apply to the sysroot branch?
I still need somebody to test a sysroot-enabled setup with this.


It works, I pushed it.

Paolo



Re: [PATCH] Do not absolutize paths eagerly.

2010-08-22 Thread Paolo Bonzini

On 08/21/2010 08:03 AM, Ralf Wildenhues wrote:

Fixed the regression as expected, didn't show up any other failures.
OK to apply to the sysroot branch?
I still need somebody to test a sysroot-enabled setup with this.


I'm testing it now.

Paolo



Re: [PATCH] Do not absolutize paths eagerly.

2010-08-21 Thread Charles Wilson
On 8/21/2010 2:03 AM, Ralf Wildenhues wrote:
> * Ralf Wildenhues wrote on Fri, Aug 20, 2010 at 06:34:58AM CEST:
> Fixed the regression as expected, didn't show up any other failures.
> OK to apply to the sysroot branch?
> I still need somebody to test a sysroot-enabled setup with this.

Tested sysroot.at tests using cygwin->mingw sysroot-enabled cross compiler.

118: -L=.../lib -l   ok
119: -L SYSROOT/.../lib -l   ok
120: SYSROOT/.../*.laok

--
Chuck



Re: [PATCH] Do not absolutize paths eagerly.

2010-08-20 Thread Ralf Wildenhues
* Ralf Wildenhues wrote on Fri, Aug 20, 2010 at 06:34:58AM CEST:
> * libltdl/config/ltmain.m4sh (func_resolve_sysroot): Partly
> revert v2.2.10-83-gc45a288: Do not absolutize path here, only do
> sysroot replacement.
> (func_mode_link): Adjust.
> Fixes AIX testsuite regression.

> Maybe it's as simple as this?  I'm testing this patch now.  Would be
> nice if somebody could test it on a sysroot-enabled setup (i.e., where
> the sysroot tests don't skip).

Fixed the regression as expected, didn't show up any other failures.
OK to apply to the sysroot branch?
I still need somebody to test a sysroot-enabled setup with this.

Thanks!
Ralf



[PATCH] Do not absolutize paths eagerly.

2010-08-19 Thread Ralf Wildenhues
* libltdl/config/ltmain.m4sh (func_resolve_sysroot): Partly
revert v2.2.10-83-gc45a288: Do not absolutize path here, only do
sysroot replacement.
(func_mode_link): Adjust.
Fixes AIX testsuite regression.
---

* Paolo Bonzini wrote on Thu, Aug 19, 2010 at 09:40:11AM CEST:
> On 08/19/2010 06:58 AM, Ralf Wildenhues wrote:
> >Why does this function absolutize paths that have nothing to do with
> >sysroot, even in-tree deplib paths?
> >Is there a deeper reason in this?  If yes, there should probably be a
> >test which is fixed by it.
> 
> It's a bug, I think I did it to simplify other places but this was
> wrong as the AIX case shows.  I had the same idea more or less, but
> I didn't have time to make a patch.

Maybe it's as simple as this?  I'm testing this patch now.  Would be
nice if somebody could test it on a sysroot-enabled setup (i.e., where
the sysroot tests don't skip).

I agree that the absolutization issue should probably cleaned up,
but independently of the sysroot feature, and it likely needs a bit
more testsuite exposure, too.

Thanks,
Ralf

 libltdl/config/ltmain.m4sh |   29 -
 1 files changed, 12 insertions(+), 17 deletions(-)

diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh
index d29fd5d..a3e8955 100644
--- a/libltdl/config/ltmain.m4sh
+++ b/libltdl/config/ltmain.m4sh
@@ -547,31 +547,16 @@ func_source ()
 
 
 # func_resolve_sysroot PATH
-# Change PATH to an absolute path or replace a leading = with a
-# sysroot.  Store the result into func_resolve_sysroot_result
+# Replace a leading = in PATH with a sysroot.  Store the result into
+# func_resolve_sysroot_result
 func_resolve_sysroot ()
 {
   func_resolve_sysroot_result=$1
   case $func_resolve_sysroot_result in
-  [\\/]* | [A-Za-z]:[\\/]*) ;;
   =*)
 func_stripname '=' '' "$func_resolve_sysroot_result"
 func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
 ;;
-  *)
-if test -d "$1"; then
-  absdir=`cd "$1" && pwd`
-  test -z "$absdir" && \
-func_fatal_error "cannot determine absolute directory name of \`$dir'"
-  func_resolve_sysroot_result=`cd "$dir" && pwd`
-else
-  func_dirname_and_basename "$1" "" "."
-  absdir=`cd "$func_dirname_result" && pwd`
-  test -z "$absdir" && \
-func_fatal_error "cannot determine absolute directory name of 
\`$func_dirname_result'"
-  func_resolve_sysroot_result="$absdir/$func_basename_result"
-fi
-;;
   esac
 }
 
@@ -4440,6 +4425,16 @@ func_mode_link ()
fi
func_resolve_sysroot "$func_stripname_result"
dir=$func_resolve_sysroot_result
+   # We need an absolute path.
+   case $dir in
+   [\\/]* | [A-Za-z]:[\\/]*) ;;
+   *)
+ absdir=`cd "$dir" && pwd`
+ test -z "$absdir" && \
+   func_fatal_error "cannot determine absolute directory name of 
\`$dir'"
+ dir="$absdir"
+ ;;
+   esac
case "$deplibs " in
*" -L$dir "* | *" $arg "*)
  # Will only happen for absolute or sysroot arguments
-- 
1.7.2.rc3.47.g996ce