make-w32
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: make 3.81rc1 / MSYS


From: Eli Zaretskii
Subject: Re: make 3.81rc1 / MSYS
Date: Thu, 30 Mar 2006 22:53:51 +0200

> From: David Ergo <address@hidden>
> Cc: address@hidden, address@hidden,
>         Xavier Marichal <address@hidden>,
>         =?ISO-8859-1?Q?S=E9bastien?= Frippiat <address@hidden>
> Date: Thu, 30 Mar 2006 13:09:01 +0200
> 
> now it compiles, but when executed with a makefile present, it
> immediately segfaults :
> 
> $ make
>       0 [main] make 2804 open_stackdumpfile: Dumping stack trace to
> make.exe.stackdump
> Segmentation fault (core dumped)

We are getting somewhere.  How about this version (apply on top of the
one which compiled and segfaulted)?


2006-03-30  Eli Zaretskii  <address@hidden>

        * job.c (construct_command_argv_internal): Move HAVE_DOS_PATHS
        fragment inside the Unixish portion.

diff -up "make-3.81rc2/job.c~1" "make-3.81rc2/job.c"
--- make-3.81rc2/job.c~1        2006-03-29 20:05:41.152625000 +0200
+++ make-3.81rc2/job.c  2006-03-30 22:50:33.855750000 +0200
@@ -2297,14 +2297,6 @@ construct_command_argv_internal (char *l
                  0 };
   char*  sh_chars;
   char** sh_cmds;
-#elif defined(HAVE_DOS_PATHS)
-  /* This is required if the MSYS/Cygwin ports (which do not define
-     WINDOWS32) are compiled with HAVE_DOS_PATHS defined, which uses
-     sh_chars_sh[] directly (see below).  The value is identical to
-     the one above for WINDOWS32 platforms.  */
-  static char sh_chars_sh[] = "#;\"*?[]&|<>(){}$`^";
-  char*  sh_chars;
-  char** sh_cmds;
 #elif defined(__riscos__)
   static char sh_chars[] = "";
   static char *sh_cmds[] = { 0 };
@@ -2315,6 +2307,13 @@ construct_command_argv_internal (char *l
                              "login", "logout", "read", "readonly", "set",
                              "shift", "switch", "test", "times", "trap",
                              "umask", "wait", "while", 0 };
+# ifdef HAVE_DOS_PATHS
+  /* This is required if the MSYS/Cygwin ports (which do not define
+     WINDOWS32) are compiled with HAVE_DOS_PATHS defined, which uses
+     sh_chars_sh[] directly (see below).  The value is identical to
+     the one above for WINDOWS32 platforms.  */
+  static char sh_chars_sh[] = "#;\"*?[]&|<>(){}$`^";
+# endif         /* HAVE_DOS_PATHS */
 #endif
   register int i;
   register char *p;





reply via email to

[Prev in Thread] Current Thread [Next in Thread]