[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 6/7] Convert file name to toolchain format when invoking $NM.
From: |
Peter Rosin |
Subject: |
Re: [PATCH 6/7] Convert file name to toolchain format when invoking $NM. |
Date: |
Thu, 09 Sep 2010 09:19:36 +0200 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.8) Gecko/20100802 Thunderbird/3.1.2 |
Den 2010-09-09 06:18 skrev Charles Wilson:
> Peter, a question about your current patch series: with it only
> partially committed, do you expect errors? Are we waiting for some
> other change upon which the current series depends, before it all "just
> works" again...or are things fubared now?
I wouldn't knowingly have committed anything half-assed like that. I
expected things to be better now that they were before.
> Right now, I'm seeing a regression just building libltdl. It builds
> correctly "the first time" -- but when I try to run the old test suite,
> a rule gets triggered to rebuild libltdl.al:
>
> (cd ../..; make `echo ../../libltdl/libltdlc.la | sed
> 's,.*\.\./libltdl/,libltdl/,g'`)
> make[1]: Entering directory
> `/c/cygwin-1.7/usr/src/packages/libtool/git/build-mingw'
> make[1]: *** No rule to make target
> `..\\libtool\\libltdl\\loaders\\preopen.c', needed by
> `libltdl/loaders/libltdl_libltdlc_la-preopen.lo'. Stop.
>
>
> Going to the top level and simply typing 'make' also triggers the error:
>
> $ make
> make all-recursive
> make[1]: Entering directory
> `/c/cygwin-1.7/usr/src/packages/libtool/git/build-mingw'
> make[2]: Entering directory
> `/c/cygwin-1.7/usr/src/packages/libtool/git/build-mingw'
> make[2]: *** No rule to make target
> `..\\libtool\\libltdl\\loaders\\preopen.c', needed by
> `libltdl/loaders/libltdl_libltdl_la-preopen.lo'. Stop.
> make[2]: Leaving directory
> `/c/cygwin-1.7/usr/src/packages/libtool/git/build-mingw'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory
> `/c/cygwin-1.7/usr/src/packages/libtool/git/build-mingw'
> make: *** [all] Error 2
>
> This is with MSYS/MinGW (but the git tree is over on my cygwin
> installation, since I only have cygwin-git installed).
>
> I suspect that there is a mismatch between the targets (and deps) in the
> Makefile (and the .deps/*.P files), and the new pre-converted filenames
> being generated by $to_tool_file_cmd.
That might very well be the cause, as I didn't think of that case at all.
> Basically, it appears that this is case where
> if-it-ain't-broke-don't-fix-it should have applied, and MSYS/MinGW was
> *not* broke. At least, not anywhere except inside @file contents, and
> maybe the actual name OF that @file (this latter case is the reason
> behind the recent msys-1.0.16 change).
Well, it was broke, you just didn't notice that low max_cmd_len failed
in more ways than you assumed. That part is fixed.
> I'm wondering if, when $build=MSYS, we could turn off all of the libtool
> to_tool_file_cmd stuff, EXCEPT when generating the contents of an @file.
I agree, we should implement some kind of "lazy" strategy for MSYS, so
that we don't do any needless conversions.
> You know, just fix the broken stuff....without breaking other,
> previously working, stuff? (I mean, you're basically removing the whole
> point of msys; why not just use cygwin instead, if you're not going to
> let msys do for you what it was designed to do?)
You know, I did think that was what I was doing, fixing broken stuff
without breaking other previously working stuff. I have been running
the testsuite to death lately and can't understand how this failure
has gone undetected. But it's clearly there. My bad, and sorry for the
inconvenience.
> I've put off trying to track down the error wrt mdemo until after this
> is resolved; I can't really compare the behavior of the (previously
> working) mdemo-static-make/mdemo-static-exec and the broken static
> subcase of mdemo-make/mdemo-exec, when neither one will actually build
> any longer...
My guess is that it is commit d243a1ec536d9e154c6dfca27135
"Use func_to_tool_file instead of fix_srcfile_path." that kills the test.
This will probably fix it (I don't want to commit and make a proper
git patch ATM since the testsuite is running and I don't want to
upset that, so I just ran "git diff origin"):
Cheers,
Peter
diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh
index 1a7bd96..dda2cd0 100644
--- a/libltdl/config/ltmain.m4sh
+++ b/libltdl/config/ltmain.m4sh
@@ -873,14 +873,21 @@ func_to_host_file ()
# end func_to_host_file
-# func_to_tool_file ARG
+# func_to_tool_file ARG LAZY
# converts the file name ARG from $build format to toolchain format. Return
# result in func_to_tool_file_result.
func_to_tool_file ()
{
$opt_debug
- $to_tool_file_cmd "$1"
- func_to_tool_file_result=$func_to_host_file_result
+ case ,func_convert_file_$2, in
+ *,$to_tool_file_cmd,*)
+ func_to_tool_file_result=$1
+ ;;
+ *)
+ $to_tool_file_cmd "$1"
+ func_to_tool_file_result=$func_to_host_file_result
+ ;;
+ esac
}
# end func_to_tool_file
@@ -1376,7 +1383,7 @@ compiler."
func_append removelist " $lockfile"
trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
- func_to_tool_file "$srcfile"
+ func_to_tool_file "$srcfile" msys_to_w32
srcfile=$func_to_tool_file_result
func_quote_for_eval "$srcfile"
qsrcfile=$func_quote_for_eval_result
- Re: [PATCH 6/7] Convert file name to toolchain format when invoking $NM., (continued)
- Re: [PATCH 6/7] Convert file name to toolchain format when invoking $NM., Charles Wilson, 2010/09/09
- Re: [PATCH 6/7] Convert file name to toolchain format when invoking $NM., Peter Rosin, 2010/09/09
- Re: [PATCH 6/7] Convert file name to toolchain format when invoking $NM., Charles Wilson, 2010/09/09
- Re: [PATCH 6/7] Convert file name to toolchain format when invoking $NM., Peter Rosin, 2010/09/09
- Re: [PATCH 6/7] Convert file name to toolchain format when invoking $NM., Ralf Wildenhues, 2010/09/09
- Re: [PATCH 6/7] Convert file name to toolchain format when invoking $NM., Charles Wilson, 2010/09/09
- Re: [PATCH 6/7] Convert file name to toolchain format when invoking $NM., Peter Rosin, 2010/09/09
- Re: [PATCH 6/7] Convert file name to toolchain format when invoking $NM., Ralf Wildenhues, 2010/09/10
- Testsuite issues (was: [PATCH 6/7] Convert file name to toolchain format when invoking $NM.), Peter Rosin, 2010/09/13
- Re: [PATCH 6/7] Convert file name to toolchain format when invoking $NM., Charles Wilson, 2010/09/09
- Re: [PATCH 6/7] Convert file name to toolchain format when invoking $NM.,
Peter Rosin <=
- [PATCH] Fix dependency tracking for MSYS/MinGW., Peter Rosin, 2010/09/09
- Re: [PATCH] Fix dependency tracking for MSYS/MinGW., Charles Wilson, 2010/09/09
- Re: [PATCH] Fix dependency tracking for MSYS/MinGW., Charles Wilson, 2010/09/09
- Re: [PATCH] Fix dependency tracking for MSYS/MinGW., Ralf Wildenhues, 2010/09/09
- Re: [PATCH] Fix dependency tracking for MSYS/MinGW., Peter Rosin, 2010/09/09
- Re: [PATCH 6/7] Convert file name to toolchain format when invoking $NM., Charles Wilson, 2010/09/09
- Re: [PATCH 6/7] Convert file name to toolchain format when invoking $NM., Peter Rosin, 2010/09/09
- Re: [PATCH 6/7] Convert file name to toolchain format when invoking $NM., Peter Rosin, 2010/09/10
- Re: [PATCH 6/7] Convert file name to toolchain format when invoking $NM., Charles Wilson, 2010/09/10
- Re: [PATCH 6/7] Convert file name to toolchain format when invoking $NM., Peter Rosin, 2010/09/10