From 53726025f10b8cbee717b93bafbb33bd8de4cc71 Mon Sep 17 00:00:00 2001 From: Djordje Todorovic Date: Tue, 26 Sep 2017 15:43:43 +0200 Subject: [PATCH] libdw: Proper handling of DW_AT_high_pc Since DWARF4 DW_AT_high_pc may be a constant. Which should be added to the DW_AT_low_pc value to get the address. Signed-off-by: Djordje Todorovic --- libdw/c++/dwarf-knowledge.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libdw/c++/dwarf-knowledge.cc b/libdw/c++/dwarf-knowledge.cc index ea80091cd..8543f9b39 100644 --- a/libdw/c++/dwarf-knowledge.cc +++ b/libdw/c++/dwarf-knowledge.cc @@ -121,10 +121,12 @@ expected_value_space (int attr, int tag) return VS(rangelistptr); case DW_AT_low_pc: - case DW_AT_high_pc: case DW_AT_entry_pc: return VS(address); + case DW_AT_high_pc: + return VS(address) | VS(constant); + case DW_AT_discr: return VS(reference); case DW_AT_discr_value: -- 2.47.3