summaryrefslogtreecommitdiffstats
path: root/external/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-Bug-fix-for-data-type-length-judgment.patch
blob: 98cc9ba907614df2c807420535bee57f9684ce05 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
From 5226333bddb755dbefd780d31450e0238dd5d3bd Mon Sep 17 00:00:00 2001
From: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
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 <wangmy.fnst@cn.fujitsu.com>
---
 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