From 5226333bddb755dbefd780d31450e0238dd5d3bd Mon Sep 17 00:00:00 2001 From: Zang Ruochen Date: Wed, 16 Oct 2019 08:24:23 +0900 Subject: [PATCH] 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. Upstream-Status: Pending Signed-off-by: Wang Mingyu --- dwarf_prototypes.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dwarf_prototypes.c b/dwarf_prototypes.c index bfac177..9887d4b 100644 --- a/dwarf_prototypes.c +++ b/dwarf_prototypes.c @@ -190,7 +190,7 @@ static bool get_integer_base_type(enum arg_type *type, int byte_size, return true; } - if (byte_size == sizeof(long)) { + if (byte_size == sizeof(long long)) { *type = is_signed ? ARGTYPE_LONG : ARGTYPE_ULONG; return true; } -- 2.7.4