[Bug target/65341] New: [5 Regression] glibc build failure on ppc64le: setcontext.S:367: Error: junk at end of line: `1,0'
trippels at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Mar 7 08:27:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65341
Bug ID: 65341
Summary: [5 Regression] glibc build failure on ppc64le:
setcontext.S:367: Error: junk at end of line: `1,0'
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: trippels at gcc dot gnu.org
CC: dje at gcc dot gnu.org, meissner at gcc dot gnu.org
glibc doesn't build anymore on ppc64le:
% gcc ../sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S -c
-I../include -I/home/trippels/glibc_build/stdlib -I/home/trippels/glibc_build
-I../sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu
-I../sysdeps/unix/sysv/linux/powerpc/powerpc64
-I../sysdeps/unix/sysv/linux/wordsize-64 -I../sysdeps/unix/sysv/linux/powerpc
-I../sysdeps/powerpc/nptl -I../sysdeps/unix/sysv/linux/include
-I../sysdeps/unix/sysv/linux -I../sysdeps/nptl -I../sysdeps/pthread
-I../sysdeps/gnu -I../sysdeps/unix/inet -I../sysdeps/unix/sysv
-I../sysdeps/unix/powerpc -I../sysdeps/unix -I../sysdeps/posix
-I../sysdeps/powerpc/powerpc64/fpu -I../sysdeps/powerpc/powerpc64
-I../sysdeps/wordsize-64 -I../sysdeps/powerpc/fpu -I../sysdeps/powerpc
-I../sysdeps/ieee754/ldbl-128ibm -I../sysdeps/ieee754/ldbl-opt
-I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754
-I../sysdeps/generic -I.. -I../libio -I. -nostdinc -isystem
/home/trippels/gcc_test/usr/local/bin/../lib/gcc/powerpc64le-unknown-linux-gnu/5.0.0/include
-isystem
/home/trippels/gcc_test/usr/local/bin/../lib/gcc/powerpc64le-unknown-linux-gnu/5.0.0/include-fixed
-isystem /usr/include -D_LIBC_REENTRANT -include
/home/trippels/glibc_build/libc-modules.h -DMODULE_NAME=libc -include
../include/libc-symbols.h -DASSEMBLER -g -Werror=undef -Wa,--noexecstack -o
/home/trippels/glibc_build/stdlib/setcontext.o -MD -MP -MF
/home/trippels/glibc_build/stdlib/setcontext.o.dt -MT
/home/trippels/glibc_build/stdlib/setcontext.o
../sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Assembler messages:
../sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S:367: Error: junk at
end of line: `1,0'
This happens because the _ARCH_PWR6 macro is now defined with gcc-5:
trippels@gcc2-power8 gcc % gcc -dM -E - < /dev/null | grep _ARCH_PWR6
#define _ARCH_PWR6 1
and sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S contains:
365 # ifdef _ARCH_PWR6
366 /* Use the extended four-operand version of the mtfsf insn. */
367 mtfsf 0xff,fp0,1,0
368 # else
369 .machine push
370 .machine "power6"
371 /* Availability of DFP indicates a 64-bit FPSCR. */
372 andi. r6,r5,PPC_FEATURE_HAS_DFP
373 beq 7f
374 /* Use the extended four-operand version of the mtfsf insn. */
375 mtfsf 0xff,fp0,1,0
376 b 8f
377 /* Continue to operate on the FPSCR as if it were 32-bits. */
378 7:
379 mtfsf 0xff,fp0
380 8:
381 .machine pop
382 # endif /* _ARCH_PWR6 */
trippels@gcc2-power8 stdlib % diff -u setcontext.s setcontext.s_bad
--- setcontext.s 2015-03-07 08:20:19.902444301 +0000
+++ setcontext.s_bad 2015-03-07 07:57:46.171055684 +0000
@@ -285,22 +285,8 @@
-
-
- .machine push
- .machine "power6"
-
- andi. 6,5,0x00000400
- beq 7f
-
mtfsf 0xff,0,1,0
- b 8f
-
-7:
- mtfsf 0xff,0
-8:
- .machine pop
-
+# 383 "../sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S"
lfd 29,(616 +(29*8))(31)
lfd 28,(616 +(28*8))(31)
lfd 27,(616 +(27*8))(31)
More information about the Gcc-bugs
mailing list