On Wed, May 14, 2014 at 01:34:34PM +1000, Stephen Rothwell wrote: > OK, this appears to be an assembler bug.
Agreed. Upgrade binutils! > $ cat test.s > .text > x: > .pushsection b, "a" > beq y > .popsection > .=0x80000 > y: > $ /opt/cross/gcc-4.6.3-nolibc/powerpc64-linux/bin/powerpc64-linux-as --version > GNU assembler (GNU Binutils) 2.22 > This assembler was configured for a target of `powerpc64-linux'. > $ /opt/cross/gcc-4.6.3-nolibc/powerpc64-linux/bin/powerpc64-linux-as -o > test.o test.s > test.s: Assembler messages: > test.s:4: Error: operand out of range (0x0000000000080000 is not between > 0xffffffffffff8000 and 0x0000000000007ffc) > $ /opt/cross/gcc-4.8.1-nolibc/powerpc64-linux/bin/powerpc64-linux-as --version > GNU assembler (GNU Binutils) 2.23.52.20130512 > This assembler was configured for a target of `powerpc64-linux'. > $ /opt/cross/gcc-4.8.1-nolibc/powerpc64-linux/bin/powerpc64-linux-as -o > test.o test.s > (no error) > > Alan, can you shed light on when it was fixed? 2012-11-05 https://sourceware.org/ml/binutils/2012-11/msg00043.html git show 3b8b57a9495016b2b02fbc2612dd1607d4b6f9ba The part that actually fixes this problem is "Leave insn field zero...". -- Alan Modra Australia Development Lab, IBM _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev