This is the mail archive of the
mailing list for the glibc project.
Re: [PATCH] fix BZ 18116 - build failure on ppc64le: setcontext.S uses power6 mtfsf when not supported
- From: Peter Bergner <bergner at vnet dot ibm dot com>
- To: "Carlos O'Donell" <carlos at redhat dot com>
- Cc: Martin Sebor <msebor at redhat dot com>, GNU C Library <libc-alpha at sourceware dot org>, Steven Munroe <sjmunroe at us dot ibm dot com>, Tulio Magno Quites Machado Filho <tuliom at linux dot vnet dot ibm dot com>
- Date: Mon, 16 Mar 2015 14:49:02 -0500
- Subject: Re: [PATCH] fix BZ 18116 - build failure on ppc64le: setcontext.S uses power6 mtfsf when not supported
- Authentication-results: sourceware.org; auth=none
- References: <550715C8 dot 7020508 at redhat dot com> <55071C00 dot 9080008 at redhat dot com>
On Mon, 2015-03-16 at 14:08 -0400, Carlos O'Donell wrote:
> On 03/16/2015 01:41 PM, Martin Sebor wrote:
> > The fix in the proposed patch introduces the .machine
> > "power6" directive unconditionaly, regardless of whether
> > _ARCH_PWR6 is defined.
I'll let Steve and/or Tulio have the last say, but I think this
is the correct fix.
> Given that both branches of the #ifdef use mtfsf they both require
> power6 or higher, and therefore it is correct to move the .machine
> directives outside of the #ifdef.
To be pedantic, the mtspr instruction has existed long before power6.
What was added with power6 was we doubled the size of the FPSCR for
use with DFP and we added an extra operand to mtfsf to specify which
word of the FPSCR we were writing to. The mtfsf here is using the
extra operand, so it does need ".machine power" to assemble without