From: Sam Bobroff <sam.bobroff@au1.ibm.com>
To: buildroot@busybox.net
Subject: [Buildroot] PowerPC64 toolchain not building
Date: Fri, 29 Jan 2016 11:55:30 +1100 [thread overview]
Message-ID: <20160129005530.GA4314@tungsten.ozlabs.ibm.com> (raw)
In-Reply-To: <20160128102044.53877287@free-electrons.com>
On Thu, Jan 28, 2016 at 10:20:44AM +0100, Thomas Petazzoni wrote:
> Hello,
>
> On Thu, 28 Jan 2016 09:17:42 +0100, Thomas Petazzoni wrote:
>
> > I've restarted a build on my laptop, which has a more modern distro,
> > I'll let you know the results.
>
> The following defconfig:
>
> BR2_powerpc64=y
> BR2_powerpc_power8=y
>
> fails to build on my machine, with the same error:
>
> /tmp/ccZgjbrm.s: Assembler messages:
> /tmp/ccZgjbrm.s:19: Error: operand out of domain (7 is not a multiple of 2)
>
> Here is the offending assembly file:
>
> .file "exch_n.c"
> .section ".toc","aw"
> .section ".text"
> .align 2
> .globl libat_exchange_16
> .hidden libat_exchange_16
> .section ".opd","aw"
> .align 3
> libat_exchange_16:
> .quad .L.libat_exchange_16,.TOC. at tocbase,0
> .previous
> .type libat_exchange_16, @function
> .L.libat_exchange_16:
> sync
> mr 9,3
> mr 11,5
> mr 10,4
> .L2:
> lqarx 7,0,9
> mr 3,7
> mr 4,8
> stqcx. 10,0,9
> bne- 0,.L2
> isync
> blr
> .long 0
> .byte 0,0,0,0,0,0,0,0
> .size libat_exchange_16,.-.L.libat_exchange_16
> .globl __atomic_exchange_16
> .set __atomic_exchange_16,libat_exchange_16
> .ident "GCC: (Buildroot 2016.02-git-00995-g390d559) 4.9.3"
>
> So the instruction "lqarx 7,0,9" is at fault.
>
> Best regards,
>
> Thomas
I've managed to replicate your problem!
The key to reproducing it seems to be to optimise for size: I compared your
compile line to mine, and the only difference was -Os vs. -O3 :-)
So try optimizing for speed instead: this obviously works around it for me ;-)
And yes, it's the lqarx instruction causing the problem: it's first argument must
be even but it's 7, so this looks like a bug in gcc.
I did some searching around and it looks like this has been a problem in the
past and it's been fixed, but it looks like optimizing for size causes it to
re-appear. There's a bit of related info here:
http://comments.gmane.org/gmane.comp.gcc.bugs/388637
Would you like to raise it on https://gcc.gnu.org/bugzilla/ ?
Alternativly, it's no problem for me handle it if you like (I work on PowerKVM
:-).
Cheers,
Sam.
next prev parent reply other threads:[~2016-01-29 0:55 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-23 14:07 [Buildroot] PowerPC64 toolchain not building Thomas Petazzoni
2016-01-24 19:12 ` Waldemar Brodkorb
2016-01-24 20:36 ` Thomas Petazzoni
2016-01-27 4:38 ` Sam Bobroff
2016-01-27 8:32 ` Thomas Petazzoni
2016-01-28 2:44 ` Sam Bobroff
2016-01-28 8:17 ` Thomas Petazzoni
2016-01-28 9:20 ` Thomas Petazzoni
2016-01-29 0:55 ` Sam Bobroff [this message]
2016-02-03 14:45 ` Thomas Petazzoni
2016-01-28 9:47 ` Waldemar Brodkorb
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160129005530.GA4314@tungsten.ozlabs.ibm.com \
--to=sam.bobroff@au1.ibm.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.