[m-rev.] for review: disable the use of asm_fast grades on Windows

Zoltan Somogyi zoltan.somogyi at runbox.com
Mon Jan 22 02:09:16 AEDT 2024


On 2024-01-21 15:32 +11:00 AEDT, "Julien Fischer" <jfischer at opturion.com> wrote:
> Compilation of the stage 3 library currently results in a segmentation
> fault on Windows.

We must have a setup (Mercury version, C compiler version etc) from the past
that was known to bootstrap correctly. The last release should fit the bill,
and more recent ROTDs may fit it as well. Whatever that last setup was,
Mercury has obviously changed since then, but the C compiler being used
may have changed as well. If you have a record of what C compiler version
last compiled Mercury in a way that allowed a correct bootstrap test,
you could try that same version with the current Mercury system,
since that would tell us whether the problem is a change in Mercury
or a change in the behavior of the C compiler. And in both cases,
the problematic version change could in theory be isolated by binary
search.

> configure.ac:
> tools/configure_cross:
>     As above.
> 
> Julien.
> 
> diff --git a/configure.ac b/configure.ac
> index 6e7484e..f197a6a 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -2428,6 +2428,16 @@ case "$ac_cv_c_compiler_gnu" in yes)
>                  mercury_cv_asm_labels=no
>                  mercury_cv_gcc_labels=no
>              fi
> +
> +            # In asm_fast grades the compiler seg faults during stage 3 library
> +            # compilation; we disable their use on Windows until this is fixed.
> +            case "$host" in
> +               *mingw*|*cygwin*)
> +                MERCURY_MSG("gcc labels do not currently work on Windows")
> +                mercury_cv_asm_labels=no
> +                mercury_cv_gcc_labels=no
> +                ;;
> +            esac
>              ;;

The line after "case" seems to be misaligned, but with my email reader's fonts,
it is hard to tell. The rest is fine.

Zoltan.


More information about the reviews mailing list