[DynInst_API:] [dyninst/dyninst] 88b7cf: x86 8-bit immediate values were interpreted incorr...


Date: Fri, 17 Feb 2023 07:21:04 -0800
From: Bolo -- Josef Burger <noreply@xxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] 88b7cf: x86 8-bit immediate values were interpreted incorr...
  Branch: refs/heads/bolo/x86_immed
  Home:   https://github.com/dyninst/dyninst
  Commit: 88b7cf53f63d25f047cb18790931d18eb9b5aae7
      https://github.com/dyninst/dyninst/commit/88b7cf53f63d25f047cb18790931d18eb9b5aae7
  Author: Bolo <bolo@xxxxxxxxxxx>
  Date:   2023-02-17 (Fri, 17 Feb 2023)

  Changed paths:
    M common/src/arch-x86.h
    M instructionAPI/h/Result.h

  Log Message:
  -----------
  x86 8-bit immediate values were interpreted incorrectly cross-platform.

Correct interpretation of Intel instructions requires
sign extension.   On intel it works because chars are
signed on that platform.   On other platforms (arm64, powerpc64)
intel code was not correctly analyzed because incorrect
values were generated from 8 bit immediate constants;
which were interpreted as unsigned on those systems.

These changes ensure intel code will be correctly interpreted
on any system, regardless of the signedness of chars.

A n-way validation was used to validate this change, to
ensure that correct code interpretation of (intel, arm,
power) code happens on all three platforms.    No other
issues of this nature were located -- at this time.


[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] [dyninst/dyninst] 88b7cf: x86 8-bit immediate values were interpreted incorr..., Bolo -- Josef Burger <=