Index: include/lldb/lldb-enumerations.h =================================================================== --- include/lldb/lldb-enumerations.h +++ include/lldb/lldb-enumerations.h @@ -781,6 +781,7 @@ eAddressClassCode, eAddressClassCodeAlternateISA, eAddressClassData, + eAddressClassDataIntermixedCode, eAddressClassDebug, eAddressClassRuntime }; Index: source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp =================================================================== --- source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp +++ source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp @@ -2000,7 +2000,7 @@ else if (symbol_name_ref == "$d" || symbol_name_ref.startswith("$d.")) { // $d[.]* - marks a data item sequence (e.g. lit pool) - m_address_class_map[symbol.st_value] = eAddressClassData; + m_address_class_map[symbol.st_value] = eAddressClassDataIntermixedCode; } } continue; @@ -2024,7 +2024,7 @@ else if (symbol_name_ref == "$d" || symbol_name_ref.startswith("$d.")) { // $d[.]* - marks a data item sequence (e.g. lit pool) - m_address_class_map[symbol.st_value] = eAddressClassData; + m_address_class_map[symbol.st_value] = eAddressClassDataIntermixedCode; } } Index: source/Target/Target.cpp =================================================================== --- source/Target/Target.cpp +++ source/Target/Target.cpp @@ -2084,6 +2084,7 @@ case eAddressClassCode: case eAddressClassCodeAlternateISA: case eAddressClassRuntime: + case eAddressClassDataIntermixedCode: // Check if bit zero it no set? if ((code_addr & 1ull) == 0) { @@ -2129,6 +2130,7 @@ case eAddressClassCode: case eAddressClassCodeAlternateISA: case eAddressClassRuntime: + case eAddressClassDataIntermixedCode: opcode_addr &= ~(1ull); break; }