[RS6000] PR96493, powerpc local call linkage failure

Segher Boessenkool segher@kernel.crashing.org
Tue Aug 11 18:30:36 GMT 2020


On Tue, Aug 11, 2020 at 12:36:28PM -0500, Peter Bergner wrote:
> On 8/11/20 11:35 AM, Segher Boessenkool wrote:
> > Hi Alan,
> > 
> > On Tue, Aug 11, 2020 at 06:38:53PM +0930, Alan Modra wrote:
> >> This fixes a fail when power10 isn't supported by binutils, and
> >> ensures the test isn't run without power10 hardware or simulation on
> >> the off chance that power10 insns are emitted in the future for this
> >> testcase.
> > 
> > The testcases said it wanted power8, so why did it fail?  GCC shouldn't
> > use anything that requires p10 support in binutils then, or what do I
> > miss here?
> 
> It failed with an assembler error because one of the functions in the
> test uses an attribute target power10 and GCC emits a ".machine power10"
> assembler directive in case we do generate a power10 instruction(s).
> The old binutils Bill used doesn't know about power10, so boom.
> That is what requires the dg-require-effective-target power10_ok.

Ah, okay.

> Now given the power10 function is so small (just a call to a p8
> function), the chance we'll generate a p10 instruction is low (zero?),
> so we could just keep the dg-do run as is (ie, always run), but
> might that change one day?

On a non-p10 it will just use the generated non-p10 code, and that will
just work, now and for forever (yeah right :-) )

Either always running or what this patch does will work.  But please add
comments what the test case wants to test, and for the tricky bits.


Segher


More information about the Gcc-patches mailing list