diff options
author | 2018-11-02 10:56:00 +0100 | |
---|---|---|
committer | 2018-12-11 23:31:03 +0100 | |
commit | 89759cff76a98b44978eeb9714867a8e19d5e877 (patch) | |
tree | d625836760f7769d55cf6daee2a6a4291a8c4b88 /NEWS | |
parent | stdlib/tst-strtod-overflow: Switch to support_blob_repeat (diff) | |
download | glibc-89759cff76a98b44978eeb9714867a8e19d5e877.tar.gz glibc-89759cff76a98b44978eeb9714867a8e19d5e877.tar.bz2 glibc-89759cff76a98b44978eeb9714867a8e19d5e877.zip |
x86: Fix Haswell CPU string flags (BZ#23709)
Th commit 'Disable TSX on some Haswell processors.' (2702856bf4) changed the
default flags for Haswell models. Previously, new models were handled by the
default switch path, which assumed a Core i3/i5/i7 if AVX is available. After
the patch, Haswell models (0x3f, 0x3c, 0x45, 0x46) do not set the flags
Fast_Rep_String, Fast_Unaligned_Load, Fast_Unaligned_Copy, and
Prefer_PMINUB_for_stringop (only the TSX one).
This patch fixes it by disentangle the TSX flag handling from the memory
optimization ones. The strstr case cited on patch now selects the
__strstr_sse2_unaligned as expected for the Haswell cpu.
Checked on x86_64-linux-gnu.
[BZ #23709]
* sysdeps/x86/cpu-features.c (init_cpu_features): Set TSX bits
independently of other flags.
(cherry picked from commit c3d8dc45c9df199b8334599a6cbd98c9950dba62)
(cherry picked from commit 65010329f2c596bdd1204c1c9c9baac0193637af)
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -19,6 +19,7 @@ The following bugs are resolved with this release: [23579] libc: Errors misreported in preadv2 [23606] Missing ENDBR32 in sysdeps/i386/start.S [23679] gethostid: Missing NULL check for gethostbyname_r result + [23709] Fix CPU string flags for Haswell-type CPUs [23717] Fix stack overflow in stdlib/tst-setcontext9 [23821] si_band in siginfo_t has wrong type long int on sparc64 [23822] ia64 static libm.a is missing exp2f, log2f and powf symbols |