[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Problems with latest Cygwin make patch; builds OK but binary segfaul
From: |
William Sheehan |
Subject: |
RE: Problems with latest Cygwin make patch; builds OK but binary segfaults |
Date: |
Tue, 5 Sep 2006 11:03:22 -0700 |
> It seems you started from a patch that is different from the
> last one I posted.
You are correct; I was working from a link posted to the Cygwin mailing
list, which I now realize was out of date. Instead of your version of
sh_chars_sh, it had the following:
+ static char sh_chars_sh[] = "#;\"*?[]&|<>(){}$`^";
I assumed that there was logic behind that code that I was unfamiliar with,
so I decided not to touch that line and went forward with my #ifdef plan.
Thanks for catching this; your patch works perfectly and does not
demonstrate any of the problems I was encountering before.
William Sheehan
Builds Engineer / Network Administrator
Open Interface North America
(206) 315-5584
> -----Original Message-----
> From: Eli Zaretskii [mailto:address@hidden
> Sent: Saturday, September 02, 2006 7:11 AM
> To: William Sheehan
> Cc: address@hidden
> Subject: Re: Problems with latest Cygwin make patch;builds OK
> but binary segfaults
>
>
> > From: "William Sheehan" <address@hidden>
> > Date: Fri, 25 Aug 2006 10:52:00 -0700
> >
> > > Please rune "make check" on the version of Make you think
> > > fixes the problem. If all the tests pass, please post here a
> > > patch that you used to fix the recursion problem. Thanks.
> >
> > Done; the patch is attached. Running make check came back
> with zero
> > failures and a nice smiley face. The patch has the same content as
> > Bill Hoffman's patch, plus my modifications for job.c.
>
> I'm looking at the patch you sent, and I'm confused: I don't
> understand how could it solve the recursion problem.
>
> It seems you started from a patch that is different from the
> last one I posted. My last patch defines sh_chars_sh so that
> its value is _identical_ to sh_chars. Thus, any changes that
> replace sh_chars with sh_chars_sh do not change anything at all.
>
> Could you please try the original patch I posted here
> (reproduced below for your convenience), and see if the
> recursion problem happens with it? If it does, please try to
> find what needs to be changed after the patches below.
>
> Thanks.
>
>
> Here's the patch I posted after Chris suggested to modify the
> original one. Please apply it to the original unmodified
> sources of Make 3.81.
>
>
> --- configure.in~0 2006-04-01 12:36:40.000000000 +0300
> +++ configure.in 2006-08-18 21:12:32.828125000 +0300
> @@ -384,6 +384,8 @@
> ;;
> esac
>
> +AC_DEFINE_UNQUOTED(PATH_SEPARATOR_CHAR,'$PATH_SEPARATOR',[Def
> ine to the
> +character that separates directories in PATH.])
> +
> # Include the Maintainer's Makefile section, if it's here.
>
> MAINT_MAKEFILE=/dev/null
>
> --- make.h~0 2006-02-16 03:54:43.000000000 +0200
> +++ make.h 2006-08-18 21:12:32.859375000 +0300
> @@ -347,12 +347,14 @@
> #define S_(msg1,msg2,num) ngettext (msg1,msg2,num)
>
> /* Handle other OSs. */
> -#if defined(HAVE_DOS_PATHS)
> -# define PATH_SEPARATOR_CHAR ';'
> -#elif defined(VMS)
> -# define PATH_SEPARATOR_CHAR ','
> -#else
> -# define PATH_SEPARATOR_CHAR ':'
> +#ifndef PATH_SEPARATOR_CHAR
> +# if defined(HAVE_DOS_PATHS)
> +# define PATH_SEPARATOR_CHAR ';'
> +# elif defined(VMS)
> +# define PATH_SEPARATOR_CHAR ','
> +# else
> +# define PATH_SEPARATOR_CHAR ':'
> +# endif
> #endif
>
> /* This is needed for getcwd() and chdir(). */
>
> --- config/dospaths.m4~0 2006-03-10 06:20:45.000000000 +0200
> +++ config/dospaths.m4 2006-08-18 21:12:32.859375000 +0300
> @@ -22,7 +22,7 @@
> AC_CACHE_CHECK([whether system uses MSDOS-style paths],
> [ac_cv_dos_paths],
> [
> AC_COMPILE_IFELSE([
> -#if !defined _WIN32 && !defined __WIN32__ && !defined
> __MSDOS__ && !defined __EMX__ && !defined __MSYS__
> +#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ &&
> +!defined __EMX__ && !defined __MSYS__ && !defined __CYGWIN__
> neither MSDOS nor Windows nor OS2
> #endif
> ],
>
> --- job.c~0 2006-03-20 07:03:04.000000000 +0200
> +++ job.c 2006-08-19 09:25:07.687500000 +0300
> @@ -2307,6 +2307,12 @@ 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). */
> + static char *sh_chars_sh = sh_chars;
> +# endif /* HAVE_DOS_PATHS */
> #endif
> register int i;
> register char *p;
>
- Re: Problems with latest Cygwin make patch; builds OK but binary segfaults, Eli Zaretskii, 2006/09/02
- RE: Problems with latest Cygwin make patch; builds OK but binary segfaults,
William Sheehan <=
- Re: Problems with latest Cygwin make patch; builds OK but binary segfaults, Eli Zaretskii, 2006/09/05
- Re: Problems with latest Cygwin make patch; builds OK but binary segfaults, Christopher Faylor, 2006/09/05
- Re: Problems with latest Cygwin make patch; builds OK but binary segfaults, Eli Zaretskii, 2006/09/05
- Re: Problems with latest Cygwin make patch; builds OK but binary segfaults, Christopher Faylor, 2006/09/05
- Re: Problems with latest Cygwin make patch; builds OK but binary segfaults, William A. Hoffman, 2006/09/05
- Re: Problems with latest Cygwin make patch; builds OK but binary segfaults, Eli Zaretskii, 2006/09/05
- Re: Problems with latest Cygwin make patch; builds OK but binary segfaults, William A. Hoffman, 2006/09/08
- Re: Problems with latest Cygwin make patch; builds OK but binary segfaults, Eli Zaretskii, 2006/09/08
- Re: Problems with latest Cygwin make patch; builds OK but binary segfaults, Christopher Faylor, 2006/09/08
- Re: Problems with latest Cygwin make patch; builds OK but binary segfaults, Eli Zaretskii, 2006/09/08