[m-rev.] diff: use global registers on aarch64

Zoltan Somogyi zoltan.somogyi at runbox.com
Wed Jan 13 20:37:41 AEDT 2021


2021-01-13 20:34 GMT+11:00 "Julien Fischer" <jfischer at opturion.com>:
>>> configure.ac:
>>>      Compile with -fomit-frame-pointer on aarch64.
>> I see no evidence of this in the diff to configure.ac.
> 
> @@ -2420,10 +2420,11 @@ case "$ac_cv_prog_gcc" in yes)
>               mercury_cv_gcc_labels=no
>               ;;
>           aarch64*)
> -        # The test for GCC labels goes into a loop on AArch64.
> +            # The test for GCC labels goes into a loop on AArch64.
>               MERCURY_MSG("gcc labels do not work on AArch64")
>               mercury_cv_asm_labels=no
>               mercury_cv_gcc_labels=no
> +            CFLAGS_FOR_REGS="-fno-omit-frame-pointer"
>               ;;

That specifies *keeping* the frame pointer, not omitting it.

>>
>> Nor do I see any reference to x29 in aarch64_regs.h.
> 
> It frees it up for use by GCC, we don't use it as a global register
> variable.  It will be used to hold the frame pointer unless we compile
> with -fno-omit-frame-pointer.

That's fine.

Zoltan.


More information about the reviews mailing list