public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/65341] New: [5 Regression] glibc build failure on ppc64le: setcontext.S:367: Error: junk at end of line: `1,0'
@ 2015-03-07  8:27 trippels at gcc dot gnu.org
  2015-03-07 12:40 ` [Bug target/65341] " jakub at gcc dot gnu.org
                   ` (18 more replies)
  0 siblings, 19 replies; 20+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-03-07  8:27 UTC (permalink / raw)
  To: gcc-bugs

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)


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/65341] [5 Regression] glibc build failure on ppc64le: setcontext.S:367: Error: junk at end of line: `1,0'
  2015-03-07  8:27 [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
@ 2015-03-07 12:40 ` jakub at gcc dot gnu.org
  2015-03-07 15:06 ` dje at gcc dot gnu.org
                   ` (17 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-03-07 12:40 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65341

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I'd say that predefining this macro is not a bug.
So, the issue is more likely that some -m* option isn't passed to the
assembler, or that .machine isn't emitted in the assembly.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/65341] [5 Regression] glibc build failure on ppc64le: setcontext.S:367: Error: junk at end of line: `1,0'
  2015-03-07  8:27 [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
  2015-03-07 12:40 ` [Bug target/65341] " jakub at gcc dot gnu.org
@ 2015-03-07 15:06 ` dje at gcc dot gnu.org
  2015-03-07 17:34 ` trippels at gcc dot gnu.org
                   ` (16 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: dje at gcc dot gnu.org @ 2015-03-07 15:06 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65341

--- Comment #2 from David Edelsohn <dje at gcc dot gnu.org> ---
When did this start?  GCC should be passing ".machine power8".  Was this before
or after Mike's change to processor default?


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/65341] [5 Regression] glibc build failure on ppc64le: setcontext.S:367: Error: junk at end of line: `1,0'
  2015-03-07  8:27 [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
  2015-03-07 12:40 ` [Bug target/65341] " jakub at gcc dot gnu.org
  2015-03-07 15:06 ` dje at gcc dot gnu.org
@ 2015-03-07 17:34 ` trippels at gcc dot gnu.org
  2015-03-07 18:45 ` msebor at gcc dot gnu.org
                   ` (15 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-03-07 17:34 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65341

--- Comment #3 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
(In reply to David Edelsohn from comment #2)
> When did this start?  GCC should be passing ".machine power8".  Was this
> before or after Mike's change to processor default?

It started with your r219854.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/65341] [5 Regression] glibc build failure on ppc64le: setcontext.S:367: Error: junk at end of line: `1,0'
  2015-03-07  8:27 [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
                   ` (2 preceding siblings ...)
  2015-03-07 17:34 ` trippels at gcc dot gnu.org
@ 2015-03-07 18:45 ` msebor at gcc dot gnu.org
  2015-03-07 19:02 ` jakub at gcc dot gnu.org
                   ` (14 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: msebor at gcc dot gnu.org @ 2015-03-07 18:45 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65341

Martin Sebor <msebor at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |msebor at gcc dot gnu.org

--- Comment #4 from Martin Sebor <msebor at gcc dot gnu.org> ---
The four operand form of the mtfsf instruction was added in Power ISA 2.5 and
gas recognizes it when targeting power6 or later.  From the glibc snippet it
does look like the first block controlled by _ARCH_PWR6 is missing the .machine
"power6" directive.  Once it's added I would expect as to be happy again (it is
in my tests, though I didn't go as far as building all of glibc).

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"


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/65341] [5 Regression] glibc build failure on ppc64le: setcontext.S:367: Error: junk at end of line: `1,0'
  2015-03-07  8:27 [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
                   ` (3 preceding siblings ...)
  2015-03-07 18:45 ` msebor at gcc dot gnu.org
@ 2015-03-07 19:02 ` jakub at gcc dot gnu.org
  2015-03-07 19:28 ` msebor at gcc dot gnu.org
                   ` (13 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-03-07 19:02 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65341

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I think the point is when _ARCH_PWR6 is defined, the assembler should be
already in power6 or later mode (either through .machine directive emitted by
the compiler earlier, or through some command line option passed to the
assembler), so glibc shouldn't need to do that.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/65341] [5 Regression] glibc build failure on ppc64le: setcontext.S:367: Error: junk at end of line: `1,0'
  2015-03-07  8:27 [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
                   ` (4 preceding siblings ...)
  2015-03-07 19:02 ` jakub at gcc dot gnu.org
@ 2015-03-07 19:28 ` msebor at gcc dot gnu.org
  2015-03-07 19:36 ` dje at gcc dot gnu.org
                   ` (12 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: msebor at gcc dot gnu.org @ 2015-03-07 19:28 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65341

--- Comment #6 from Martin Sebor <msebor at gcc dot gnu.org> ---
Ah, yes, I missed that the macro was defined by gcc rather than glibc.  It does
look like gcc defines the macro and then invokes as without telling it it's in
power6 mode.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/65341] [5 Regression] glibc build failure on ppc64le: setcontext.S:367: Error: junk at end of line: `1,0'
  2015-03-07  8:27 [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
                   ` (5 preceding siblings ...)
  2015-03-07 19:28 ` msebor at gcc dot gnu.org
@ 2015-03-07 19:36 ` dje at gcc dot gnu.org
  2015-03-07 21:25 ` msebor at gcc dot gnu.org
                   ` (11 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: dje at gcc dot gnu.org @ 2015-03-07 19:36 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65341

--- Comment #7 from David Edelsohn <dje at gcc dot gnu.org> ---
Was this fixed after Mike's patch?  The logic in rs6000_override_options was
ignoring TARGET_DEFAULT.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/65341] [5 Regression] glibc build failure on ppc64le: setcontext.S:367: Error: junk at end of line: `1,0'
  2015-03-07  8:27 [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
                   ` (6 preceding siblings ...)
  2015-03-07 19:36 ` dje at gcc dot gnu.org
@ 2015-03-07 21:25 ` msebor at gcc dot gnu.org
  2015-03-08  6:22 ` jakub at gcc dot gnu.org
                   ` (10 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: msebor at gcc dot gnu.org @ 2015-03-07 21:25 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65341

--- Comment #8 from Martin Sebor <msebor at gcc dot gnu.org> ---
(In reply to David Edelsohn from comment #7)

I assume the patch you are referring to is r221132 (pr65138).  It doesn't look
like that's fixed it.  The latest trunk exhibits the same problem:

$ cat t.s && /build/gcc-trunk-git/gcc/xgcc -B /build/gcc-trunk-git/gcc -dM -E
-xc - < /dev/null | grep PWR6 && /build/gcc-trunk-git/gcc/xgcc -B
/build/gcc-trunk-git/gcc -c -v t.s
    .text
start:
    mtfsf   6,10,0,0
#define _ARCH_PWR6 1
Reading specs from /build/gcc-trunk-git/gcc/specs
COLLECT_GCC=/build/gcc-trunk-git/gcc/xgcc
Target: powerpc64le-unknown-linux-gnu
Configured with: /src/gcc-trunk-git/configure --disable-bootstrap
--enable-languages=c,c++
Thread model: posix
gcc version 5.0.0 20150307 (experimental) (GCC) 
COLLECT_GCC_OPTIONS='-B' '/build/gcc-trunk-git/gcc' '-c' '-v'
 /build/gcc-trunk-git/gcc/as -v -a64 -mppc64 -many -mlittle -o t.o t.s
GNU assembler version 2.23.52.0.1 (ppc64le-redhat-linux) using BFD version
version 2.23.52.0.1-30.ael7b 20130226
t.s: Assembler messages:
t.s:3: Error: junk at end of line: `0,0'


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/65341] [5 Regression] glibc build failure on ppc64le: setcontext.S:367: Error: junk at end of line: `1,0'
  2015-03-07  8:27 [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
                   ` (7 preceding siblings ...)
  2015-03-07 21:25 ` msebor at gcc dot gnu.org
@ 2015-03-08  6:22 ` jakub at gcc dot gnu.org
  2015-03-08  6:29 ` trippels at gcc dot gnu.org
                   ` (9 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-03-08  6:22 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65341

--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Ah, indeed, I've totally missed it is a *.S file rather than *.c.  Thus this is
certainly a glibc bug, please file it there instead.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/65341] [5 Regression] glibc build failure on ppc64le: setcontext.S:367: Error: junk at end of line: `1,0'
  2015-03-07  8:27 [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
                   ` (8 preceding siblings ...)
  2015-03-08  6:22 ` jakub at gcc dot gnu.org
@ 2015-03-08  6:29 ` trippels at gcc dot gnu.org
  2015-03-08 13:37 ` dje at gcc dot gnu.org
                   ` (8 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-03-08  6:29 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65341

--- Comment #11 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
So one has to use:
CC="gcc -Wa,-mpower8" CXX="g++ -Wa,-mpower8" ../glibc/configure 
to configure glibc on ppc64le? This looks odd to me.
Why not pass -mpower8 to the assembler by default?


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/65341] [5 Regression] glibc build failure on ppc64le: setcontext.S:367: Error: junk at end of line: `1,0'
  2015-03-07  8:27 [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
                   ` (9 preceding siblings ...)
  2015-03-08  6:29 ` trippels at gcc dot gnu.org
@ 2015-03-08 13:37 ` dje at gcc dot gnu.org
  2015-03-08 14:06 ` trippels at gcc dot gnu.org
                   ` (7 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: dje at gcc dot gnu.org @ 2015-03-08 13:37 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65341

--- Comment #12 from David Edelsohn <dje at gcc dot gnu.org> ---
The assembly file should start with

.machine power4

which is the lowest level ISA supported on PPC64 Linux, GLIBC and mtfsf.

If one invokes GCC with multiple -m options, it is complicated to calculate the
correct assembler command line option, especially at the point that the
assembler command is generated.  With an assembler file, the compiler has no
knowledge about the contents and should not guess the required ISA.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/65341] [5 Regression] glibc build failure on ppc64le: setcontext.S:367: Error: junk at end of line: `1,0'
  2015-03-07  8:27 [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
                   ` (10 preceding siblings ...)
  2015-03-08 13:37 ` dje at gcc dot gnu.org
@ 2015-03-08 14:06 ` trippels at gcc dot gnu.org
  2015-03-08 16:16 ` msebor at gcc dot gnu.org
                   ` (6 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-03-08 14:06 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65341

--- Comment #13 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
It starts with: .machine "altivec" instead.
But we are talking about powerpc64le-unknown-linux-gnu here.
And -mpower8 is always right in this case, no?


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/65341] [5 Regression] glibc build failure on ppc64le: setcontext.S:367: Error: junk at end of line: `1,0'
  2015-03-07  8:27 [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
                   ` (11 preceding siblings ...)
  2015-03-08 14:06 ` trippels at gcc dot gnu.org
@ 2015-03-08 16:16 ` msebor at gcc dot gnu.org
  2015-03-09  1:37 ` dje at gcc dot gnu.org
                   ` (5 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: msebor at gcc dot gnu.org @ 2015-03-08 16:16 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65341

--- Comment #14 from Martin Sebor <msebor at gcc dot gnu.org> ---
I'm confused: I thought gcc defining the _ARCH_PWR6 macro in response to
-mcpu=power6 or some such implied that the target was power6.  Shouldn't gcc
then also invoke the assembler with the -mpower6 option to make sure it's also
in power6 mode?

Incidentally, the background on the glibc code is here:

  http://sourceware.org/bugzilla/show_bug.cgi?id=10118


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/65341] [5 Regression] glibc build failure on ppc64le: setcontext.S:367: Error: junk at end of line: `1,0'
  2015-03-07  8:27 [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
                   ` (12 preceding siblings ...)
  2015-03-08 16:16 ` msebor at gcc dot gnu.org
@ 2015-03-09  1:37 ` dje at gcc dot gnu.org
  2015-03-09 12:12 ` rguenth at gcc dot gnu.org
                   ` (4 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: dje at gcc dot gnu.org @ 2015-03-09  1:37 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65341

--- Comment #15 from David Edelsohn <dje at gcc dot gnu.org> ---
GCC is not magic black box for invoking every other part of the toolchain with
the correct options.  If the assembly code uses POWER6 (ISA 2.05) instructions,
it should set the ISA level appropriately.  The assembly code in question is
using the pre-processor of GCC, which defines machine macros.  The logic for
setting command line options is too complicated and error-prone to recreate
separate from the ISA target flags.  GCC emits the correct ISA level when
generating an assembly file, but utilizing GCC for the pre-processor
capabilities does not emit any new assembly instructions for GCC to set
directives at the start of the file.  The change in GCC behavior is because it
is too cumbersome for GCC to get this right in some corner cases.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/65341] [5 Regression] glibc build failure on ppc64le: setcontext.S:367: Error: junk at end of line: `1,0'
  2015-03-07  8:27 [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
                   ` (13 preceding siblings ...)
  2015-03-09  1:37 ` dje at gcc dot gnu.org
@ 2015-03-09 12:12 ` rguenth at gcc dot gnu.org
  2015-03-09 16:13 ` meissner at gcc dot gnu.org
                   ` (3 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-03-09 12:12 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65341

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |5.0


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/65341] [5 Regression] glibc build failure on ppc64le: setcontext.S:367: Error: junk at end of line: `1,0'
  2015-03-07  8:27 [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
                   ` (14 preceding siblings ...)
  2015-03-09 12:12 ` rguenth at gcc dot gnu.org
@ 2015-03-09 16:13 ` meissner at gcc dot gnu.org
  2015-03-09 16:45 ` trippels at gcc dot gnu.org
                   ` (2 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: meissner at gcc dot gnu.org @ 2015-03-09 16:13 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65341

--- Comment #16 from Michael Meissner <meissner at gcc dot gnu.org> ---
As I can see there are several issues/whatever.

1) Each of the _ARCH_PWR<n> is cumulative, so if you say -mcpu=power8 for
instance, it defines _ARCH_PWR4, _ARCH_PWR5, _ARCH_PWR5X, _ARCH_PWR6,
_ARCH_PWR7, and _ARCH_PWR8.  Note, it does not define _ARCH_PWR6X, since those
instructions only exist in the power6x, and are not in later versions of the
power hardware.

2) If you had used a compiler that was configured using the --with-cpu=power8
option, it would have shown the same results, since _ARCH_PWR6 would have been
defined.  It was only if you use a compiler that was not configured using
--with-cpu=<xxx>, would the code be assembled using the older form of the asm
insns.  I believe each of the 3 distributions use some form of --with-cpu=<xxx>
in building their compiler.

3) Given that ISA 2.07 (i.e. power8) is officially the minimum baseline for
64-bit PowerPC little endian, perhaps the assembler should be modified to
default to power8.  Obviously if this change is desired, you need to raise it
on the appropriate binutils forums.

4) Using .machine altivec as you've discovered is the wrong value for PowerPC
64 Little Endian Linux.  It was the right value back in the days of the Apple
G5, but it is not right for the current PowerPC 64LE environment.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/65341] [5 Regression] glibc build failure on ppc64le: setcontext.S:367: Error: junk at end of line: `1,0'
  2015-03-07  8:27 [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
                   ` (15 preceding siblings ...)
  2015-03-09 16:13 ` meissner at gcc dot gnu.org
@ 2015-03-09 16:45 ` trippels at gcc dot gnu.org
  2015-03-26  1:26 ` pinskia at gcc dot gnu.org
  2015-03-26  2:38 ` msebor at gcc dot gnu.org
  18 siblings, 0 replies; 20+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-03-09 16:45 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65341

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |WONTFIX

--- Comment #17 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
OK, I will use --with-cpu=power8 in the future.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/65341] [5 Regression] glibc build failure on ppc64le: setcontext.S:367: Error: junk at end of line: `1,0'
  2015-03-07  8:27 [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
                   ` (16 preceding siblings ...)
  2015-03-09 16:45 ` trippels at gcc dot gnu.org
@ 2015-03-26  1:26 ` pinskia at gcc dot gnu.org
  2015-03-26  2:38 ` msebor at gcc dot gnu.org
  18 siblings, 0 replies; 20+ messages in thread
From: pinskia at gcc dot gnu.org @ 2015-03-26  1:26 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65341

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |amodra at gmail dot com

--- Comment #18 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
*** Bug 65574 has been marked as a duplicate of this bug. ***


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [Bug target/65341] [5 Regression] glibc build failure on ppc64le: setcontext.S:367: Error: junk at end of line: `1,0'
  2015-03-07  8:27 [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
                   ` (17 preceding siblings ...)
  2015-03-26  1:26 ` pinskia at gcc dot gnu.org
@ 2015-03-26  2:38 ` msebor at gcc dot gnu.org
  18 siblings, 0 replies; 20+ messages in thread
From: msebor at gcc dot gnu.org @ 2015-03-26  2:38 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65341

--- Comment #19 from Martin Sebor <msebor at gcc dot gnu.org> ---
Glibc bug #18116 tracks the discussion of the build failure (and the proposed
fix) there:
https://sourceware.org/bugzilla/show_bug.cgi?id=18116


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2015-03-26  0:02 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-07  8:27 [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
2015-03-07 12:40 ` [Bug target/65341] " jakub at gcc dot gnu.org
2015-03-07 15:06 ` dje at gcc dot gnu.org
2015-03-07 17:34 ` trippels at gcc dot gnu.org
2015-03-07 18:45 ` msebor at gcc dot gnu.org
2015-03-07 19:02 ` jakub at gcc dot gnu.org
2015-03-07 19:28 ` msebor at gcc dot gnu.org
2015-03-07 19:36 ` dje at gcc dot gnu.org
2015-03-07 21:25 ` msebor at gcc dot gnu.org
2015-03-08  6:22 ` jakub at gcc dot gnu.org
2015-03-08  6:29 ` trippels at gcc dot gnu.org
2015-03-08 13:37 ` dje at gcc dot gnu.org
2015-03-08 14:06 ` trippels at gcc dot gnu.org
2015-03-08 16:16 ` msebor at gcc dot gnu.org
2015-03-09  1:37 ` dje at gcc dot gnu.org
2015-03-09 12:12 ` rguenth at gcc dot gnu.org
2015-03-09 16:13 ` meissner at gcc dot gnu.org
2015-03-09 16:45 ` trippels at gcc dot gnu.org
2015-03-26  1:26 ` pinskia at gcc dot gnu.org
2015-03-26  2:38 ` msebor at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).