mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
scripts/gdb/utils: add common type usage
Since we often use 'unsigned long', 'size_t', 'usigned int' and 'struct page', we add these common types to utils. Link: https://lkml.kernel.org/r/20230808083020.22254-4-Kuan-Ying.Lee@mediatek.com Signed-off-by: Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com> Cc: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Cc: Chinwen Chang <chinwen.chang@mediatek.com> Cc: Matthias Brugger <matthias.bgg@gmail.com> Cc: Qun-Wei Lin <qun-wei.lin@mediatek.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
82141540c3
commit
4d040cbca8
@ -35,12 +35,32 @@ class CachedType:
|
|||||||
|
|
||||||
|
|
||||||
long_type = CachedType("long")
|
long_type = CachedType("long")
|
||||||
|
ulong_type = CachedType("unsigned long")
|
||||||
|
uint_type = CachedType("unsigned int")
|
||||||
atomic_long_type = CachedType("atomic_long_t")
|
atomic_long_type = CachedType("atomic_long_t")
|
||||||
|
size_t_type = CachedType("size_t")
|
||||||
|
struct_page_type = CachedType("struct page")
|
||||||
|
|
||||||
|
def get_uint_type():
|
||||||
|
global uint_type
|
||||||
|
return uint_type.get_type()
|
||||||
|
|
||||||
|
def get_page_type():
|
||||||
|
global struct_page_type
|
||||||
|
return struct_page_type.get_type()
|
||||||
|
|
||||||
def get_long_type():
|
def get_long_type():
|
||||||
global long_type
|
global long_type
|
||||||
return long_type.get_type()
|
return long_type.get_type()
|
||||||
|
|
||||||
|
def get_ulong_type():
|
||||||
|
global ulong_type
|
||||||
|
return ulong_type.get_type()
|
||||||
|
|
||||||
|
def get_size_t_type():
|
||||||
|
global size_t_type
|
||||||
|
return size_t_type.get_type()
|
||||||
|
|
||||||
def offset_of(typeobj, field):
|
def offset_of(typeobj, field):
|
||||||
element = gdb.Value(0).cast(typeobj)
|
element = gdb.Value(0).cast(typeobj)
|
||||||
return int(str(element[field].address).split()[0], 16)
|
return int(str(element[field].address).split()[0], 16)
|
||||||
|
Loading…
Reference in New Issue
Block a user