[Lldb-commits] [PATCH] D15884: [LLDB][MIPS] Make register read/write to set/get the size of register according to abi.
sagar created this revision. sagar added reviewers: clayborg, tberghammer. sagar added subscribers: jaydeep, bhushan, mohit.bhakkad, nitesh.jain, lldb-commits. sagar set the repository for this revision to rL LLVM. For O32 abi register size should be 4 bytes. For N32 and N64 abi register size should be 8 bytes. This patch will make register read/write to set/get the size of register according to abi. Repository: rL LLVM http://reviews.llvm.org/D15884 Files: source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.cpp Index: source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.cpp === --- source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.cpp +++ source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.cpp @@ -1388,7 +1388,7 @@ { lldb_private::ArchSpec arch; if (m_thread.GetProcess()->GetArchitecture(arch)) -value.SetBytes((void *)(((unsigned char *)®s) + offset + 4 * (arch.GetMachine() == llvm::Triple::mips)), arch.GetAddressByteSize(), arch.GetByteOrder()); +value.SetBytes((void *)(((unsigned char *)®s) + offset + 4 * (arch.GetMachine() == llvm::Triple::mips)), 4 + (!(arch.GetFlags() & lldb_private::ArchSpec::eMIPSABI_O32) * 4), arch.GetByteOrder()); else error.SetErrorString("failed to get architecture"); } @@ -1404,8 +1404,14 @@ Error error = NativeProcessLinux::PtraceWrapper(PTRACE_GETREGS, m_thread.GetID(), NULL, ®s, sizeof regs); if (error.Success()) { -::memcpy((void *)(((unsigned char *)(®s)) + offset), value.GetBytes(), 8); -error = NativeProcessLinux::PtraceWrapper(PTRACE_SETREGS, m_thread.GetID(), NULL, ®s, sizeof regs); +lldb_private::ArchSpec arch; +if (m_thread.GetProcess()->GetArchitecture(arch)) +{ +::memcpy((void *)(((unsigned char *)(®s)) + offset), value.GetBytes(), 4 + (!(arch.GetFlags() & lldb_private::ArchSpec::eMIPSABI_O32) * 4)); +error = NativeProcessLinux::PtraceWrapper(PTRACE_SETREGS, m_thread.GetID(), NULL, ®s, sizeof regs); +} +else +error.SetErrorString("failed to get architecture"); } return error; } Index: source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.cpp === --- source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.cpp +++ source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.cpp @@ -1388,7 +1388,7 @@ { lldb_private::ArchSpec arch; if (m_thread.GetProcess()->GetArchitecture(arch)) -value.SetBytes((void *)(((unsigned char *)®s) + offset + 4 * (arch.GetMachine() == llvm::Triple::mips)), arch.GetAddressByteSize(), arch.GetByteOrder()); +value.SetBytes((void *)(((unsigned char *)®s) + offset + 4 * (arch.GetMachine() == llvm::Triple::mips)), 4 + (!(arch.GetFlags() & lldb_private::ArchSpec::eMIPSABI_O32) * 4), arch.GetByteOrder()); else error.SetErrorString("failed to get architecture"); } @@ -1404,8 +1404,14 @@ Error error = NativeProcessLinux::PtraceWrapper(PTRACE_GETREGS, m_thread.GetID(), NULL, ®s, sizeof regs); if (error.Success()) { -::memcpy((void *)(((unsigned char *)(®s)) + offset), value.GetBytes(), 8); -error = NativeProcessLinux::PtraceWrapper(PTRACE_SETREGS, m_thread.GetID(), NULL, ®s, sizeof regs); +lldb_private::ArchSpec arch; +if (m_thread.GetProcess()->GetArchitecture(arch)) +{ +::memcpy((void *)(((unsigned char *)(®s)) + offset), value.GetBytes(), 4 + (!(arch.GetFlags() & lldb_private::ArchSpec::eMIPSABI_O32) * 4)); +error = NativeProcessLinux::PtraceWrapper(PTRACE_SETREGS, m_thread.GetID(), NULL, ®s, sizeof regs); +} +else +error.SetErrorString("failed to get architecture"); } return error; } ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Re: [Lldb-commits] [PATCH] D15593: Add support for "source info" and use it to fix MI's -symbol-list-lines.
dawn added a comment. Hopefully folks are back from the holidays by now - can someone give this a look? Thanks in advance... Repository: rL LLVM http://reviews.llvm.org/D15593 ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Re: [Lldb-commits] [PATCH] D15834: Handle hardcoded breakpoints on Windows (e.g., int3 or __debugbreak())
jingham added a subscriber: jingham. jingham added a comment. Shouldn't we just remove the Linux test case in favor of your test case? The notion of a builtin_trap of some sort or other seems general. And, it looks like both the Linux port and the Windows port needed to do something to handle this specially so having a generic test might point out that this needs work the next time there is a new OS port. So having another test on the Linux side just seems confusing. http://reviews.llvm.org/D15834 ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Re: [Lldb-commits] [PATCH] D15834: Handle hardcoded breakpoints on Windows (e.g., int3 or __debugbreak())
amccarth added a comment. In http://reviews.llvm.org/D15834#318623, @labath wrote: > Linux tests the same functionality in TestBuiltinTrap.py. Would it make sense > to merge these two tests, given that the only difference is which compiler > intrinsic is used to generate the int3 trap? Yes, it makes sense to combine the tests. The existing test does use the SB API very well, and TestBuiltinTrap.py is in a Linux-specific part of the test tree, so this may be more of re-working the Linux test to work much like this new one. Comment at: source/Plugins/Process/Windows/Live/ProcessWindowsLive.cpp:601-605 @@ -579,5 +600,7 @@ { +// The thread hit a hard-coded breakpoint like an `int 3` or `__debugbreak()`. WINLOG_IFALL(WINDOWS_LOG_BREAKPOINTS | WINDOWS_LOG_EXCEPTION, - "Breakpoint site %d is not valid for this thread, creating empty stop info.", - site->GetID()); +"No breakpoint site matches for this thread. __debugbreak()? " +"Creating stop info with the exception."); +// FALLTHROUGH: We'll treat this as a generic exception record in the default case. } zturner wrote: > When you do a disassembly, does the arrow point to the int 3 or to the > instruction after the int 3? > > Also what does the output look like when you do a backtrace? It points to the instruction after the int 3. (lldb) thread backtrace * thread #1: tid = 0x4d70, 0x00a8903b a.out`main(argc=1, argv=0x0019c800) + 59 at main.c:12, stop reason = Exception 0x8003 encountered at address 0xa8903a * frame #0: 0x00a8903b a.out`main(argc=1, argv=0x0019c800) + 59 at main.c:12 frame #1: 0x00a89157 a.out`.text$mn + 254 http://reviews.llvm.org/D15834 ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Re: [Lldb-commits] [PATCH] D15877: Fix for undefined behavior while updating PC value on arm-linux
clayborg accepted this revision. clayborg added a comment. This revision is now accepted and ready to land. Looks good. http://reviews.llvm.org/D15877 ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [PATCH] D15877: Fix for undefined behavior while updating PC value on arm-linux
omjavaid created this revision. omjavaid added reviewers: tberghammer, clayborg. omjavaid added a subscriber: lldb-commits. Herald added subscribers: rengolin, aemerson. This patch provides fix for the cases where an expression or jump tries to update the value of PC in thumb mode. As precaution for an undefined behavior encountered while setting PC we will clear thumb bit of new PC if we are already in thumb mode; that is CPSR thumb mode bit is set. Also if intended behavior of setting new PC value is to change to ARM/Thumb mode then user must switch to arm or thumb mode by explicitly setting mode bit in CPSR. This update to CPSR should be done before writing new PC value. http://reviews.llvm.org/D15877 Files: source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp Index: source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp === --- source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp +++ source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp @@ -973,7 +973,24 @@ if (error.Fail()) return error; -m_gpr_arm[offset / sizeof(uint32_t)] = value.GetAsUInt32(); +uint32_t reg_value = value.GetAsUInt32(); +// As precaution for an undefined behavior encountered while setting PC we +// will clear thumb bit of new PC if we are already in thumb mode; that is +// CPSR thumb mode bit is set. +if (offset / sizeof(uint32_t) == gpr_pc_arm) +{ +// Check if we are already in thumb mode and + // thumb bit of current PC is read out to be zero and + // thumb bit of next PC is read out to be one. + if ((m_gpr_arm[gpr_cpsr_arm] & 0x20) && + !(m_gpr_arm[gpr_pc_arm] & 0x01) && + (value.GetAsUInt32() & 0x01)) + { + reg_value &= (~1ull); + } +} + +m_gpr_arm[offset / sizeof(uint32_t)] = reg_value; return DoWriteGPR(m_gpr_arm, sizeof(m_gpr_arm)); } Index: source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp === --- source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp +++ source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp @@ -973,7 +973,24 @@ if (error.Fail()) return error; -m_gpr_arm[offset / sizeof(uint32_t)] = value.GetAsUInt32(); +uint32_t reg_value = value.GetAsUInt32(); +// As precaution for an undefined behavior encountered while setting PC we +// will clear thumb bit of new PC if we are already in thumb mode; that is +// CPSR thumb mode bit is set. +if (offset / sizeof(uint32_t) == gpr_pc_arm) +{ +// Check if we are already in thumb mode and + // thumb bit of current PC is read out to be zero and + // thumb bit of next PC is read out to be one. + if ((m_gpr_arm[gpr_cpsr_arm] & 0x20) && + !(m_gpr_arm[gpr_pc_arm] & 0x01) && + (value.GetAsUInt32() & 0x01)) + { + reg_value &= (~1ull); + } +} + +m_gpr_arm[offset / sizeof(uint32_t)] = reg_value; return DoWriteGPR(m_gpr_arm, sizeof(m_gpr_arm)); } ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Re: [Lldb-commits] [PATCH] D15708: Advance the return-address breakpoint location to the end of the next source line, or the next branching instruction, when stepping over a func call
jingham requested changes to this revision. jingham added a comment. This revision now requires changes to proceed. I don't so much mind that you couldn't reuse AdvanceAddressToNextBranchInstruction, we wouldn't be using the "get the disassembly" part of it, which is the biggest bit, since that's already done in GetInstructionsForAddress which also handles the cache of disassembled instructions. If the disassembly part of this stepping ever shows up as a big time sink, then we can move the cache of instruction fragments to the process, and get it from there. The only bit I'm concerned with is why you needed to call Clear on the disassembler's instruction list. That seems odd to me. Comment at: include/lldb/Target/Process.h:3182-3183 @@ +3181,4 @@ +/// problems with the disassembly or getting the instructions, +/// The original default_stop_addr will be returned. +//-- +Address "The" should be "the". Comment at: include/lldb/Target/Thread.h:912-913 @@ -902,2 +911,4 @@ + uint32_t frame_idx, + bool private_step_out); //-- Can you call this something that says what it does, like "continue_to_next_branch"? private_step_out seems too generic. Also, should this be defaulted to false? Comment at: source/Target/Process.cpp:6578-6579 @@ +6577,4 @@ +{ +disassembler_sp->GetInstructionList().Clear(); // ThreadPlanStepRange claims there is a retain cycle +} + I don't understand this comment, and this seems like an odd thing to have to do. The disassembler is going to get destroyed when we leave this function. Why should we have to clear its instruction list manually? Repository: rL LLVM http://reviews.llvm.org/D15708 ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] Buildbot numbers for week of 12/27/2015 - 1/2/2016
Hello everyone, Below are some buildbot numbers for the last week of 12/27/2015 - 01/02/2016. Thanks Galina Number of commits by project: project | commits ---+--- llvm | 102 cfe |81 clang-tools-extra |12 libcxx|11 compiler-rt | 7 lld | 3 polly | 2 lldb | 2 openmp| 1 --- 221 Number of completed builds, failed builds and average build time for successful builds per active builder: buildername | completed | failed | time ---+++ clang-aarch64-lnt | 44 | 1 | 02:36:03 clang-atom-d525-fedora| 15 | 1 | 08:54:33 clang-atom-d525-fedora-rel| 43 | 3 | 02:20:37 clang-bpf-build |153 | 12 | 00:04:52 clang-cmake-aarch64-42vma |124 | 5 | 00:25:43 clang-cmake-aarch64-full | 33 | 1 | 03:37:05 clang-cmake-aarch64-quick |112 | 7 | 00:35:07 clang-cmake-armv7-a15 |102 | 1 | 00:43:54 clang-cmake-armv7-a15-full| 38 | 4 | 01:13:42 clang-cmake-armv7-a15-selfhost| 26 | 1 | 04:40:14 clang-cmake-armv7-a15-selfhost-neon | 19 || 06:34:03 clang-cmake-mips | 65 | 4 | 01:33:37 clang-cmake-mipsel| 13 || 09:14:49 clang-cmake-thumbv7-a15 |102 | 4 | 00:42:12 clang-cmake-thumbv7-a15-full-sh | 17 || 07:18:35 clang-hexagon-elf |143 | 14 | 00:13:59 clang-native-aarch64-full | 1 || 08:20:03 clang-native-arm-lnt | 66 | 4 | 01:36:30 clang-native-arm-lnt-perf | 12 || 10:46:18 clang-ppc64-elf-linux | 78 | 14 | 01:11:02 clang-ppc64-elf-linux2|117 | 6 | 00:29:59 clang-sphinx-docs | 76 || 00:00:20 clang-x64-ninja-win7 |115 | 73 | 00:37:18 clang-x86-win2008-selfhost| 90 | 43 | 01:14:40 clang-x86_64-darwin13-cross-arm |137 | 6 | 00:18:34 clang-x86_64-darwin13-cross-mingw32 |132 | 6 | 00:21:53 clang-x86_64-debian-fast | 90 | 1 | 00:14:08 clang-x86_64-linux-abi-test |158 | 4 | 00:09:44 clang-x86_64-linux-selfhost-modules |139 || 00:17:08 clang-x86_64-ubuntu-gdb-75| 89 | 11 | 01:00:57 libcxx-libcxxabi-arm-linux| 7 | 3 | 01:07:37 libcxx-libcxxabi-singlethreaded-x86_64-linux-debian | 4 || 00:08:54 libcxx-libcxxabi-x86_64-linux-debian | 4 || 00:09:30 libcxx-libcxxabi-x86_64-linux-debian-noexceptions | 4 || 00:09:03 libcxx-libcxxabi-x86_64-linux-ubuntu-asan | 10 | 4 | 00:05:24 libcxx-libcxxabi-x86_64-linux-ubuntu-cxx03| 9 | 1 | 00:03:50 libcxx-libcxxabi-x86_64-linux-ubuntu-cxx11| 10 | 1 | 00:04:15 libcxx-libcxxabi-x86_64-linux-ubuntu-cxx14| 10 | 1 | 00:04:26 libcxx-libcxxabi-x86_64-linux-ubuntu-cxx1z| 10 | 1 | 00:04:26 libcxx-libcxxabi-x86_64-linux-ubuntu-msan | 10 | 4 | 00:11:39 libcxx-libcxxabi-x86_64-linux-ubuntu-tsan | 10 | 2 | 00:11:30 libcxx-libcxxabi-x86_64-linux-ubuntu-unstable-abi | 10 | 1 | 00:04:54 libcxx-sphinx-docs| 10 || 00:00:12 libomp-clang-x86_64-linux-debian
[Lldb-commits] [lldb] r256771 - [FreeBSD] Use a cast sledgehammer to placate newer versions of clang.
Author: davide Date: Mon Jan 4 13:22:35 2016 New Revision: 256771 URL: http://llvm.org/viewvc/llvm-project?rev=256771&view=rev Log: [FreeBSD] Use a cast sledgehammer to placate newer versions of clang. Now lldb can build on FreeBSD with -Werror again. Modified: lldb/trunk/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp Modified: lldb/trunk/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp?rev=256771&r1=256770&r2=256771&view=diff == --- lldb/trunk/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp (original) +++ lldb/trunk/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp Mon Jan 4 13:22:35 2016 @@ -317,7 +317,7 @@ ReadRegOperation::Execute(ProcessMonitor else if (m_size == sizeof(uint64_t)) m_value = *(uint64_t *)(((caddr_t)®s) + m_offset); else -memcpy(&m_value, (((caddr_t)®s) + m_offset), m_size); +memcpy((void *)&m_value, (((caddr_t)®s) + m_offset), m_size); m_result = true; } } @@ -393,7 +393,7 @@ ReadDebugRegOperation::Execute(ProcessMo if (m_size == sizeof(uintptr_t)) m_value = *(uintptr_t *)(((caddr_t)®s) + m_offset); else -memcpy(&m_value, (((caddr_t)®s) + m_offset), m_size); +memcpy((void *)&m_value, (((caddr_t)®s) + m_offset), m_size); m_result = true; } } ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] r256769 - Use correct format identifiers to print something meaningful.
Author: davide Date: Mon Jan 4 13:17:14 2016 New Revision: 256769 URL: http://llvm.org/viewvc/llvm-project?rev=256769&view=rev Log: Use correct format identifiers to print something meaningful. Modified: lldb/trunk/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp lldb/trunk/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp Modified: lldb/trunk/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp?rev=256769&r1=256768&r2=256769&view=diff == --- lldb/trunk/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp (original) +++ lldb/trunk/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp Mon Jan 4 13:17:14 2016 @@ -2231,7 +2231,7 @@ RenderScriptRuntime::SaveAllocation(Stre // Write allocation data to file num_bytes = static_cast(*alloc->size.get()); if (log) -log->Printf("RenderScriptRuntime::SaveAllocation - Writing 0x%" PRIx64 " bytes from %p", (uint64_t) num_bytes, buffer.get()); +log->Printf("RenderScriptRuntime::SaveAllocation - Writing 0x%" PRIx64 " bytes from %s", (uint64_t) num_bytes, buffer.get()); err = file.Write(buffer.get(), num_bytes); if (!err.Success()) Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp?rev=256769&r1=256768&r2=256769&view=diff == --- lldb/trunk/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp (original) +++ lldb/trunk/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp Mon Jan 4 13:17:14 2016 @@ -69,7 +69,7 @@ NameToDIE::Dump (Stream *s) { const char *cstr = m_map.GetCStringAtIndex(i); const DIERef& die_ref = m_map.GetValueAtIndexUnchecked(i); -s->Printf("%p: {0x%8.8x/0x%8.8x} \"%s\"\n", cstr, die_ref.cu_offset, die_ref.die_offset, cstr); +s->Printf("%s: {0x%8.8x/0x%8.8x} \"%s\"\n", cstr, die_ref.cu_offset, die_ref.die_offset, cstr); } } ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Re: [Lldb-commits] [PATCH] D15527: Add ability to override JIT expr compiler options.
clayborg accepted this revision. clayborg added a comment. This revision is now accepted and ready to land. Looks good. Sean should OK this as well. http://reviews.llvm.org/D15527 ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] r256766 - [Commands] Get rid of unused typedefs.
Author: davide Date: Mon Jan 4 13:12:25 2016 New Revision: 256766 URL: http://llvm.org/viewvc/llvm-project?rev=256766&view=rev Log: [Commands] Get rid of unused typedefs. Modified: lldb/trunk/source/Commands/CommandObjectType.cpp Modified: lldb/trunk/source/Commands/CommandObjectType.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectType.cpp?rev=256766&r1=256765&r2=256766&view=diff == --- lldb/trunk/source/Commands/CommandObjectType.cpp (original) +++ lldb/trunk/source/Commands/CommandObjectType.cpp Mon Jan 4 13:12:25 2016 @@ -1396,11 +1396,6 @@ protected: auto category_closure = [&result, &formatter_regex] (const lldb::TypeCategoryImplSP& category) -> void { result.GetOutputStream().Printf("---\nCategory: %s\n---\n", category->GetName()); - -typedef const std::shared_ptr Bar; -typedef std::function Func1Type; -typedef std::function Func2Type; - TypeCategoryImpl::ForEachCallbacks foreach; foreach.SetExact([&result, &formatter_regex] (ConstString name, const FormatterSharedPointer& format_sp) -> bool { if (formatter_regex) ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Re: [Lldb-commits] [PATCH] D15855: Remove old flaky test rerun logic
tfiala accepted this revision. tfiala added a comment. This revision is now accepted and ready to land. Looks good! http://reviews.llvm.org/D15855 ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] r256755 - Remove XTIMEOUT from TestRegisters on linux
Author: labath Date: Mon Jan 4 07:51:14 2016 New Revision: 256755 URL: http://llvm.org/viewvc/llvm-project?rev=256755&view=rev Log: Remove XTIMEOUT from TestRegisters on linux I suspect the test was hanging due to the attach deadlock. This was fixed and the test has passed last 200 buildbot runs. Modified: lldb/trunk/packages/Python/lldbsuite/test/dosep.py Modified: lldb/trunk/packages/Python/lldbsuite/test/dosep.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/dosep.py?rev=256755&r1=256754&r2=256755&view=diff == --- lldb/trunk/packages/Python/lldbsuite/test/dosep.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/dosep.py Mon Jan 4 07:51:14 2016 @@ -1148,7 +1148,6 @@ def getExpectedTimeouts(platform_name): expected_timeout |= { "TestEvents.py", "TestMultithreaded.py", -"TestRegisters.py", # ~12/600 dosep runs (build 3120-3122) } elif target.startswith("android"): expected_timeout |= { ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] r256752 - Remove XTIMEOUT from TestThreadStepOut on linux
Author: labath Date: Mon Jan 4 07:07:22 2016 New Revision: 256752 URL: http://llvm.org/viewvc/llvm-project?rev=256752&view=rev Log: Remove XTIMEOUT from TestThreadStepOut on linux The whole test is skipped already, so it's not running anyway. Modified: lldb/trunk/packages/Python/lldbsuite/test/dosep.py Modified: lldb/trunk/packages/Python/lldbsuite/test/dosep.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/dosep.py?rev=256752&r1=256751&r2=256752&view=diff == --- lldb/trunk/packages/Python/lldbsuite/test/dosep.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/dosep.py Mon Jan 4 07:07:22 2016 @@ -1149,7 +1149,6 @@ def getExpectedTimeouts(platform_name): "TestEvents.py", "TestMultithreaded.py", "TestRegisters.py", # ~12/600 dosep runs (build 3120-3122) -"TestThreadStepOut.py", } elif target.startswith("android"): expected_timeout |= { ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] r256748 - Remove XTIMEOUT from TestHelloWorld on linux
Author: labath Date: Mon Jan 4 06:14:25 2016 New Revision: 256748 URL: http://llvm.org/viewvc/llvm-project?rev=256748&view=rev Log: Remove XTIMEOUT from TestHelloWorld on linux I think it was timing out because of the attach deadlocks, which are now fixed. In any case, it has passed last 200 buildbot runs, so I am enabling it. Modified: lldb/trunk/packages/Python/lldbsuite/test/dosep.py Modified: lldb/trunk/packages/Python/lldbsuite/test/dosep.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/dosep.py?rev=256748&r1=256747&r2=256748&view=diff == --- lldb/trunk/packages/Python/lldbsuite/test/dosep.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/dosep.py Mon Jan 4 06:14:25 2016 @@ -1147,9 +1147,6 @@ def getExpectedTimeouts(platform_name): if target.startswith("linux"): expected_timeout |= { "TestEvents.py", - -# Times out in ~10% of the times on the build bot -"TestHelloWorld.py", "TestMultithreaded.py", "TestRegisters.py", # ~12/600 dosep runs (build 3120-3122) "TestThreadStepOut.py", ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] r256746 - Remove XTIMEOUT from TestExitDuringStep on linux
Author: labath Date: Mon Jan 4 05:34:24 2016 New Revision: 256746 URL: http://llvm.org/viewvc/llvm-project?rev=256746&view=rev Log: Remove XTIMEOUT from TestExitDuringStep on linux The test has passed last 200 buildbot runs, so it's hopefully working now. I'll watch buildbots for signs of trouble. Modified: lldb/trunk/packages/Python/lldbsuite/test/dosep.py Modified: lldb/trunk/packages/Python/lldbsuite/test/dosep.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/dosep.py?rev=256746&r1=256745&r2=256746&view=diff == --- lldb/trunk/packages/Python/lldbsuite/test/dosep.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/dosep.py Mon Jan 4 05:34:24 2016 @@ -1147,7 +1147,6 @@ def getExpectedTimeouts(platform_name): if target.startswith("linux"): expected_timeout |= { "TestEvents.py", -"TestExitDuringStep.py", # Times out in ~10% of the times on the build bot "TestHelloWorld.py", ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [PATCH] D15855: Remove old flaky test rerun logic
labath created this revision. labath added a reviewer: tfiala. labath added a subscriber: lldb-commits. This removes the old logic for rerunning flaky tests. The new test runners will take care of rerunning failing tests. http://reviews.llvm.org/D15855 Files: packages/Python/lldbsuite/test/lldbtest.py Index: packages/Python/lldbsuite/test/lldbtest.py === --- packages/Python/lldbsuite/test/lldbtest.py +++ packages/Python/lldbsuite/test/lldbtest.py @@ -752,40 +752,20 @@ """ return expectedFailure(matchAndroid(api_levels, archs), bugnumber) -# if the test passes on the first try, we're done (success) -# if the test fails once, then passes on the second try, raise an ExpectedFailure -# if the test fails twice in a row, re-throw the exception from the second test run +# Flakey tests get two chances to run. If they fail the first time round, the result formatter +# makes sure it is run one more time. def expectedFlakey(expected_fn, bugnumber=None): def expectedFailure_impl(func): @wraps(func) def wrapper(*args, **kwargs): -from unittest2 import case self = args[0] if expected_fn(self): # Send event marking test as explicitly eligible for rerunning. if configuration.results_formatter_object is not None: # Mark this test as rerunnable. configuration.results_formatter_object.handle_event( EventBuilder.event_for_mark_test_rerun_eligible(self)) -try: -func(*args, **kwargs) -# don't retry if the test case is already decorated with xfail or skip -except (case._ExpectedFailure, case.SkipTest, case._UnexpectedSuccess): -raise -except Exception: -if expected_fn(self): -# before retry, run tearDown for previous run and setup for next -try: -self.tearDown() -self.setUp() -func(*args, **kwargs) -except Exception: -# oh snap! two failures in a row, record a failure/error -raise -# record the expected failure -raise case._ExpectedFailure(sys.exc_info(), bugnumber) -else: -raise +func(*args, **kwargs) return wrapper # if bugnumber is not-callable(incluing None), that means decorator function is called with optional arguments # return decorator in this case, so it will be used to decorating original method Index: packages/Python/lldbsuite/test/lldbtest.py === --- packages/Python/lldbsuite/test/lldbtest.py +++ packages/Python/lldbsuite/test/lldbtest.py @@ -752,40 +752,20 @@ """ return expectedFailure(matchAndroid(api_levels, archs), bugnumber) -# if the test passes on the first try, we're done (success) -# if the test fails once, then passes on the second try, raise an ExpectedFailure -# if the test fails twice in a row, re-throw the exception from the second test run +# Flakey tests get two chances to run. If they fail the first time round, the result formatter +# makes sure it is run one more time. def expectedFlakey(expected_fn, bugnumber=None): def expectedFailure_impl(func): @wraps(func) def wrapper(*args, **kwargs): -from unittest2 import case self = args[0] if expected_fn(self): # Send event marking test as explicitly eligible for rerunning. if configuration.results_formatter_object is not None: # Mark this test as rerunnable. configuration.results_formatter_object.handle_event( EventBuilder.event_for_mark_test_rerun_eligible(self)) -try: -func(*args, **kwargs) -# don't retry if the test case is already decorated with xfail or skip -except (case._ExpectedFailure, case.SkipTest, case._UnexpectedSuccess): -raise -except Exception: -if expected_fn(self): -# before retry, run tearDown for previous run and setup for next -try: -self.tearDown() -self.setUp() -func(*args, **kwargs) -except Exception: -# oh snap! two failures in a row, record a failure/error -raise -# record the expected failure -raise case._ExpectedFailure(sys.exc_info(), bugnumber) -else: -raise +func(*args, **kwargs) return wrapper
[Lldb-commits] [lldb] r256744 - Remove XTIMEOUT from TestCreateAfterAttach on linux
Author: labath Date: Mon Jan 4 04:52:17 2016 New Revision: 256744 URL: http://llvm.org/viewvc/llvm-project?rev=256744&view=rev Log: Remove XTIMEOUT from TestCreateAfterAttach on linux I believe the cause for this was the attach lockup fixed in r246756. I will enable this tests and observe the buildbots for signs of problems. Modified: lldb/trunk/packages/Python/lldbsuite/test/dosep.py Modified: lldb/trunk/packages/Python/lldbsuite/test/dosep.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/dosep.py?rev=256744&r1=256743&r2=256744&view=diff == --- lldb/trunk/packages/Python/lldbsuite/test/dosep.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/dosep.py Mon Jan 4 04:52:17 2016 @@ -1146,7 +1146,6 @@ def getExpectedTimeouts(platform_name): if target.startswith("linux"): expected_timeout |= { -"TestCreateAfterAttach.py", "TestEvents.py", "TestExitDuringStep.py", ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] r256741 - Remove TestConnectRemote from XTIMEOUTs
Author: labath Date: Mon Jan 4 04:09:06 2016 New Revision: 256741 URL: http://llvm.org/viewvc/llvm-project?rev=256741&view=rev Log: Remove TestConnectRemote from XTIMEOUTs The test in question was removed in r249613. Modified: lldb/trunk/packages/Python/lldbsuite/test/dosep.py Modified: lldb/trunk/packages/Python/lldbsuite/test/dosep.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/dosep.py?rev=256741&r1=256740&r2=256741&view=diff == --- lldb/trunk/packages/Python/lldbsuite/test/dosep.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/dosep.py Mon Jan 4 04:09:06 2016 @@ -1146,7 +1146,6 @@ def getExpectedTimeouts(platform_name): if target.startswith("linux"): expected_timeout |= { -"TestConnectRemote.py", "TestCreateAfterAttach.py", "TestEvents.py", "TestExitDuringStep.py", ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Re: [Lldb-commits] [PATCH] D15834: Handle hardcoded breakpoints on Windows (e.g., int3 or __debugbreak())
labath added a subscriber: labath. labath added a comment. Linux tests the same functionality in TestBuiltinTrap.py. Would it make sense to merge these two tests, given that the only difference is which compiler intrinsic is used to generate the int3 trap? http://reviews.llvm.org/D15834 ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits