bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gas/31326] New: SCFI must handle non QWORD ALU with imm and MOV ops


From: indu.bhagat at oracle dot com
Subject: [Bug gas/31326] New: SCFI must handle non QWORD ALU with imm and MOV ops correctly
Date: Fri, 02 Feb 2024 00:07:34 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=31326

            Bug ID: 31326
           Summary: SCFI must handle non QWORD ALU with imm and MOV ops
                    correctly
           Product: binutils
           Version: 2.43 (HEAD)
            Status: NEW
          Severity: normal
          Priority: P2
         Component: gas
          Assignee: unassigned at sourceware dot org
          Reporter: indu.bhagat at oracle dot com
  Target Milestone: ---

As per the x86 ISA manual:
  - 32-bit operands generate a 32-bit result, zero-extended to a 64-bit result
in the destination general-purpose register.
  - 8-bit and 16-bit operands generate an 8-bit or 16-bit result. The upper 56
bits or 48 bits (respectively) of the destination general-purpose register are
not modified by the operation.

Unlike previously thought, sub-QWORD ALU/imm and MOV ops _do_ have implications
on SCFI.  SCFI/ginsn machinery does not track operation size in the ginsn
representation.  But given that these sub-QWORD ops update only a portion of a
64-bit destination register, for SCFI purposes, this needs to be deemed as an
untraceable update (when the destination is REG_SP / REG_FP). Although in most
cases, sub-QWORD ops are not expected for stack management, but the SCFI
machinery must behave correctly, when such ops are indeed present.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]