diff --git a/BUILD b/BUILD index 71308e57..ba178a94 100644 --- a/BUILD +++ b/BUILD @@ -205,6 +205,7 @@ filegroup( "Headers/DebugServer2/Target/ThreadBase.h", "Headers/DebugServer2/Utils/Backtrace.h", "Headers/DebugServer2/Utils/Bits.h", + "Headers/DebugServer2/Utils/crc32.h", "Headers/DebugServer2/Utils/CompilerSupport.h", "Headers/DebugServer2/Utils/Daemon.h", "Headers/DebugServer2/Utils/Enums.h", @@ -348,6 +349,7 @@ filegroup( "Sources/Target/Common/ProcessBase.cpp", "Sources/Target/Common/ThreadBase.cpp", "Sources/Utils/Backtrace.cpp", + "Sources/Utils/crc32.cpp", "Sources/Utils/Log.cpp", "Sources/Utils/OptParse.cpp", "Sources/Utils/Stringify.cpp", diff --git a/CMakeLists.txt b/CMakeLists.txt index aae762d2..7714b992 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -202,6 +202,7 @@ add_executable(ds2 Sources/Target/Common/${DS2_ARCHITECTURE}/ProcessBase${DS2_ARCHITECTURE}.cpp Sources/Utils/Backtrace.cpp + Sources/Utils/crc32.c Sources/Utils/Log.cpp Sources/Utils/OptParse.cpp Sources/Utils/Stringify.cpp) diff --git a/Headers/DebugServer2/Host/File.h b/Headers/DebugServer2/Host/File.h index c4a4efda..70620cd8 100644 --- a/Headers/DebugServer2/Host/File.h +++ b/Headers/DebugServer2/Host/File.h @@ -65,6 +65,7 @@ class File { public: static ErrorCode fileSize(std::string const &path, uint64_t &size); static ErrorCode fileMode(std::string const &path, uint32_t &mode); + static ErrorCode crc32(std::string const &path, uint32_t &crc); protected: int _fd; diff --git a/Headers/DebugServer2/Support/POSIX/ELFSupport.h b/Headers/DebugServer2/Support/POSIX/ELFSupport.h index 42d154fc..b5c05710 100644 --- a/Headers/DebugServer2/Support/POSIX/ELFSupport.h +++ b/Headers/DebugServer2/Support/POSIX/ELFSupport.h @@ -32,8 +32,16 @@ class ELFSupport { NotesHeader &nhdr, ByteVector &id); template - static bool ReadSectionHeader(int fd, const ELFHeader &ehdr, SectionHeader &shdr, - size_t idx); + static bool ReadSectionHeader(int fd, const ELFHeader &ehdr, + SectionHeader &shdr, size_t idx); + + template + static bool ReadStringTable(int fd, const ELFHeader &ehdr, + SectionHeader &shdr, std::vector &table); + + template + static bool ReadDebugLinkCRC(int fd, const ELFHeader &ehdr, + SectionHeader &shdr, ByteVector &crc); }; } // namespace Support } // namespace ds2 diff --git a/Headers/DebugServer2/Utils/crc32.h b/Headers/DebugServer2/Utils/crc32.h new file mode 100644 index 00000000..23ac771f --- /dev/null +++ b/Headers/DebugServer2/Utils/crc32.h @@ -0,0 +1,19 @@ +/*- + * COPYRIGHT (C) 1986 Gary S. Brown. You may use this program, or + * code or tables extracted from it, as desired without restriction. + */ + +#pragma once + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +uint32_t crc32(uint32_t crc, const void *buf, size_t size); + +#ifdef __cplusplus +} +#endif diff --git a/Sources/GDBRemote/Mixins/FileOperationsMixin.hpp b/Sources/GDBRemote/Mixins/FileOperationsMixin.hpp index c067d7a3..f78e7668 100644 --- a/Sources/GDBRemote/Mixins/FileOperationsMixin.hpp +++ b/Sources/GDBRemote/Mixins/FileOperationsMixin.hpp @@ -130,18 +130,26 @@ ErrorCode FileOperationsMixin::onQueryModuleInfo(Session &session, std::string &triple, ModuleInfo &info) const { ByteVector buildId; - if (Platform::GetExecutableFileBuildID(path, buildId)) { - // format the uuid as an upper-case string with two hex chars per byte - std::ostringstream ss; - for(const auto b : buildId) - ss << std::uppercase << std::hex << std::setfill('0') << std::setw(2) << int(b); - - info.uuid = ss.str(); + if (!Platform::GetExecutableFileBuildID(path, buildId)) { + // Not all executable files contain an embedded build ID. In this case, + // return a crc32 of the contents of the file. The documentation for + // `qModuleInfo` suggests an md5 hash can be returned as "md5" in the + // response instead of "uuid." However, returning a crc32 is consistent + // with behavior of lldb-server. + uint32_t crc; + CHK(File::crc32(path, crc)); + std::copy(reinterpret_cast(&crc), + reinterpret_cast(&crc) + sizeof(crc), + std::back_inserter(buildId)); } - // TODO(andrurogerz): Not all executable files contain an embedded build ID. - // If GetExecutableFileBuildID fails, calculate an md5 hash of the file - // contents and return that as an "md5" field instead of the "uuid" field. + // format the uuid as an upper-case string with two hex chars per byte + std::ostringstream ss; + for(const auto b : buildId) + ss << std::uppercase << std::hex << std::setfill('0') << std::setw(2) << int(b); + + info.uuid = ss.str(); + auto error = File::fileSize(path, info.file_size); if (error != kSuccess) diff --git a/Sources/Host/POSIX/File.cpp b/Sources/Host/POSIX/File.cpp index 33722f23..b16a6522 100644 --- a/Sources/Host/POSIX/File.cpp +++ b/Sources/Host/POSIX/File.cpp @@ -10,6 +10,7 @@ #include "DebugServer2/Host/File.h" #include "DebugServer2/Host/Platform.h" +#include "DebugServer2/Utils/crc32.h" #include #include @@ -216,5 +217,23 @@ ErrorCode File::fileMode(std::string const &path, uint32_t &mode) { mode = static_cast(ALLPERMS & stbuf.st_mode); return kSuccess; } + +ErrorCode File::crc32(std::string const &path, uint32_t &crc) { + int fd = ::open(path.c_str(), O_RDONLY); + if (fd < 0) + return Platform::TranslateError(); + + ByteVector buffer(getpagesize()); + ssize_t bytesRead; + + crc = ::crc32(0L, nullptr, 0); + while ((bytesRead = ::read(fd, buffer.data(), buffer.size())) > 0) + crc = ::crc32(crc, buffer.data(), bytesRead); + + ::close(fd); + + return kSuccess; +} + } // namespace Host } // namespace ds2 diff --git a/Sources/Host/Windows/File.cpp b/Sources/Host/Windows/File.cpp index f266e400..5601d72e 100644 --- a/Sources/Host/Windows/File.cpp +++ b/Sources/Host/Windows/File.cpp @@ -51,5 +51,9 @@ ErrorCode File::fileMode(std::string const &path, uint32_t &mode) { return kErrorUnsupported; } +ErrorCode File::crc32(std::string const &path, uint32_t &crc) { + return kErrorUnsupported; +} + } // namespace Host } // namespace ds2 diff --git a/Sources/Support/POSIX/ELFSupport.cpp b/Sources/Support/POSIX/ELFSupport.cpp index f2f909e3..dfb6f81c 100644 --- a/Sources/Support/POSIX/ELFSupport.cpp +++ b/Sources/Support/POSIX/ELFSupport.cpp @@ -91,7 +91,8 @@ bool ELFSupport::GetELFFileBuildID(std::string const &path, ByteVector &buildId) case ELFCLASS32: { Elf32_Shdr shdr; Elf32_Nhdr nhdr; - result = ReadBuildID(fd, ehdr, shdr, nhdr, buildId); + if (!(result = ReadBuildID(fd, ehdr, shdr, nhdr, buildId))) + result = ReadDebugLinkCRC(fd, ehdr, shdr, buildId); break; } @@ -102,7 +103,8 @@ bool ELFSupport::GetELFFileBuildID(std::string const &path, ByteVector &buildId) Elf64_Shdr shdr; Elf64_Nhdr nhdr; - result = ReadBuildID(fd, ehdr, shdr, nhdr, buildId); + if (!(result = ReadBuildID(fd, ehdr, shdr, nhdr, buildId))) + result = ReadDebugLinkCRC(fd, ehdr, shdr, buildId); break; } @@ -123,30 +125,30 @@ bool ELFSupport::GetELFFileBuildID(std::string const &path, ByteVector &buildId) template bool ELFSupport::ReadBuildID(int fd, const ELFHeader &ehdr, SectionHeader &shdr, NotesHeader &nhdr, ByteVector &id) { - // Build ID is found in a note section with note type NT_GNU_BUILD_ID. - // The section is typically named .note.gnu.build-id. - for (size_t i = 0; i < ehdr.e_shnum; i++) { - if (!ReadSectionHeader(fd, ehdr, shdr, i)) - return false; + // Build ID is found in a note section with note type NT_GNU_BUILD_ID. + // The section is typically named .note.gnu.build-id. + for (size_t i = 0; i < ehdr.e_shnum; i++) { + if (!ReadSectionHeader(fd, ehdr, shdr, i)) + return false; - if (shdr.sh_type != SHT_NOTE) - continue; + if (shdr.sh_type != SHT_NOTE) + continue; - if (::pread(fd, &nhdr, sizeof(nhdr), shdr.sh_offset) != sizeof(nhdr)) - return false; + if (::pread(fd, &nhdr, sizeof(nhdr), shdr.sh_offset) != sizeof(nhdr)) + return false; - if (nhdr.n_type != NT_GNU_BUILD_ID) - continue; + if (nhdr.n_type != NT_GNU_BUILD_ID) + continue; - id.resize(nhdr.n_descsz); - const off_t pos = shdr.sh_offset + sizeof(nhdr) + nhdr.n_namesz; - if (::pread(fd, id.data(), nhdr.n_descsz, pos) != nhdr.n_descsz) - return false; + id.resize(nhdr.n_descsz); + const off_t pos = shdr.sh_offset + sizeof(nhdr) + nhdr.n_namesz; + if (::pread(fd, id.data(), nhdr.n_descsz, pos) != nhdr.n_descsz) + return false; - return true; - } + return true; + } - return false; + return false; } template @@ -161,5 +163,70 @@ bool ELFSupport::ReadSectionHeader(int fd, const ELFHeader &ehdr, SectionHeader return true; } + +template +bool ELFSupport::ReadStringTable(int fd, const ELFHeader &ehdr, + SectionHeader &shdr, + std::vector &table) { + // e_shstrndx is the index of the string table containing section names + if (!ReadSectionHeader(fd, ehdr, shdr, ehdr.e_shstrndx)) + return false; + + if (shdr.sh_type != SHT_STRTAB) + return false; + + table.resize(shdr.sh_size); + if (::pread(fd, &table[0], shdr.sh_size, shdr.sh_offset) != shdr.sh_size) + return false; + + return true; +} + +template +bool ELFSupport::ReadDebugLinkCRC(int fd, const ELFHeader &ehdr, + SectionHeader &shdr, ByteVector &crc) { + + std::vector table; + if (!ReadStringTable(fd, ehdr, shdr, table)) + return false; + + for (size_t i = 0; i < ehdr.e_shnum; i++) { + if (!ReadSectionHeader(fd, ehdr, shdr, i)) + return false; + + if (shdr.sh_type != SHT_PROGBITS) + continue; + + const std::string sectionName(&table[shdr.sh_name]); + if (sectionName != ".gnu_debuglink") + continue; + + // The .gnu_debuglink section contains the following: + // 1) A filename with any leading directory components removed (base name) + // 2) A string-terminating zero byte + // 3) Zero to three bytes of padding to ensure the next value is four-byte + // aligned + // 4) A four byte crc32 checksum of the debug information file's contents + // (same endianness as used for the containing executable file) + ByteVector section(shdr.sh_size); + if (::pread(fd, §ion[0], shdr.sh_size, shdr.sh_offset) != shdr.sh_size) + return false; + + const std::string name = reinterpret_cast(section.data()); + const size_t offset = (name.length() + 4) & ~static_cast(3); + + if (offset + sizeof(uint32_t) > section.size()) + return false; // malformated + + crc.clear(); + auto start = section.begin() + offset; + std::copy(start, start + sizeof(uint32_t), std::back_inserter(crc)); + + DS2LOG(Info, "using .gnu_debuglink (%s) as build id", name.c_str()); + return true; + } + + return false; +} } // namespace Support } // namespace ds2 diff --git a/Sources/Utils/crc32.c b/Sources/Utils/crc32.c new file mode 100644 index 00000000..517a099d --- /dev/null +++ b/Sources/Utils/crc32.c @@ -0,0 +1,101 @@ +/*- + * COPYRIGHT (C) 1986 Gary S. Brown. You may use this program, or + * code or tables extracted from it, as desired without restriction. + */ + +/* + * First, the polynomial itself and its table of feedback terms. The + * polynomial is + * X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0 + * + * Note that we take it "backwards" and put the highest-order term in + * the lowest-order bit. The X^32 term is "implied"; the LSB is the + * X^31 term, etc. The X^0 term (usually shown as "+1") results in + * the MSB being 1 + * + * Note that the usual hardware shift register implementation, which + * is what we're using (we're merely optimizing it by doing eight-bit + * chunks at a time) shifts bits into the lowest-order term. In our + * implementation, that means shifting towards the right. Why do we + * do it this way? Because the calculated CRC must be transmitted in + * order from highest-order term to lowest-order term. UARTs transmit + * characters in order from LSB to MSB. By storing the CRC this way + * we hand it to the UART in the order low-byte to high-byte; the UART + * sends each low-bit to hight-bit; and the result is transmission bit + * by bit from highest- to lowest-order term without requiring any bit + * shuffling on our part. Reception works similarly + * + * The feedback terms table consists of 256, 32-bit entries. Notes + * + * The table can be generated at runtime if desired; code to do so + * is shown later. It might not be obvious, but the feedback + * terms simply represent the results of eight shift/xor opera + * tions for all combinations of data and CRC register values + * + * The values must be right-shifted by eight bits by the "updcrc + * logic; the shift must be unsigned (bring in zeroes). On some + * hardware you could probably optimize the shift in assembler by + * using byte-swap instructions + * polynomial $edb88320 + * + * + * CRC32 code derived from work by Gary S. Brown. + */ + +#include +#include + +static const uint32_t crc32_tab[] = { + 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, + 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, + 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064, 0x6ab020f2, + 0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, + 0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9, + 0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172, + 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, 0x42b2986c, + 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59, + 0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, + 0xcfba9599, 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924, + 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, 0x01db7106, + 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433, + 0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, + 0x91646c97, 0xe6635c01, 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, + 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950, + 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65, + 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7, + 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0, + 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa, + 0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f, + 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81, + 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a, + 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683, 0xe3630b12, 0x94643b84, + 0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, + 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb, + 0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc, + 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 0xd6d6a3e8, 0xa1d1937e, + 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b, + 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, + 0x316e8eef, 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236, + 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, 0xb2bd0b28, + 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d, + 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f, + 0x72076785, 0x05005713, 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, + 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242, + 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777, + 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69, + 0x616bffd3, 0x166ccf45, 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2, + 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc, + 0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9, + 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693, + 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94, + 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d +}; + +uint32_t +crc32(uint32_t crc, const void *buf, size_t size) { + const uint8_t *p = buf; + crc = crc ^ 0xffffffffUL; + while (size--) + crc = crc32_tab[(crc ^ *p++) & 0xFF] ^ (crc >> 8); + return (crc ^ ~0U); +} diff --git a/Support/Testing/Excluded/ds2/android-x86_64.excluded b/Support/Testing/Excluded/ds2/android-x86_64.excluded index 5b87af13..8b849d23 100644 --- a/Support/Testing/Excluded/ds2/android-x86_64.excluded +++ b/Support/Testing/Excluded/ds2/android-x86_64.excluded @@ -2,21 +2,12 @@ skip TestBreakpointSerialization.BreakpointSerialization.test_scripted_extra_args TestBreakpointSetRestart.BreakpointSetRestart.test_breakpoint_set_restart_dwarf TestBreakpointSetRestart.BreakpointSetRestart.test_breakpoint_set_restart_dwo -TestChangeProcessGroup.ChangeProcessGroupTestCase.test_setpgid -TestChangeValueAPI.ChangeValueAPITestCase.test_change_value_dwarf TestCommandScript.CmdPythonTestCase.test -TestConcurrentTwoWatchpointsOneBreakpoint.ConcurrentTwoWatchpointsOneBreakpoint.test -TestConcurrentSignalNWatchNBreak.ConcurrentSignalNWatchNBreak.test -TestCreateAfterAttach.CreateAfterAttachTestCase.test_create_after_attach_dwarf -TestCreateAfterAttach.CreateAfterAttachTestCase.test_create_after_attach_dwo TestDataFormatterCaching.TestDataFormatterCaching.test_with_run_command_dwarf TestDataFormatterCaching.TestDataFormatterCaching.test_with_run_command_dwo -TestDataFormatterSynthVal.DataFormatterSynthValueTestCase.test_with_run_command_dwarf -TestDataFormatterSynthVal.DataFormatterSynthValueTestCase.test_with_run_command_dwo TestExec.ExecTestCase.test_correct_thread_plan_state_before_exec TestExec.ExecTestCase.test_hitting_exec TestExec.ExecTestCase.test_skipping_exec -TestExprDoesntBlock.ExprDoesntDeadlockTestCase.test_with_run_command_dwarf TestExpressionInSyscall.ExprSyscallTestCase.test_setpgid_dwarf TestExpressionInSyscall.ExprSyscallTestCase.test_setpgid_dwo TestFindInMemory.FindInMemoryTestCase.test_find_in_memory_ok @@ -73,7 +64,6 @@ TestGdbRemoteMemoryAllocation.TestGdbRemoteMemoryAllocation.test_supported_llgs TestGdbRemoteModuleInfo.TestGdbRemoteModuleInfo.test_module_info_llgs TestGdbRemoteTargetXmlPacket.TestGdbRemoteTargetXmlPacket.test_g_target_xml_returns_correct_data_llgs TestGdbRemoteThreadsInStopReply.TestGdbRemoteThreadsInStopReply.test_stop_reply_contains_thread_pcs_llgs -TestHelloWorld.HelloWorldTestCase.test_with_attach_to_process_with_id_api TestHelloWorld.HelloWorldTestCase.test_with_attach_to_process_with_name_api TestInferiorCrashing.CrashingInferiorTestCase.test_inferior_crashing_dwarf TestInferiorCrashing.CrashingInferiorTestCase.test_inferior_crashing_dwo @@ -87,8 +77,6 @@ TestLldbGdbServer.LldbGdbServerTestCase.test_qSupported_fork_events_llgs TestLldbGdbServer.LldbGdbServerTestCase.test_qSupported_siginfo_read_llgs TestLldbGdbServer.LldbGdbServerTestCase.test_qSupported_vfork_events_llgs TestLldbGdbServer.LldbGdbServerTestCase.test_qXfer_siginfo_read_llgs -TestLoadUnload.LoadUnloadTestCase.test_lldb_process_load_and_unload_commands -TestLoadUnload.LoadUnloadTestCase.test_lldb_process_load_and_unload_commands_with_svr4 TestLoadUnload.LoadUnloadTestCase.test_static_init_during_load TestMachCore.MachCoreTestCase.test_selected_thread TestMainThreadExit.ThreadExitTestCase.test @@ -110,7 +98,6 @@ TestNonStop.LldbGdbServerTestCase.test_vCtrlC_llgs TestProcessAttach.ProcessAttachTestCase.test_attach_to_process_by_id_correct_executable_offset TestRegistersIterator.RegistersIteratorTestCase.test_iter_registers_dwarf TestRegistersIterator.RegistersIteratorTestCase.test_iter_registers_dwo -TestReportData.AsanTestReportDataCase.test_dwo TestReturnValue.ReturnValueTestCase.test_for_cpp_support_dwarf TestReturnValue.ReturnValueTestCase.test_for_cpp_support_dwo TestReturnValue.ReturnValueTestCase.test_vector_values_dwarf @@ -121,7 +108,6 @@ TestSendSignal.SendSignalTestCase.test_with_run_command_dwarf TestSendSignal.SendSignalTestCase.test_with_run_command_dwo TestSettings.SettingsCommandTestCase.test_launchsimple_args_and_env_vars TestSettings.SettingsCommandTestCase.test_run_args_and_env_vars -TestSingleThreadStepTimeout.SingleThreadStepTimeoutTestCase.test_step_over_multi_calls_small_timeout_fast_stepping TestStateAfterExpression.TestStopReasonAfterExpression.test_thread_state_after_expr_dwarf TestStateAfterExpression.TestStopReasonAfterExpression.test_thread_state_after_expr_dwo TestSyntheticCapping.SyntheticCappingTestCase.test_with_run_command_dwo diff --git a/Support/Testing/Excluded/ds2/linux-i686.excluded b/Support/Testing/Excluded/ds2/linux-i686.excluded index 1cead0f7..577f1ffb 100644 --- a/Support/Testing/Excluded/ds2/linux-i686.excluded +++ b/Support/Testing/Excluded/ds2/linux-i686.excluded @@ -2,42 +2,12 @@ skip lldbsuite.test.lldbtest.TestPrintf.test_dwarf lldbsuite.test.lldbtest.TestPrintf.test_dwo TestBadAddressBreakpoints.BadAddressBreakpointTestCase.test_bad_address_breakpoints -TestBreakpointInGlobalConstructor.TestBreakpointInGlobalConstructors.test TestBreakpointSerialization.BreakpointSerialization.test_scripted_extra_args TestBreakpointSetRestart.BreakpointSetRestart.test_breakpoint_set_restart_dwarf TestBreakpointSetRestart.BreakpointSetRestart.test_breakpoint_set_restart_dwo -TestBtAliasRepeat.TestCase.test_dwarf -TestBtAliasRepeat.TestCase.test_dwo -TestCallStdStringFunction.ExprCommandCallFunctionTestCase.test_with_dwarf -TestCallStdStringFunction.ExprCommandCallFunctionTestCase.test_with_dwo -TestCallStopAndContinue.ExprCommandCallStopContinueTestCase.test_dwarf -TestCallStopAndContinue.ExprCommandCallStopContinueTestCase.test_dwo -TestChangeProcessGroup.ChangeProcessGroupTestCase.test_setpgid TestCommandScript.CmdPythonTestCase.test -TestCompletion.CommandLineCompletionTestCase.test_process_unload -TestConflictingSymbol.TestConflictingSymbols.test_conflicting_symbols -TestConstVariables.ConstVariableTestCase.test_and_run_command_dwarf -TestConstVariables.ConstVariableTestCase.test_and_run_command_dwo -TestCPPExceptionBreakpoints.CPPBreakpointTestCase.test_dwarf -TestCPPExceptionBreakpoints.CPPBreakpointTestCase.test_dwo -TestCPPExceptionBreakpoint.TestCPPExceptionBreakpoint.test_cpp_exception_breakpoint_dwarf -TestCPPExceptionBreakpoint.TestCPPExceptionBreakpoint.test_cpp_exception_breakpoint_dwo -TestCPPExceptionBreakpoint.TestCPPExceptionBreakpoint.test_dummy_target_cpp_exception_breakpoint_dwarf -TestCPPExceptionBreakpoint.TestCPPExceptionBreakpoint.test_dummy_target_cpp_exception_breakpoint_dwo -TestCppGlobalOperators.TestCppGlobalOperators.test_operator_new_dwarf -TestCppGlobalOperators.TestCppGlobalOperators.test_operator_new_dwo -TestCPPThis.CPPThisTestCase.test_with_run_command_dwarf -TestCPPThis.CPPThisTestCase.test_with_run_command_dwo -TestCStrings.CStringsTestCase.test_with_run_command_dwarf -TestCStrings.CStringsTestCase.test_with_run_command_dwo TestDataFormatterCaching.TestDataFormatterCaching.test_with_run_command_dwarf TestDataFormatterCaching.TestDataFormatterCaching.test_with_run_command_dwo -TestDataFormatterGenericMultiSet.GenericMultiSetDataFormatterTestCase.test_with_run_command_libstdcpp_dwo -TestDataFormatterHexCaps.DataFormatterHexCapsTestCase.test_with_run_command_dwo -TestDataFormatterSynthVal.DataFormatterSynthValueTestCase.test_with_run_command_dwarf -TestDataFormatterSynthVal.DataFormatterSynthValueTestCase.test_with_run_command_dwo -TestDWIMPrint.TestCase.test_expressions_dwarf -TestDWIMPrint.TestCase.test_expressions_dwo TestDyldExecLinux.TestLinux64ExecViaDynamicLoader.test_without_svr4 TestDyldExecLinux.TestLinux64ExecViaDynamicLoader.test_with_svr4 TestDyldLaunchLinux.TestLinux64LaunchingViaDynamicLoader.test @@ -46,15 +16,9 @@ TestExec.ExecTestCase.test_hitting_exec TestExec.ExecTestCase.test_skipping_exec TestExpressionInSyscall.ExprSyscallTestCase.test_setpgid_dwarf TestExpressionInSyscall.ExprSyscallTestCase.test_setpgid_dwo -TestExprs.BasicExprCommandsTestCase.test_expr_commands_can_handle_quotes_dwarf -TestExprs.BasicExprCommandsTestCase.test_expr_commands_can_handle_quotes_dwo TestFixIts.ExprCommandWithFixits.test_with_dummy_target_dwo -TestFormatters.ExprFormattersTestCase.test_dwarf -TestFormatters.ExprFormattersTestCase.test_dwo TestFrames.FrameAPITestCase.test_get_arg_vals_for_call_stack_dwarf TestFrames.FrameAPITestCase.test_get_arg_vals_for_call_stack_dwo -TestFunctionTypes.FunctionTypesTestCase.test_pointers_dwarf -TestFunctionTypes.FunctionTypesTestCase.test_pointers_dwo TestGdbRemoteAttachWait.TestGdbRemoteAttachWait.test_attach_with_vAttachWait_llgs TestGdbRemoteAttachWait.TestGdbRemoteAttachWait.test_launch_after_attach_with_vAttachOrWait_llgs TestGdbRemoteAttachWait.TestGdbRemoteAttachWait.test_launch_before_attach_with_vAttachOrWait_llgs @@ -104,9 +68,8 @@ TestGdbRemoteFork.TestGdbRemoteFork.test_vkill_parent_llgs TestGdbRemoteMemoryAllocation.TestGdbRemoteMemoryAllocation.test_bad_packet_llgs TestGdbRemoteModuleInfo.TestGdbRemoteModuleInfo.test_module_info_llgs TestGdbRemoteThreadsInStopReply.TestGdbRemoteThreadsInStopReply.test_stop_reply_contains_thread_pcs_llgs -TestGlobalVariables.GlobalVariablesTestCase.test_c_global_variables_dwarf -TestGlobalVariables.GlobalVariablesTestCase.test_c_global_variables_dwo -TestHandleAbort.HandleAbortTestCase.test_inferior_handle_sigabrt +TestGlobalModuleCache.GlobalModuleCacheTestCase.test_OneTargetOneDebugger_dwarf +TestGlobalModuleCache.GlobalModuleCacheTestCase.test_OneTargetOneDebugger_dwo TestHelloWorld.HelloWorldTestCase.test_with_attach_to_process_with_id_api TestHelloWorld.HelloWorldTestCase.test_with_attach_to_process_with_name_api TestInferiorAssert.AssertingInferiorTestCase.test_inferior_asserting_disassemble_dwarf @@ -119,15 +82,6 @@ TestInferiorAssert.AssertingInferiorTestCase.test_inferior_asserting_step_dwarf TestInferiorAssert.AssertingInferiorTestCase.test_inferior_asserting_step_dwo TestInferiorCrashing.CrashingInferiorTestCase.test_inferior_crashing_dwarf TestInferiorCrashing.CrashingInferiorTestCase.test_inferior_crashing_dwo -TestInlineStepping.TestInlineStepping.test_step_in_template_with_python_api_dwarf -TestInlineStepping.TestInlineStepping.test_step_in_template_with_python_api_dwo -TestIRInterpreter.IRInterpreterTestCase.test_ir_interpreter -TestLimitDebugInfo.LimitDebugInfoTestCase.test_one_and_two_debug_dwarf -TestLimitDebugInfo.LimitDebugInfoTestCase.test_one_and_two_debug_dwo -TestLimitDebugInfo.LimitDebugInfoTestCase.test_one_debug_dwarf -TestLimitDebugInfo.LimitDebugInfoTestCase.test_one_debug_dwo -TestLimitDebugInfo.LimitDebugInfoTestCase.test_two_debug_dwarf -TestLimitDebugInfo.LimitDebugInfoTestCase.test_two_debug_dwo TestLldbGdbServer.LldbGdbServerTestCase.test_Hg_fails_on_another_pid_llgs TestLldbGdbServer.LldbGdbServerTestCase.test_Hg_fails_on_minus_one_pid_llgs TestLldbGdbServer.LldbGdbServerTestCase.test_Hg_fails_on_zero_pid_llgs @@ -136,20 +90,12 @@ TestLldbGdbServer.LldbGdbServerTestCase.test_qSupported_fork_events_llgs TestLldbGdbServer.LldbGdbServerTestCase.test_qSupported_siginfo_read_llgs TestLldbGdbServer.LldbGdbServerTestCase.test_qSupported_vfork_events_llgs TestLldbGdbServer.LldbGdbServerTestCase.test_qXfer_siginfo_read_llgs -TestLoadUnload.LoadUnloadTestCase.test_lldb_process_load_and_unload_commands_with_svr4 -TestLoadUnload.LoadUnloadTestCase.test_load_unload_with_svr4 TestLoadUnload.LoadUnloadTestCase.test_static_init_during_load TestMachCore.MachCoreTestCase.test_selected_thread TestMainThreadExit.ThreadExitTestCase.test -TestMemoryFind.MemoryFindTestCase.test_memory_find_dwarf -TestMemoryFind.MemoryFindTestCase.test_memory_find_dwo TestMemoryHoles.MemoryHolesTestCase.test_memory_find TestMemoryRegion.MemoryCommandRegion.test_command TestMemoryRegion.MemoryCommandRegion.test_no_overlapping_regions -TestModuleLoadedNotifys.ModuleLoadedNotifysTestCase.test_launch_notifications -TestNamespaceDefinitions.NamespaceDefinitionsTestCase.test_expr_dwarf -TestNamespaceDefinitions.NamespaceDefinitionsTestCase.test_expr_dwo -TestNestedAlias.NestedAliasTestCase.test_nested_alias TestNonStop.LldbGdbServerTestCase.test_exit_llgs TestNonStop.LldbGdbServerTestCase.test_exit_query_llgs TestNonStop.LldbGdbServerTestCase.test_leave_nonstop_llgs @@ -164,46 +110,19 @@ TestNonStop.LldbGdbServerTestCase.test_vCont_then_partial_stop_llgs TestNonStop.LldbGdbServerTestCase.test_vCont_then_partial_stop_run_both_llgs TestNonStop.LldbGdbServerTestCase.test_vCont_then_stop_llgs TestNonStop.LldbGdbServerTestCase.test_vCtrlC_llgs -TestNoreturnUnwind.NoreturnUnwind.test_dwarf -TestNoreturnUnwind.NoreturnUnwind.test_dwo TestPlatformCommand.PlatformCommandTestCase.test_shell -TestPrintfAfterUp.Radar9531204TestCase.test_expr_commands_dwarf -TestPrintfAfterUp.Radar9531204TestCase.test_expr_commands_dwo TestRegistersIterator.RegistersIteratorTestCase.test_iter_registers_dwarf TestRegistersIterator.RegistersIteratorTestCase.test_iter_registers_dwo TestReturnValue.ReturnValueTestCase.test_with_python_dwarf TestReturnValue.ReturnValueTestCase.test_with_python_dwo -TestSaveJITObjects.SaveJITObjectsTestCase.test_save_jit_objects_dwarf -TestSaveJITObjects.SaveJITObjectsTestCase.test_save_jit_objects_dwo TestSendSignal.SendSignalTestCase.test_with_run_command_dwarf TestSendSignal.SendSignalTestCase.test_with_run_command_dwo TestSettings.SettingsCommandTestCase.test_launchsimple_args_and_env_vars TestSettings.SettingsCommandTestCase.test_run_args_and_env_vars -TestSharedLib.SharedLibTestCase.test_expr_dwarf -TestSharedLib.SharedLibTestCase.test_expr_dwo -TestSharedLib.SharedLibTestCase.test_expr_no_preload_dwarf -TestSharedLib.SharedLibTestCase.test_expr_no_preload_dwo -TestSingleThreadStepTimeout.SingleThreadStepTimeoutTestCase.test_step_over_deadlock_large_timeout_fast_stepping -TestSingleThreadStepTimeout.SingleThreadStepTimeoutTestCase.test_step_over_deadlock_small_timeout_fast_stepping -TestSingleThreadStepTimeout.SingleThreadStepTimeoutTestCase.test_step_over_deadlock_with_inner_breakpoint_continue -TestSingleThreadStepTimeout.SingleThreadStepTimeoutTestCase.test_step_over_multi_calls_large_timeout_slow_stepping -TestSingleThreadStepTimeout.SingleThreadStepTimeoutTestCase.test_step_over_multi_calls_small_timeout_slow_stepping TestStateAfterExpression.TestStopReasonAfterExpression.test_thread_state_after_expr_dwarf TestStateAfterExpression.TestStopReasonAfterExpression.test_thread_state_after_expr_dwo -TestStdCXXDisassembly.StdCXXDisassembleTestCase.test_stdcxx_disasm_dwarf -TestStdCXXDisassembly.StdCXXDisassembleTestCase.test_stdcxx_disasm_dwarf -TestStdCXXDisassembly.StdCXXDisassembleTestCase.test_stdcxx_disasm_dwo -TestStdCXXDisassembly.StdCXXDisassembleTestCase.test_stdcxx_disasm_dwo -TestStepThroughTrampoline.StepThroughTrampoline.test_dwarf -TestStepThroughTrampoline.StepThroughTrampoline.test_dwo TestSyntheticCapping.SyntheticCappingTestCase.test_with_run_command_dwo -TestThreadAPI.ThreadAPITestCase.test_step_out_of_malloc_into_function_b_dwarf -TestThreadAPI.ThreadAPITestCase.test_step_out_of_malloc_into_function_b_dwo -TestThreadBacktraceRepeat.TestThreadBacktracePage.test_thread_backtrace_one_thread -TestThreadBacktraceRepeat.TestThreadBacktracePage.test_thread_backtrace_two_threads TestThreadJump.ThreadJumpTestCase.test_dwarf TestThreadJump.ThreadJumpTestCase.test_dwo -TestTopLevelExprs.TopLevelExpressionsTestCase.test_top_level_expressions_dwarf -TestTopLevelExprs.TopLevelExpressionsTestCase.test_top_level_expressions_dwo TestVectorTypesFormatting.VectorTypesFormattingTestCase.test_with_run_command_dwarf TestVectorTypesFormatting.VectorTypesFormattingTestCase.test_with_run_command_dwo diff --git a/Support/Testing/Excluded/ds2/linux-x86_64.excluded b/Support/Testing/Excluded/ds2/linux-x86_64.excluded index ae4dc401..890a70f5 100644 --- a/Support/Testing/Excluded/ds2/linux-x86_64.excluded +++ b/Support/Testing/Excluded/ds2/linux-x86_64.excluded @@ -1,36 +1,12 @@ skip lldbsuite.test.lldbtest.TestPrintf.test_dwarf lldbsuite.test.lldbtest.TestPrintf.test_dwo -TestBreakpointInGlobalConstructor.TestBreakpointInGlobalConstructors.test TestBreakpointSerialization.BreakpointSerialization.test_scripted_extra_args TestBreakpointSetRestart.BreakpointSetRestart.test_breakpoint_set_restart_dwo -TestBtAliasRepeat.TestCase.test_dwarf -TestBtAliasRepeat.TestCase.test_dwo -TestCallStdStringFunction.ExprCommandCallFunctionTestCase.test_with_dwarf -TestCallStdStringFunction.ExprCommandCallFunctionTestCase.test_with_dwo -TestChangeProcessGroup.ChangeProcessGroupTestCase.test_setpgid TestCommandScript.CmdPythonTestCase.test -TestCompletion.CommandLineCompletionTestCase.test_process_unload -TestConflictingSymbol.TestConflictingSymbols.test_conflicting_symbols -TestConstVariables.ConstVariableTestCase.test_and_run_command_dwarf -TestConstVariables.ConstVariableTestCase.test_and_run_command_dwo -TestCPPExceptionBreakpoints.CPPBreakpointTestCase.test_dwarf -TestCPPExceptionBreakpoints.CPPBreakpointTestCase.test_dwo -TestCPPExceptionBreakpoint.TestCPPExceptionBreakpoint.test_cpp_exception_breakpoint_dwarf -TestCPPExceptionBreakpoint.TestCPPExceptionBreakpoint.test_cpp_exception_breakpoint_dwo -TestCPPExceptionBreakpoint.TestCPPExceptionBreakpoint.test_dummy_target_cpp_exception_breakpoint_dwarf -TestCPPExceptionBreakpoint.TestCPPExceptionBreakpoint.test_dummy_target_cpp_exception_breakpoint_dwo -TestCPPThis.CPPThisTestCase.test_with_run_command_dwarf -TestCPPThis.CPPThisTestCase.test_with_run_command_dwo -TestCrossDSOTailCalls.TestCrossDSOTailCalls.test_cross_dso_tail_calls_dwarf -TestCrossDSOTailCalls.TestCrossDSOTailCalls.test_cross_dso_tail_calls_dwo -TestCStrings.CStringsTestCase.test_with_run_command_dwarf -TestCStrings.CStringsTestCase.test_with_run_command_dwo TestDataFormatterCaching.TestDataFormatterCaching.test_with_run_command_dwarf TestDataFormatterCaching.TestDataFormatterCaching.test_with_run_command_dwo TestDebuggerAPI.DebuggerAPITestCase.test_CreateTarget_platform -TestDWIMPrint.TestCase.test_expressions_dwarf -TestDWIMPrint.TestCase.test_expressions_dwo TestDyldExecLinux.TestLinux64ExecViaDynamicLoader.test_without_svr4 TestDyldExecLinux.TestLinux64ExecViaDynamicLoader.test_with_svr4 TestDyldLaunchLinux.TestLinux64LaunchingViaDynamicLoader.test @@ -39,15 +15,9 @@ TestExec.ExecTestCase.test_hitting_exec TestExec.ExecTestCase.test_skipping_exec TestExpressionInSyscall.ExprSyscallTestCase.test_setpgid_dwarf TestExpressionInSyscall.ExprSyscallTestCase.test_setpgid_dwo -TestExprs.BasicExprCommandsTestCase.test_expr_commands_can_handle_quotes_dwarf -TestExprs.BasicExprCommandsTestCase.test_expr_commands_can_handle_quotes_dwo TestFixIts.ExprCommandWithFixits.test_with_dummy_target_dwo -TestFormatters.ExprFormattersTestCase.test_dwarf -TestFormatters.ExprFormattersTestCase.test_dwo TestFrames.FrameAPITestCase.test_get_arg_vals_for_call_stack_dwarf TestFrames.FrameAPITestCase.test_get_arg_vals_for_call_stack_dwo -TestFunctionTypes.FunctionTypesTestCase.test_pointers_dwarf -TestFunctionTypes.FunctionTypesTestCase.test_pointers_dwo TestGdbRemoteAttachWait.TestGdbRemoteAttachWait.test_attach_with_vAttachWait_llgs TestGdbRemoteAttachWait.TestGdbRemoteAttachWait.test_launch_after_attach_with_vAttachOrWait_llgs TestGdbRemoteAttachWait.TestGdbRemoteAttachWait.test_launch_before_attach_with_vAttachOrWait_llgs @@ -101,30 +71,12 @@ TestGdbRemoteMemoryAllocation.TestGdbRemoteMemoryAllocation.test_supported_llgs TestGdbRemoteModuleInfo.TestGdbRemoteModuleInfo.test_module_info_llgs TestGdbRemoteTargetXmlPacket.TestGdbRemoteTargetXmlPacket.test_g_target_xml_returns_correct_data_llgs TestGdbRemoteThreadsInStopReply.TestGdbRemoteThreadsInStopReply.test_stop_reply_contains_thread_pcs_llgs -TestGlobalVariables.GlobalVariablesTestCase.test_c_global_variables_dwarf -TestGlobalVariables.GlobalVariablesTestCase.test_c_global_variables_dwo -TestHandleAbort.HandleAbortTestCase.test_inferior_handle_sigabrt +TestGlobalModuleCache.GlobalModuleCacheTestCase.test_OneTargetOneDebugger_dwarf +TestGlobalModuleCache.GlobalModuleCacheTestCase.test_OneTargetOneDebugger_dwo TestHelloWorld.HelloWorldTestCase.test_with_attach_to_process_with_id_api TestHelloWorld.HelloWorldTestCase.test_with_attach_to_process_with_name_api -TestInferiorAssert.AssertingInferiorTestCase.test_inferior_asserting_disassemble_dwarf -TestInferiorAssert.AssertingInferiorTestCase.test_inferior_asserting_disassemble_dwo -TestInferiorAssert.AssertingInferiorTestCase.test_inferior_asserting_dwarf -TestInferiorAssert.AssertingInferiorTestCase.test_inferior_asserting_dwo -TestInferiorAssert.AssertingInferiorTestCase.test_inferior_asserting_expr_dwarf -TestInferiorAssert.AssertingInferiorTestCase.test_inferior_asserting_expr_dwo -TestInferiorAssert.AssertingInferiorTestCase.test_inferior_asserting_step_dwarf -TestInferiorAssert.AssertingInferiorTestCase.test_inferior_asserting_step_dwo TestInferiorCrashing.CrashingInferiorTestCase.test_inferior_crashing_dwarf TestInferiorCrashing.CrashingInferiorTestCase.test_inferior_crashing_dwo -TestInlineStepping.TestInlineStepping.test_step_in_template_with_python_api_dwarf -TestInlineStepping.TestInlineStepping.test_step_in_template_with_python_api_dwo -TestIRInterpreter.IRInterpreterTestCase.test_ir_interpreter -TestLimitDebugInfo.LimitDebugInfoTestCase.test_one_and_two_debug_dwarf -TestLimitDebugInfo.LimitDebugInfoTestCase.test_one_and_two_debug_dwo -TestLimitDebugInfo.LimitDebugInfoTestCase.test_one_debug_dwarf -TestLimitDebugInfo.LimitDebugInfoTestCase.test_one_debug_dwo -TestLimitDebugInfo.LimitDebugInfoTestCase.test_two_debug_dwarf -TestLimitDebugInfo.LimitDebugInfoTestCase.test_two_debug_dwo TestLldbGdbServer.LldbGdbServerTestCase.test_Hg_fails_on_another_pid_llgs TestLldbGdbServer.LldbGdbServerTestCase.test_Hg_fails_on_minus_one_pid_llgs TestLldbGdbServer.LldbGdbServerTestCase.test_Hg_fails_on_zero_pid_llgs @@ -133,19 +85,11 @@ TestLldbGdbServer.LldbGdbServerTestCase.test_qSupported_fork_events_llgs TestLldbGdbServer.LldbGdbServerTestCase.test_qSupported_siginfo_read_llgs TestLldbGdbServer.LldbGdbServerTestCase.test_qSupported_vfork_events_llgs TestLldbGdbServer.LldbGdbServerTestCase.test_qXfer_siginfo_read_llgs -TestLoadUnload.LoadUnloadTestCase.test_lldb_process_load_and_unload_commands_with_svr4 -TestLoadUnload.LoadUnloadTestCase.test_load_unload_with_svr4 TestLoadUnload.LoadUnloadTestCase.test_static_init_during_load TestMachCore.MachCoreTestCase.test_selected_thread TestMainThreadExit.ThreadExitTestCase.test TestMembersAndLocalsWithSameName.TestMembersAndLocalsWithSameName.test_when_stopped_in_function_dwo -TestMemoryFind.MemoryFindTestCase.test_memory_find_dwarf -TestMemoryFind.MemoryFindTestCase.test_memory_find_dwo TestMemoryHoles.MemoryHolesTestCase.test_memory_find -TestModuleLoadedNotifys.ModuleLoadedNotifysTestCase.test_launch_notifications -TestModuleLoadedNotifys.ModuleLoadedNotifysTestCase.test_launch_notifications -TestNamespaceDefinitions.NamespaceDefinitionsTestCase.test_expr_dwarf -TestNamespaceDefinitions.NamespaceDefinitionsTestCase.test_expr_dwo TestNonStop.LldbGdbServerTestCase.test_exit_llgs TestNonStop.LldbGdbServerTestCase.test_exit_query_llgs TestNonStop.LldbGdbServerTestCase.test_leave_nonstop_llgs @@ -160,53 +104,22 @@ TestNonStop.LldbGdbServerTestCase.test_vCont_then_partial_stop_llgs TestNonStop.LldbGdbServerTestCase.test_vCont_then_partial_stop_run_both_llgs TestNonStop.LldbGdbServerTestCase.test_vCont_then_stop_llgs TestNonStop.LldbGdbServerTestCase.test_vCtrlC_llgs -TestNoreturnUnwind.NoreturnUnwind.test_dwarf -TestNoreturnUnwind.NoreturnUnwind.test_dwo -TestPrintfAfterUp.Radar9531204TestCase.test_expr_commands_dwarf -TestPrintfAfterUp.Radar9531204TestCase.test_expr_commands_dwo TestProcessSaveCoreMinidump.ProcessSaveCoreMinidumpTestCase.test_save_linux_mini_dump_default_options_dwarf -TestProcessSaveCoreMinidump.ProcessSaveCoreMinidumpTestCase.test_save_linux_mini_dump_default_options_dwarf -TestProcessSaveCoreMinidump.ProcessSaveCoreMinidumpTestCase.test_save_linux_mini_dump_default_options_dwo TestProcessSaveCoreMinidump.ProcessSaveCoreMinidumpTestCase.test_save_linux_mini_dump_default_options_dwo TestProcessSaveCoreMinidump.ProcessSaveCoreMinidumpTestCase.test_save_linux_mini_dump_dwarf -TestProcessSaveCoreMinidump.ProcessSaveCoreMinidumpTestCase.test_save_linux_mini_dump_dwarf -TestProcessSaveCoreMinidump.ProcessSaveCoreMinidumpTestCase.test_save_linux_mini_dump_dwo TestProcessSaveCoreMinidump.ProcessSaveCoreMinidumpTestCase.test_save_linux_mini_dump_dwo -TestPythonOSPlugin.PluginPythonOSPlugin.test_run_python_os_step TestRegistersIterator.RegistersIteratorTestCase.test_iter_registers_dwarf TestRegistersIterator.RegistersIteratorTestCase.test_iter_registers_dwo TestRegisters.RegisterCommandsTestCase.test_fs_gs_base -TestSaveJITObjects.SaveJITObjectsTestCase.test_save_jit_objects_dwarf -TestSaveJITObjects.SaveJITObjectsTestCase.test_save_jit_objects_dwo TestSendSignal.SendSignalTestCase.test_with_run_command_dwarf TestSendSignal.SendSignalTestCase.test_with_run_command_dwo TestSettings.SettingsCommandTestCase.test_launchsimple_args_and_env_vars TestSettings.SettingsCommandTestCase.test_run_args_and_env_vars -TestSharedLib.SharedLibTestCase.test_expr_dwarf -TestSharedLib.SharedLibTestCase.test_expr_dwo -TestSharedLib.SharedLibTestCase.test_expr_no_preload_dwarf -TestSharedLib.SharedLibTestCase.test_expr_no_preload_dwo -TestSignedTypes.SignedTypesTestCase.test_dwarf -TestSignedTypes.SignedTypesTestCase.test_dwo -TestSingleThreadStepTimeout.SingleThreadStepTimeoutTestCase.test_step_over_multi_calls_large_timeout_slow_stepping -TestSingleThreadStepTimeout.SingleThreadStepTimeoutTestCase.test_step_over_multi_calls_small_timeout_slow_stepping TestStateAfterExpression.TestStopReasonAfterExpression.test_thread_state_after_expr_dwarf TestStateAfterExpression.TestStopReasonAfterExpression.test_thread_state_after_expr_dwo -TestStdCXXDisassembly.StdCXXDisassembleTestCase.test_stdcxx_disasm_dwarf -TestStdCXXDisassembly.StdCXXDisassembleTestCase.test_stdcxx_disasm_dwarf -TestStdCXXDisassembly.StdCXXDisassembleTestCase.test_stdcxx_disasm_dwo -TestStdCXXDisassembly.StdCXXDisassembleTestCase.test_stdcxx_disasm_dwo -TestStepAndBreakpoints.TestCStepping.test_and_python_api_dwarf -TestStepAndBreakpoints.TestCStepping.test_and_python_api_dwo -TestStepThroughTrampoline.StepThroughTrampoline.test_dwarf -TestStepThroughTrampoline.StepThroughTrampoline.test_dwo TestSyntheticCapping.SyntheticCappingTestCase.test_with_run_command_dwo -TestThreadAPI.ThreadAPITestCase.test_step_out_of_malloc_into_function_b_dwarf -TestThreadAPI.ThreadAPITestCase.test_step_out_of_malloc_into_function_b_dwo TestTlsGlobals.TlsGlobalTestCase.test_dwarf TestTlsGlobals.TlsGlobalTestCase.test_dwo -TestTopLevelExprs.TopLevelExpressionsTestCase.test_top_level_expressions_dwarf -TestTopLevelExprs.TopLevelExpressionsTestCase.test_top_level_expressions_dwo TestUnalignedLargeWatchpoint.UnalignedLargeWatchpointTestCase.test_unaligned_large_watchpoint TestVectorTypesFormatting.VectorTypesFormattingTestCase.test_with_run_command_dwarf TestVectorTypesFormatting.VectorTypesFormattingTestCase.test_with_run_command_dwo