From 609290a61d4f900c65b7e0e273981022a826e4c0 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Sun, 29 Nov 2020 01:57:53 +0100 Subject: [PATCH] libdwfl: Use 64bit GElf_Addr instead of size_t to calculate address. size_t is too small on 32 bit systems to analyze a 64 bit core file. Signed-off-by: Mark Wielaard --- libdwfl/ChangeLog | 5 +++++ libdwfl/dwfl_segment_report_module.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog index a5cffc49..67a4d743 100644 --- a/libdwfl/ChangeLog +++ b/libdwfl/ChangeLog @@ -1,3 +1,8 @@ +2020-11-28 Mark Wielaard + + * dwfl_segment_report_module.c (dwfl_segment_report_module): + Use GElf_Addr to calculate note_vaddr instead of size_t. + 2020-11-26 Timm Bäder * dwfl_segment_report_module.c (dwfl_segment_report_module): diff --git a/libdwfl/dwfl_segment_report_module.c b/libdwfl/dwfl_segment_report_module.c index 8d99e3bb..ee9cfa2e 100644 --- a/libdwfl/dwfl_segment_report_module.c +++ b/libdwfl/dwfl_segment_report_module.c @@ -501,7 +501,7 @@ dwfl_segment_report_module (Dwfl *dwfl, int ndx, const char *name, /* We calculate from the p_offset of the note segment, because we don't yet know the bias for its p_vaddr. */ - const size_t note_vaddr = start + offset; + const GElf_Addr note_vaddr = start + offset; void *data; size_t data_size; if (read_portion (&read_state, &data, &data_size, -- 2.18.4