This is the mail archive of the mailing list for the glibc project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] power: Fix VSCR position on ucontext

"Gabriel F. T. Gomes" <> writes:

> On Fri, 07 Dec 2018, Gabriel F. T. Gomes wrote:
>>On Fri, 07 Dec 2018, Rogerio Alves wrote:
>>>+/* This test is supported only on POWER 5 or higher.  */
>>>+                           PPC_FEATURE_ARCH_2_05 | PPC_FEATURE_ARCH_2_06 | \
>>>+                           PPC_FEATURE2_ARCH_2_07)  
>>Is this actually needed?  Glibc has code to fill all the bits for older
>>architectures in sysdeps/powerpc/hwcapinfo.c [1].  So, as far as I can
>>see, you only need to test for AT_HWCAP & PPC_FEATURE_POWER5.
> Hrm, that's only true for the hwcap info that is copied into the TCB, not
> when accessing it with getauxval, so my comment is wrong (as Rogerio
> kindly pointed out to me in a private message...  thanks).
> So, nevermind this comment.
> On the other hand, on powerpc64 builds configured with --with-cpu set to
> power4, power5, and power6, (but not to power8 or power7), I got the
> following error message:
> ../sysdeps/powerpc/powerpc64/tst-ucontext-ppc64-vscr.c: In function ‘do_test’:
> ../sysdeps/powerpc/powerpc64/tst-ucontext-ppc64-vscr.c:51:3: error: inconsistent operand constraints in an ‘asm’
>    asm volatile ("vspltisb %0,0\n"
>    ^~~
> I guess we didn't get this error message before, because of the
> `#ifdef ARCH_PWR8' statement.  So, unless you know a better way to fix
> this, you should reintroduce the `#ifdef' statement (now, you could use

You can use:

    .machine push;
    .machine "power7";
    .machine pop

It should be safe to use with the current minimum required Binutils i.e.
support for POWER7 was already available in GNU Binutils 2.25 (even P8 was

Tulio Magno

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]