Branch: refs/heads/master Home: https://github.com/dyninst/dyninst Commit: 72bc4c6de1baa151ca3941d0f63fb0a7b0925c70 https://github.com/dyninst/dyninst/commit/72bc4c6de1baa151ca3941d0f63fb0a7b0925c70 Author: Bolo -- Josef Burger <bigt...@users.noreply.github.com> Date: 2023-02-17 (Fri, 17 Feb 2023)
Changed paths: M common/src/arch-x86.C M common/src/arch-x86.h M instructionAPI/h/Result.h Log Message: ----------- x86 8-bit immediate values were interpreted incorrectly cross-platform. (#1373) 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. Jim Kupsch contributed additional correctness changes to common/src/arch-x86.C that were added to this branch/PR to fix yet more problems of this ilk. _______________________________________________ Dyninst-api mailing list Dyninst-api@cs.wisc.edu https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api