Subject: Re: Emacs 23.1.96 (git HEAD) crashing at startup.

From: Vladimir Lomov <[email-masked]>
Date: Mon, 10 May 2010 12:41:25 +0900

Hi.

Sorry for later response.

2010/5/3 Chong Yidong <[email-masked]>:
> Elias Pipping <[email-masked]> writes:
>
>> Could you make the check and the error message a bit more precise? For
>> example, CFLAGS="-O2 -fno-optimize-sibling-calls" should get through
>> (CFLAGS="-O1 -foptimize-sibling-calls" should not, but that can
>> probably be ignored). It'd also be nice if either the error message or
>> the comments in configure.in referred to this bug.
>
> Sure.  Could you test this updated patch?
>
>
> *** configure.in        2010-04-20 01:29:37 +0000
> --- configure.in        2010-05-02 23:38:03 +0000
> ***************
> *** 2600,2605 ****
> --- 2600,2613 ----
>  CFLAGS="$REAL_CFLAGS"
>  CPPFLAGS="$REAL_CPPFLAGS"
>
> + ## Hack to detect a buggy GCC version.
> + if test "x$GCC" = xyes \
> +    && test x"`$CC --version 2> /dev/null | grep 'gcc.* 4.5.0'`" != x \
> +    && test x"`echo $CFLAGS | grep '\-O[23]'`" != x \
> +    && test x"`echo $CFLAGS | grep '\-fno-optimize-sibling-calls'`" = x; then
> +    AC_MSG_ERROR([GCC 4.5.0 has problems compiling Emacs; see etc/PROBLEMS'.])
> + fi
> +
>  #### Find out which version of Emacs this is.
>  [version=`grep 'defconst[      ]*emacs-version' ${srcdir}/lisp/version.el \
>         | sed -e 's/^[^"]*"\([^"]*\)".*$/\1/'`]
>
> *** configure   2010-04-20 01:29:37 +0000
> --- configure   2010-05-02 23:38:37 +0000
> ***************
> *** 25559,25564 ****
> --- 25559,25574 ----
>  CFLAGS="$REAL_CFLAGS"
>  CPPFLAGS="$REAL_CPPFLAGS"
>
> + ## Hack to detect a buggy GCC version.
> + if test "x$GCC" = xyes \
> +    && test x"`$CC --version 2> /dev/null | grep 'gcc.* 4.5.0'`" != x \
> +    && test x"`echo $CFLAGS | grep '\-O23'`" != x \
> +    && test x"`echo $CFLAGS | grep '\-fno-optimize-sibling-calls'`" = x; then
> +    { { $as_echo "$as_me:$LINENO: error: GCC 4.5.0 has problems compiling Emacs; see etc/PROBLEMS'." >&5
> + $as_echo "$as_me: error: GCC 4.5.0 has problems compiling Emacs; see etc/PROBLEMS'." >&2;}
> +    { (exit 1); exit 1; }; }
> + fi
> +
>  #### Find out which version of Emacs this is.
>  version=`grep 'defconst[       ]*emacs-version' ${srcdir}/lisp/version.el \
>         | sed -e 's/^[^"]*"\([^"]*\)".*$/\1/'`
>
Why you check versus O3 option? I checked that with O3 option GCC
4.5.0 compiles emacs (BZR) fine and it works.

Could you please remove this check (actually I rather ask GCC
developers to release a bug fix but they have they own schedule).

P.S. I make custom builds for my Archlinux system (x86_64). Now I use
a patch to remove O3 check so this just a wish.

---
WBR, Vladimir Lomov