bug-binutils
[Top][All Lists]
Advanced

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

[Bug gas/31617] New: VAX: Check immediates to match expected operand typ


From: address@hidden
Subject: [Bug gas/31617] New: VAX: Check immediates to match expected operand type
Date: Sun, 07 Apr 2024 21:06:25 +0000

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

            Bug ID: 31617
           Summary: VAX: Check immediates to match expected operand type
           Product: binutils
           Version: unspecified
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: gas
          Assignee: unassigned at sourceware dot org
          Reporter: jbglaw@lug-owl.de
  Target Milestone: ---

In NetBSD's src/sys/arch/vax/vax/unimpl_emul.S, we had three bogus assembler
statements:

        movq $0f0.0, TMPFRAC2
        movd $0f0.0, TMPFRAC1
        movd $0f0, (%r0)

NOVQ is ment to work on a 64bit (integer) value, MOVD is ment to work on a
D_Float type (64bit wide.) The supplied immediate value is of type F_Float and
thus only 32bit wide.

Compiling the actual unimpl_emul.S resulted in observable differences: The
generated immediate was correctly rendered as 64bit wide, with the low 32bit
containing the correctly parsed F_Float, but the upper 32bit contained random
stale data. Thus, interpreted as D_Float, the value is no longer 0.0 .

As we know the expected types for all instructions, we'd be able to reject such
a situation where not even the size is correct.

-- 
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]