This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/65341] [5 Regression] glibc build failure on ppc64le: setcontext.S:367: Error: junk at end of line: `1,0'


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]