> From: "William Sheehan" <[EMAIL PROTECTED]> > Date: Thu, 24 Aug 2006 17:23:04 -0700 > > I was interested in trying out Bill Hoffman's patch that would add DOS path > support to the Cygwin make binary.
Thank you for taking time to check this. > This process seems to work in that I don't receive any obvious problems > during. However, when I try to use the final binary, it segfaults (or stack > overflow when invoked from cmd.exe). I have attached a zip file containing > relevant files that will (hopefully) determine if I'm doing something > bizarre or if this is a legitimate problem. Here are the contents: It could be an infinite recursion in construct_command_argv_internal, but it could also be something else. First, is it reasonable to get a stack overflow in a Cygwin program after only 11 recursive invocations of construct_command_argv_internal? Can you verify directly that the stack overflowed? If not, we need to know what caused the crash. Second, do I understand correctly that you were running "make clean" in the top-level directory of make-3.81 source tree? You didn't mention that explicitly anywhere (sorry if I missed something), and I wouldn't want to guess. I need to know what part of the Makefile caused the crash. If possible, could you please craft a minimal Makefile that has only the necessary bits to recreate the problem? Third, could you please step through the code in construct_command_argv_internal and see what part of the code causes it to recurse so many times, then compare that with the unpatched source of Make for the same command, and see what is causing the endless recursion? I don't have Cygwin installed, so I cannot do this myself. > cygwin-make-config.patch -- Patch for dospaths.m4 (as an aside, what patch > process recognizes subdirectories as a patch target? This is a standard feature of GNU Patch: if the patch file names the file config/dospaths.m4, Patch will look in the config/ subdirectory. What command did you use to invoke Patch, and what version of Patch is that? > Replacing the binary with the original make 3.81-1 binary did not > change the results. Are you saying that the original unpatched binary of Make 3.81 also crashes with the same Makefile? If so, that doesn't seem to say anything about the patch itself, right? > My own analysis of the problem is that there is an infinite recursion call > to construct_command_argv_internal with the line parameter; it keeps getting > called with more and more backslash characters. It is normal for Make to recurse once in construct_command_argv_internal, when the shell is called to run the command. But the recursion should stop after the first level, not go on further. To unlock this riddle, we need to understand why it doesn't stop. TIA _______________________________________________ Make-w32 mailing list Make-w32@gnu.org http://lists.gnu.org/mailman/listinfo/make-w32