ltrace:Bug fix for data type length judgment

...
if (byte_size == sizeof(long)) {

        *type = is_signed ? ARGTYPE_LONG : ARGTYPE_ULONG;

        return true;

}
...

If ltrace's target command has a dbg package, ltrace will look for the debug file and analyze its contents.
Ltrace determines the type of analysis result variable. The type of the variable is longlong.
On 32-bit systems, longlong is 8 and long is 4 (same as in).
An error occurred because the ltrace code did not process a variable of length 8.

Signed-off-by: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
Signed-off-by: Wang Mingyu <wangmy.fnst@cn.fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Zang Ruochen
2019-10-21 11:13:30 +08:00
committed by Khem Raj
parent 9294da37f8
commit 81f0a3c12f
2 changed files with 43 additions and 0 deletions
@@ -28,6 +28,7 @@ SRC_URI = "git://github.com/sparkleholic/ltrace.git;branch=master;protocol=http
file://0001-move-fprintf-into-same-block-where-modname-and-symna.patch \
file://0001-hook-Do-not-append-int-to-std-string.patch \
file://include_unistd_nr.patch \
file://0001-Bug-fix-for-data-type-length-judgment.patch \
"
S = "${WORKDIR}/git"