Skip to content

Floating-point constants aren't being displayed as floating-point #7225

@pjcreath

Description

@pjcreath

Version and Platform (required):

  • Binary Ninja Version: 5.2.8034-dev
  • Edition: Non-Commercial
  • OS: macOS
  • OS Version: 15
  • CPU Architecture: x64

Bug Description:
For some reason, all the floating-point constants I'm encountering are being displayed as large hex values, perhaps because they were constructed via multiple underlying instructions?

Steps To Reproduce:

  1. See binary below, notice floating-point constants at 1000386c4, 10003873c, 1000038750 are shown as hex.
  2. Right-click on them and select "Display as > Double" (since they're wrapped in float.d(0xCONSTANT)).
  3. See the actual values.

Expected Behavior:
I would have expected BN to automatically display something inside float.d(CONSTANT) as a double and float.s(CONSTANT) as a single.

Screenshots/Video Recording:
n/a

Binary:
See zodiac magic falls perfectly.

Additional Information:
When fixed, floating-point constants that correspond to integer values don't have any visible indication that they are floating-point rather than integers: i.e. instead of simply "90" it would be helpful to see something like "90f" or "90." or "90.0".

Metadata

Metadata

Assignees

No one assigned

    Labels

    Arch: ARM64Issues with the AArch64 architecture pluginComponent: ArchitectureIssue needs changes to an architecture pluginEffort: TrivialIssues require < 1 day of work

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions