From f5b294fd98c7c822076e37f75106f013b1569858 Mon Sep 17 00:00:00 2001 From: wuyuanchao Date: Mon, 19 May 2025 08:56:49 +0800 Subject: [PATCH] [lldb] add support for parsing HarmonyOS coredump files Signed-off-by: wuyuanchao --- lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp index f81b6e78cb8e..667dd2b78df8 100644 --- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp +++ b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp @@ -63,6 +63,8 @@ static const char *const LLDB_NT_OWNER_NETBSD = "NetBSD"; static const char *const LLDB_NT_OWNER_NETBSDCORE = "NetBSD-CORE"; static const char *const LLDB_NT_OWNER_OPENBSD = "OpenBSD"; static const char *const LLDB_NT_OWNER_ANDROID = "Android"; +// OHOS_LOCAL +static const char *const LLDB_NT_OWNER_HONGMENG = "HONGMENG"; static const char *const LLDB_NT_OWNER_CORE = "CORE"; static const char *const LLDB_NT_OWNER_LINUX = "LINUX"; @@ -1205,6 +1207,12 @@ ObjectFileELF::RefineModuleDetailsFromNote(lldb_private::DataExtractor &data, arch_spec.GetTriple().setOS(llvm::Triple::OSType::Linux); arch_spec.GetTriple().setEnvironment( llvm::Triple::EnvironmentType::Android); + // OHOS_LOCAL begin + } else if (note.n_name == LLDB_NT_OWNER_HONGMENG) { + arch_spec.GetTriple().setOS(llvm::Triple::OSType::Linux); + arch_spec.GetTriple().setEnvironment( + llvm::Triple::EnvironmentType::OpenHOS); + // OHOS_LOCAL end } else if (note.n_name == LLDB_NT_OWNER_LINUX) { // This is sometimes found in core files and usually contains extended // register info -- Gitee