Bug 1869401

Summary: Backport "x86: don't mistakenly scale non-8-bit displacements"
Product: Red Hat Enterprise Linux 8 Reporter: Ilya Maximets <i.maximets>
Component: binutilsAssignee: Nick Clifton <nickc>
binutils sub component: system-version QA Contact: Miloš Prchlík <mprchlik>
Status: CLOSED ERRATA Docs Contact:
Severity: unspecified    
Priority: unspecified CC: alex.wang, fweimer, jakub, law, mcermak, mprchlik, ohudlick, sipoyare, tschelle
Version: 8.2Keywords: Bugfix, Triaged
Target Milestone: rc   
Target Release: 8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: binutils-2.30-79.el8 Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-04 01:41:45 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ilya Maximets 2020-08-17 20:48:13 UTC
Description of problem:

There is a bug in binutils 2.30 and 2.31 that makes assembler to generate
incorrect AVX512 instructions:
  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90028
DPDK and Open vSwitch projects automatically checks for a broken functionality
and completely disables support for AVX512 in case of broken binutils.
This means that it's not possible to build DPDK or Open vSwith on rhel8 with
AVX512 support even with '-march=native'.  Other projects that doesn't have
build time checks might experience crashes due to incorrect instructions.

Fix exists in upstream and needs to be backported:
  https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=4e518864c879be2e6af4c64415e8775d9a20deaf

Version-Release number of selected component (if applicable):

binutils-2.30-73.el8

Steps to Reproduce:
1. echo 'vpgatherqq 0x8(,%ymm1,1),%ymm0{%k2}' | as --64 -
2. objdump -d  --no-show-raw-insn a.out | grep vpgatherqq

Actual results:

   0:   vpgatherqq 0x1(,%ymm1,1),%ymm0{%k2}

Expected results:

   0:   vpgatherqq 0x8(,%ymm1,1),%ymm0{%k2}

Comment 5 Jeff Law 2020-09-03 21:12:01 UTC
*** Bug 1872543 has been marked as a duplicate of this bug. ***

Comment 6 Jakub Jelinek 2020-09-04 12:46:58 UTC
*** Bug 1875811 has been marked as a duplicate of this bug. ***

Comment 7 Miloš Prchlík 2020-09-08 10:58:35 UTC
Verified with binutils-2.30-79.el8.

Comment 10 errata-xmlrpc 2020-11-04 01:41:45 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Low: binutils security update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2020:4465