Hi!
On Mon, Jun 21, 2021 at 05:27:06PM +0800, Kewen.Lin wrote:
> Recently if we build gcc on Power with the assembler which doesn't
> have Power10 support, the build will fail when building libgcc with
> one error message like:
>
> Error: invalid switch -mpower10
> Error: unrecognized option -mpower10
> make[2]: *** [...gcc/gcc-base/libgcc/shared-object.mk:14: float128-p10.o]
> Error 1
In general, it is recommended to use a binutils of approximately the
same age as the GCC you are trying to build. This is similar to us not
supporting most other non-sensical configurations. An important reason
for that is it cannot ever be tested, there are just too many strange
combinations possible.
That said :-)
> By checking the culprit commit r12-1340, it's caused by some typos.
(That is 9090f4807161.)
> - fix test case used for libgcc_cv_powerpc_3_1_float128_hw check.
I was confused here for a bit, "test case" usually means something in
testsuite/, I'd call this just "test" :-)
> BTW, there are some noises during regression testings due to
> newer versions binutils, but they were identified as unrelated
> after some checkings.
Hrm, what kind of noise?
> * config/rs6000/t-float128-hw(fp128_3_1_hw_funcs,
> fp128_3_1_hw_src, fp128_3_1_hw_static_obj, fp128_3_1_hw_shared_obj,
> fp128_3_1_hw_obj): Remove variables for ISA 3.1 support.
Needs a space before the opening paren. Doesn't need a line break so
early on that line btw.
Just "Remove." or "Delete." is less confusing btw: what you wrote can be
read as "Remove the variables from these declarations" or similar. And
of course terseness is usually best in a changelog.
> * config/rs6000/t-float128-p10-hw (FLOAT128_HW_INSNS): Append
> macro FLOAT128_HW_INSNS_ISA3_1 for ISA 3.1 support.
Don't say what it is for, just say what changed :-)
> (FP128_3_1_CFLAGS_HW): Fix option typo.
> * config/rs6000/float128-ifunc.c (SW_OR_HW_ISA3_1): Guarded
> with FLOAT128_HW_INSNS_ISA3_1.
"Guard", not "Guarded", all entries are written in the imperative, like,
"Do this" or "Guard that".
> +#ifdef FLOAT128_HW_INSNS_ISA3_1
> TFtype __floattikf (TItype_ppc)
> __attribute__ ((__ifunc__ ("__floattikf_resolve")));
I wonder if we now need TItype_ppc at all anymore, btw?
Okay for trunk with the changelog slightly massaged. Thanks!
Segher