diff options
author | Gabriel F. T. Gomes <gabrielftg@linux.ibm.com> | 2019-05-27 15:21:22 -0300 |
---|---|---|
committer | Gabriel F. T. Gomes <gabrielftg@linux.ibm.com> | 2019-05-30 11:10:48 -0300 |
commit | 9250e6610fdb0f3a6f238d2813e319a41fb7a810 (patch) | |
tree | bbcc595ae06409a58aed4805786db477e33ca153 /sysdeps/powerpc/powerpc64/power8/strcasestr.S | |
parent | fbd6c928bb96ca9ca41577f59c9b5b5223ef5bce (diff) | |
download | glibc-9250e6610fdb0f3a6f238d2813e319a41fb7a810.zip glibc-9250e6610fdb0f3a6f238d2813e319a41fb7a810.tar.gz glibc-9250e6610fdb0f3a6f238d2813e319a41fb7a810.tar.bz2 |
powerpc: Fix build failures with current GCC
Since GCC commit 271500 (svn), also known as the following commit on the
git mirror:
commit 61edec870f9fdfb5df3fa4e40f28cbaede28a5b1
Author: amodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Wed May 22 04:34:26 2019 +0000
[RS6000] Don't pass -many to the assembler
glibc builds are failing when an assembly implementation does not
declare the correct '.machine' directive, or when no such directive is
declared at all. For example, when a POWER6 instruction is used, but
'.machine power6' is not declared, the assembler will fail with an error
similar to the following:
../sysdeps/powerpc/powerpc64/power8/strcmp.S: Assembler messages:
24 ../sysdeps/powerpc/powerpc64/power8/strcmp.S:55: Error: unrecognized opcode: `cmpb'
This patch adds '.machine powerN' directives where none existed, as well
as it updates '.machine power7' directives on POWER8 files, because the
minimum binutils version required to build glibc (binutils 2.25) now
provides this machine version. It also adds '-many' to the assembler
command used to build tst-set_ppr.c.
Tested for powerpc, powerpc64, and powerpc64le, as well as with
build-many-glibcs.py for powerpc targets.
Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
Diffstat (limited to 'sysdeps/powerpc/powerpc64/power8/strcasestr.S')
-rw-r--r-- | sysdeps/powerpc/powerpc64/power8/strcasestr.S | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/sysdeps/powerpc/powerpc64/power8/strcasestr.S b/sysdeps/powerpc/powerpc64/power8/strcasestr.S index cabeeae..3d8e518 100644 --- a/sysdeps/powerpc/powerpc64/power8/strcasestr.S +++ b/sysdeps/powerpc/powerpc64/power8/strcasestr.S @@ -73,18 +73,8 @@ vor reg, v8, reg; \ vcmpequb. v6, reg, v4; -/* TODO: change these to the actual instructions when the minimum required - binutils allows it. */ -#ifdef _ARCH_PWR8 -#define VCLZD_V8_v7 vclzd v8, v7; -#else -#define VCLZD_V8_v7 .long 0x11003fc2 -#endif - #define FRAMESIZE (FRAME_MIN_SIZE+48) -/* TODO: change this to .machine power8 when the minimum required binutils - allows it. */ - .machine power7 + .machine power8 ENTRY (STRCASESTR, 4) CALL_MCOUNT 2 mflr r0 /* Load link register LR to r0. */ @@ -291,7 +281,7 @@ L(nullchk1): vcmpequb. v6, v0, v7 /* Shift r3 by 16 bytes and proceed. */ blt cr6, L(shift16) - VCLZD_V8_v7 + vclzd v8, v7 #ifdef __LITTLE_ENDIAN__ vspltb v6, v8, 15 #else |