[Lldb-commits] [PATCH] D15715: Don't pack the structs of the jit debug interface
tberghammer created this revision. tberghammer added reviewers: tfiala, endlessroad, loladiro. tberghammer added a subscriber: lldb-commits. Don't pack the structs of the jit debug interface None of the documentation mentions that the entries are packed structs and also none of the other implementation I found pack them. LLVM implementation: https://github.com/llvm-mirror/llvm/blob/master/lib/ExecutionEngine/GDBRegistrationListener.cpp http://reviews.llvm.org/D15715 Files: source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp Index: source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp === --- source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp +++ source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp @@ -90,7 +90,6 @@ JIT_UNREGISTER_FN } jit_actions_t; -#pragma pack(push, 4) template struct jit_code_entry { @@ -107,7 +106,6 @@ ptr_trelevant_entry; // pointer ptr_tfirst_entry; // pointer }; -#pragma pack(pop) JITLoaderGDB::JITLoaderGDB (lldb_private::Process *process) : JITLoader(process), Index: source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp === --- source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp +++ source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp @@ -90,7 +90,6 @@ JIT_UNREGISTER_FN } jit_actions_t; -#pragma pack(push, 4) template struct jit_code_entry { @@ -107,7 +106,6 @@ ptr_trelevant_entry; // pointer ptr_tfirst_entry; // pointer }; -#pragma pack(pop) JITLoaderGDB::JITLoaderGDB (lldb_private::Process *process) : JITLoader(process), ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Re: [Lldb-commits] [PATCH] D15715: Don't pack the structs of the jit debug interface
loladiro added a comment. I don't think that was part of the code I originally had, but I suppose this was added for 32bit compatibility? Would this do the right thing with a 32bit target? http://reviews.llvm.org/D15715 ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Re: [Lldb-commits] [PATCH] D15715: Don't pack the structs of the jit debug interface
tberghammer added a comment. I hit the problem when debugging an arm32 target from an x86_64 host and this CL fixes that issue. It will break if a 32bit target use the same "pragma pack" attribute I just removed. The change have no effect for 64bit targets because symfile_size will be 8 byte aligned independently of the "pragma pack" (because all previous member is 8 byte). http://reviews.llvm.org/D15715 ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Re: [Lldb-commits] [PATCH] D15715: Don't pack the structs of the jit debug interface
loladiro accepted this revision. loladiro added a comment. This revision is now accepted and ready to land. Ok, I see. Yes, I agree with this change. LGTM. http://reviews.llvm.org/D15715 ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] r256244 - Don't pack the structs of the jit debug interface
Author: tberghammer Date: Tue Dec 22 09:23:33 2015 New Revision: 256244 URL: http://llvm.org/viewvc/llvm-project?rev=256244&view=rev Log: Don't pack the structs of the jit debug interface None of the documentation mentions that the entries are packed structs and also none of the other implementation I found pack them. Differential revision: http://reviews.llvm.org/D15715 Modified: lldb/trunk/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp Modified: lldb/trunk/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp?rev=256244&r1=256243&r2=256244&view=diff == --- lldb/trunk/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp (original) +++ lldb/trunk/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp Tue Dec 22 09:23:33 2015 @@ -90,7 +90,6 @@ typedef enum JIT_UNREGISTER_FN } jit_actions_t; -#pragma pack(push, 4) template struct jit_code_entry { @@ -107,7 +106,6 @@ struct jit_descriptor ptr_trelevant_entry; // pointer ptr_tfirst_entry; // pointer }; -#pragma pack(pop) JITLoaderGDB::JITLoaderGDB (lldb_private::Process *process) : JITLoader(process), ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Re: [Lldb-commits] [PATCH] D15715: Don't pack the structs of the jit debug interface
This revision was automatically updated to reflect the committed changes. Closed by commit rL256244: Don't pack the structs of the jit debug interface (authored by tberghammer). Changed prior to commit: http://reviews.llvm.org/D15715?vs=43444&id=43445#toc Repository: rL LLVM http://reviews.llvm.org/D15715 Files: lldb/trunk/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp Index: lldb/trunk/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp === --- lldb/trunk/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp +++ lldb/trunk/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp @@ -90,7 +90,6 @@ JIT_UNREGISTER_FN } jit_actions_t; -#pragma pack(push, 4) template struct jit_code_entry { @@ -107,7 +106,6 @@ ptr_trelevant_entry; // pointer ptr_tfirst_entry; // pointer }; -#pragma pack(pop) JITLoaderGDB::JITLoaderGDB (lldb_private::Process *process) : JITLoader(process), Index: lldb/trunk/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp === --- lldb/trunk/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp +++ lldb/trunk/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp @@ -90,7 +90,6 @@ JIT_UNREGISTER_FN } jit_actions_t; -#pragma pack(push, 4) template struct jit_code_entry { @@ -107,7 +106,6 @@ ptr_trelevant_entry; // pointer ptr_tfirst_entry; // pointer }; -#pragma pack(pop) JITLoaderGDB::JITLoaderGDB (lldb_private::Process *process) : JITLoader(process), ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] r256248 - Remove PC -1 offset from FreeBSD arm64 UpdateAfterBreakpoint
Author: emaste Date: Tue Dec 22 09:57:21 2015 New Revision: 256248 URL: http://llvm.org/viewvc/llvm-project?rev=256248&view=rev Log: Remove PC -1 offset from FreeBSD arm64 UpdateAfterBreakpoint It was a copy-and-paste leftover. Modified: lldb/trunk/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm64.cpp Modified: lldb/trunk/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm64.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm64.cpp?rev=256248&r1=256247&r2=256248&view=diff == --- lldb/trunk/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm64.cpp (original) +++ lldb/trunk/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm64.cpp Tue Dec 22 09:57:21 2015 @@ -260,13 +260,11 @@ RegisterContextPOSIXProcessMonitor_arm64 bool RegisterContextPOSIXProcessMonitor_arm64::UpdateAfterBreakpoint() { -// PC points one byte past the int3 responsible for the breakpoint. lldb::addr_t pc; if ((pc = GetPC()) == LLDB_INVALID_ADDRESS) return false; -SetPC(pc - 1); return true; } ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] r256250 - Add expectedFailureFreeBSD to tests failing in the same way as on Linux
Author: emaste Date: Tue Dec 22 10:47:04 2015 New Revision: 256250 URL: http://llvm.org/viewvc/llvm-project?rev=256250&view=rev Log: Add expectedFailureFreeBSD to tests failing in the same way as on Linux llvm.org/pr25819 Modified: lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/namespace/TestNamespaceLookup.py Modified: lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/namespace/TestNamespaceLookup.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/namespace/TestNamespaceLookup.py?rev=256250&r1=256249&r2=256250&view=diff == --- lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/namespace/TestNamespaceLookup.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/namespace/TestNamespaceLookup.py Tue Dec 22 10:47:04 2015 @@ -33,6 +33,7 @@ class NamespaceLookupTestCase(TestBase): substrs = ['stopped', 'stop reason = breakpoint']) +@expectedFailureFreeBSD("llvm.org/pr25819") @expectedFailureLinux("llvm.org/pr25819") def test_scope_lookup_with_run_command(self): """Test scope lookup of functions in lldb.""" @@ -158,6 +159,7 @@ class NamespaceLookupTestCase(TestBase): # NOTE: this test may fail on older systems that don't emit import # emtries in DWARF - may need to add checks for compiler versions here. +@expectedFailureFreeBSD("llvm.org/pr25819") @expectedFailureLinux("llvm.org/pr25819") def test_scope_after_using_directive_lookup_with_run_command(self): """Test scope lookup after using directive in lldb.""" @@ -201,6 +203,7 @@ class NamespaceLookupTestCase(TestBase): # the same type. self.expect("expr -- func()", startstr = "error") +@expectedFailureFreeBSD("llvm.org/pr25819") @expectedFailureLinux("llvm.org/pr25819") def test_scope_lookup_shadowed_by_using_with_run_command(self): """Test scope lookup shadowed by using in lldb.""" ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] r256251 - Improve error handling for `frame select` command when there are too many arguments.
Author: amccarth Date: Tue Dec 22 10:50:28 2015 New Revision: 256251 URL: http://llvm.org/viewvc/llvm-project?rev=256251&view=rev Log: Improve error handling for `frame select` command when there are too many arguments. Bug: https://llvm.org/bugs/show_bug.cgi?id=25847 It now gives a more specific error message and then returns instead of trying to select the wrong frame. Modified: lldb/trunk/packages/Python/lldbsuite/test/functionalities/abbreviation/TestCommonShortSpellings.py lldb/trunk/source/Commands/CommandObjectFrame.cpp Modified: lldb/trunk/packages/Python/lldbsuite/test/functionalities/abbreviation/TestCommonShortSpellings.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/abbreviation/TestCommonShortSpellings.py?rev=256251&r1=256250&r2=256251&view=diff == --- lldb/trunk/packages/Python/lldbsuite/test/functionalities/abbreviation/TestCommonShortSpellings.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/abbreviation/TestCommonShortSpellings.py Tue Dec 22 10:50:28 2015 @@ -29,6 +29,7 @@ class CommonShortSpellingsTestCase(TestB ('dis', 'disassemble'), ('ta st a', 'target stop-hook add'), ('fr v', 'frame variable'), +('f 1', 'frame select 1'), ('ta st li', 'target stop-hook list'), ] Modified: lldb/trunk/source/Commands/CommandObjectFrame.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Commands/CommandObjectFrame.cpp?rev=256251&r1=256250&r2=256251&view=diff == --- lldb/trunk/source/Commands/CommandObjectFrame.cpp (original) +++ lldb/trunk/source/Commands/CommandObjectFrame.cpp Tue Dec 22 10:50:28 2015 @@ -262,8 +262,10 @@ protected: } else { -result.AppendError ("invalid arguments.\n"); +result.AppendErrorWithFormat ("too many arguments; expected frame-index, saw '%s'.\n", + command.GetArgumentAtIndex(0)); m_options.GenerateOptionUsage (result.GetErrorStream(), this); +return false; } } ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] r256255 - test infra: fix lldbinline tests to work with rerun
Author: tfiala Date: Tue Dec 22 11:14:47 2015 New Revision: 256255 URL: http://llvm.org/viewvc/llvm-project?rev=256255&view=rev Log: test infra: fix lldbinline tests to work with rerun Fixes: https://llvm.org/bugs/show_bug.cgi?id=25922 Added: lldb/trunk/packages/Python/lldbsuite/test/issue_verification/Makefile lldb/trunk/packages/Python/lldbsuite/test/issue_verification/TestRerunInline.py.park lldb/trunk/packages/Python/lldbsuite/test/issue_verification/inline_rerun_inferior.cpp Modified: lldb/trunk/packages/Python/lldbsuite/test/lldbinline.py lldb/trunk/packages/Python/lldbsuite/test/result_formatter.py Added: lldb/trunk/packages/Python/lldbsuite/test/issue_verification/Makefile URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/issue_verification/Makefile?rev=256255&view=auto == --- lldb/trunk/packages/Python/lldbsuite/test/issue_verification/Makefile (added) +++ lldb/trunk/packages/Python/lldbsuite/test/issue_verification/Makefile Tue Dec 22 11:14:47 2015 @@ -0,0 +1,4 @@ +LEVEL = ../make +CXX_SOURCES := inline_rerun_inferior.cpp +CXXFLAGS += -std=c++11 +include $(LEVEL)/Makefile.rules Added: lldb/trunk/packages/Python/lldbsuite/test/issue_verification/TestRerunInline.py.park URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/issue_verification/TestRerunInline.py.park?rev=256255&view=auto == --- lldb/trunk/packages/Python/lldbsuite/test/issue_verification/TestRerunInline.py.park (added) +++ lldb/trunk/packages/Python/lldbsuite/test/issue_verification/TestRerunInline.py.park Tue Dec 22 11:14:47 2015 @@ -0,0 +1,13 @@ +"""Tests that the rerun mechanism respects lldbinline-created tests. + +The current implementation of this test is expected to fail both on +the initial run and on the rerun, assuming --rerun-all-issues is provided +to the dotest.py run. + +This test could be improved by doing something in the test inferior +C++ program that could look for the "should an issue be raised" marker +file, and then really pass on the rerun. +""" +import lldbsuite.test.lldbinline as lldbinline + +lldbinline.MakeInlineTest(__file__, globals()) Added: lldb/trunk/packages/Python/lldbsuite/test/issue_verification/inline_rerun_inferior.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/issue_verification/inline_rerun_inferior.cpp?rev=256255&view=auto == --- lldb/trunk/packages/Python/lldbsuite/test/issue_verification/inline_rerun_inferior.cpp (added) +++ lldb/trunk/packages/Python/lldbsuite/test/issue_verification/inline_rerun_inferior.cpp Tue Dec 22 11:14:47 2015 @@ -0,0 +1,14 @@ +//===-- main.cpp --*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===--===// +typedef int Foo; + +int main() { +Foo array[3] = {1,2,3}; +return 0; //% self.expect("frame variable array --show-types --", substrs = ['(Foo [3]) wrong_type_here = {','(Foo) [0] = 1','(Foo) [1] = 2','(Foo) [2] = 3']) +} Modified: lldb/trunk/packages/Python/lldbsuite/test/lldbinline.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lldbinline.py?rev=256255&r1=256254&r2=256255&view=diff == --- lldb/trunk/packages/Python/lldbsuite/test/lldbinline.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/lldbinline.py Tue Dec 22 11:14:47 2015 @@ -203,6 +203,8 @@ def MakeInlineTest(__file, __globals, de # Add the test case to the globals, and hide InlineTest __globals.update({test_name : test}) - + +# Store the name of the originating file.o +test.test_filename = __file return test Modified: lldb/trunk/packages/Python/lldbsuite/test/result_formatter.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/result_formatter.py?rev=256255&r1=256254&r2=256255&view=diff == --- lldb/trunk/packages/Python/lldbsuite/test/result_formatter.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/result_formatter.py Tue Dec 22 11:14:47 2015 @@ -242,11 +242,18 @@ class EventBuilder(object): """ test_class_name, test_name = EventBuilder._get_test_name_info(test) +# Determine the filename for the test case. If there is an attribute +# for it, use it. Otherwise, determine from the TestCase class path. +if hasattr(test, "test_filename"): +
[Lldb-commits] [lldb] r256257 - skip TestEvents.py on Darwin
Author: tfiala Date: Tue Dec 22 11:24:31 2015 New Revision: 256257 URL: http://llvm.org/viewvc/llvm-project?rev=256257&view=rev Log: skip TestEvents.py on Darwin This is generating a SIGSEGV somewhere around 1 in 10 runs on OS X. Skip the whole test to avoid testbot noise until we can get the SIGSEGV addressed. Tracking with: https://llvm.org/bugs/show_bug.cgi?id=25924 Modified: lldb/trunk/packages/Python/lldbsuite/test/python_api/event/TestEvents.py Modified: lldb/trunk/packages/Python/lldbsuite/test/python_api/event/TestEvents.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/python_api/event/TestEvents.py?rev=256257&r1=256256&r2=256257&view=diff == --- lldb/trunk/packages/Python/lldbsuite/test/python_api/event/TestEvents.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/python_api/event/TestEvents.py Tue Dec 22 11:24:31 2015 @@ -12,6 +12,7 @@ import lldb import lldbsuite.test.lldbutil as lldbutil from lldbsuite.test.lldbtest import * +@skipIfDarwin # llvm.org/pr25924, sometimes generating SIGSEGV class EventAPITestCase(TestBase): mydir = TestBase.compute_mydir(__file__) ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] r256268 - Add expectedFailureFreeBSD to an additional thread state test failing on FreeBSD
Author: emaste Date: Tue Dec 22 13:08:46 2015 New Revision: 256268 URL: http://llvm.org/viewvc/llvm-project?rev=256268&view=rev Log: Add expectedFailureFreeBSD to an additional thread state test failing on FreeBSD This new failure has been noted in the existing PR, llvm.org/pr15824 Modified: lldb/trunk/packages/Python/lldbsuite/test/functionalities/thread/state/TestThreadStates.py Modified: lldb/trunk/packages/Python/lldbsuite/test/functionalities/thread/state/TestThreadStates.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/thread/state/TestThreadStates.py?rev=256268&r1=256267&r2=256268&view=diff == --- lldb/trunk/packages/Python/lldbsuite/test/functionalities/thread/state/TestThreadStates.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/thread/state/TestThreadStates.py Tue Dec 22 13:08:46 2015 @@ -27,6 +27,7 @@ class ThreadStateTestCase(TestBase): @skipIfDarwin # 'llvm.org/pr23669', cause Python crash randomly @expectedFailureDarwin('llvm.org/pr23669') +@expectedFailureFreeBSD('llvm.org/pr15824') @expectedFailureWindows("llvm.org/pr24660") def test_state_after_continue(self): """Test thread state after continue.""" ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] r256270 - XFAIL TestCppNsImport on FreeBSD
Author: emaste Date: Tue Dec 22 13:10:09 2015 New Revision: 256270 URL: http://llvm.org/viewvc/llvm-project?rev=256270&view=rev Log: XFAIL TestCppNsImport on FreeBSD It has an existing XFAIL annotation for GCC >= 4.9 but it also fails on FreeBSD 10.x with Clang 3.4.1. llvm.org/pr25925 Modified: lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/nsimport/TestCppNsImport.py Modified: lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/nsimport/TestCppNsImport.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/nsimport/TestCppNsImport.py?rev=256270&r1=256269&r2=256270&view=diff == --- lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/nsimport/TestCppNsImport.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/nsimport/TestCppNsImport.py Tue Dec 22 13:10:09 2015 @@ -9,6 +9,7 @@ class TestCppNsImport(TestBase): mydir = TestBase.compute_mydir(__file__) +@expectedFailureFreeBSD("llvm.org/pr25925") @expectedFailureGcc(None, ['>=', '4.9']) def test_with_run_command(self): """Tests imported namespaces in C++.""" ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [PATCH] D15723: Allow test decorators to use lists (and not_in(list)) for arches
amccarth created this revision. amccarth added a reviewer: zturner. amccarth added a subscriber: lldb-commits. Tweaks check_list_or_lambda to handle a partial match into a list of strings, and updates the decorators to use check_list_or_lambda for architectures. In addition to making things more consistent, this will simplify the addition of some architecture-specific tests I'm writing to make sure the Windows plugin does the right thing when encountering a debugbreak intrinsic. http://reviews.llvm.org/D15723 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 @@ -623,7 +623,12 @@ def check_list_or_lambda(list_or_lambda, value): if six.callable(list_or_lambda): return list_or_lambda(value) -elif isinstance(list_or_lambda, list) or isinstance(list_or_lambda, str): +elif isinstance(list_or_lambda, list): +for item in list_or_lambda: +if value in item: +return True +return False +elif isinstance(list_or_lambda, str): return value is None or value in list_or_lambda else: return list_or_lambda is None or value is None or list_or_lambda == value @@ -639,7 +644,7 @@ oslist_passes = check_list_or_lambda(oslist, self.getPlatform()) hostoslist_passes = check_list_or_lambda(hostoslist, getHostPlatform()) compiler_passes = check_list_or_lambda(self.getCompiler(), compiler) and self.expectedCompilerVersion(compiler_version) -arch_passes = self.expectedArch(archs) +arch_passes = check_list_or_lambda(archs, self.getArchitecture()) triple_passes = triple is None or re.match(triple, lldb.DBG.GetSelectedPlatform().GetTriple()) debug_info_passes = check_list_or_lambda(debug_info, self.debug_info) swig_version_passes = (swig_version is None) or (not hasattr(lldb, 'swig_version')) or (check_expected_version(swig_version[0], swig_version[1], lldb.swig_version)) @@ -1098,7 +1103,7 @@ def fn(self): oslist_passes = check_list_or_lambda(oslist, self.getPlatform()) compiler_passes = check_list_or_lambda(self.getCompiler(), compiler) and self.expectedCompilerVersion(compiler_version) -arch_passes = self.expectedArch(archs) +arch_passes = check_list_or_lambda(archs, self.getArchitecture()) debug_info_passes = check_list_or_lambda(debug_info, self.debug_info) swig_version_passes = (swig_version is None) or (not hasattr(lldb, 'swig_version')) or (check_expected_version(swig_version[0], swig_version[1], lldb.swig_version)) py_version_passes = (py_version is None) or check_expected_version(py_version[0], py_version[1], sys.version_info) Index: packages/Python/lldbsuite/test/lldbtest.py === --- packages/Python/lldbsuite/test/lldbtest.py +++ packages/Python/lldbsuite/test/lldbtest.py @@ -623,7 +623,12 @@ def check_list_or_lambda(list_or_lambda, value): if six.callable(list_or_lambda): return list_or_lambda(value) -elif isinstance(list_or_lambda, list) or isinstance(list_or_lambda, str): +elif isinstance(list_or_lambda, list): +for item in list_or_lambda: +if value in item: +return True +return False +elif isinstance(list_or_lambda, str): return value is None or value in list_or_lambda else: return list_or_lambda is None or value is None or list_or_lambda == value @@ -639,7 +644,7 @@ oslist_passes = check_list_or_lambda(oslist, self.getPlatform()) hostoslist_passes = check_list_or_lambda(hostoslist, getHostPlatform()) compiler_passes = check_list_or_lambda(self.getCompiler(), compiler) and self.expectedCompilerVersion(compiler_version) -arch_passes = self.expectedArch(archs) +arch_passes = check_list_or_lambda(archs, self.getArchitecture()) triple_passes = triple is None or re.match(triple, lldb.DBG.GetSelectedPlatform().GetTriple()) debug_info_passes = check_list_or_lambda(debug_info, self.debug_info) swig_version_passes = (swig_version is None) or (not hasattr(lldb, 'swig_version')) or (check_expected_version(swig_version[0], swig_version[1], lldb.swig_version)) @@ -1098,7 +1103,7 @@ def fn(self): oslist_passes = check_list_or_lambda(oslist, self.getPlatform()) compiler_passes = check_list_or_lambda(self.getCompiler(), compiler) and self.expectedCompilerVersion(compiler_version) -arch_passes = self.expectedArch(archs) +arch_passes = check_list_or_lambda(archs, self.getArchitecture()) debug_info_passes = check_list_or_lambda(debug_info, self.debug_info) swig_version_passes = (swig_version is None) or (not has
[Lldb-commits] [lldb] r256283 - Allow test decorators to use lists (and not_in(list)) for arches
Author: amccarth Date: Tue Dec 22 15:01:21 2015 New Revision: 256283 URL: http://llvm.org/viewvc/llvm-project?rev=256283&view=rev Log: Allow test decorators to use lists (and not_in(list)) for arches Differential Revision: https://mail.google.com/mail/u/0/?zx=w4areffgjbgg#inbox/151cb6afe6169bb0 Modified: lldb/trunk/packages/Python/lldbsuite/test/lldbtest.py Modified: lldb/trunk/packages/Python/lldbsuite/test/lldbtest.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lldbtest.py?rev=256283&r1=256282&r2=256283&view=diff == --- lldb/trunk/packages/Python/lldbsuite/test/lldbtest.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/lldbtest.py Tue Dec 22 15:01:21 2015 @@ -623,7 +623,12 @@ def not_in(iterable): def check_list_or_lambda(list_or_lambda, value): if six.callable(list_or_lambda): return list_or_lambda(value) -elif isinstance(list_or_lambda, list) or isinstance(list_or_lambda, str): +elif isinstance(list_or_lambda, list): +for item in list_or_lambda: +if value in item: +return True +return False +elif isinstance(list_or_lambda, str): return value is None or value in list_or_lambda else: return list_or_lambda is None or value is None or list_or_lambda == value @@ -639,7 +644,7 @@ def expectedFailureAll(bugnumber=None, o oslist_passes = check_list_or_lambda(oslist, self.getPlatform()) hostoslist_passes = check_list_or_lambda(hostoslist, getHostPlatform()) compiler_passes = check_list_or_lambda(self.getCompiler(), compiler) and self.expectedCompilerVersion(compiler_version) -arch_passes = self.expectedArch(archs) +arch_passes = check_list_or_lambda(archs, self.getArchitecture()) triple_passes = triple is None or re.match(triple, lldb.DBG.GetSelectedPlatform().GetTriple()) debug_info_passes = check_list_or_lambda(debug_info, self.debug_info) swig_version_passes = (swig_version is None) or (not hasattr(lldb, 'swig_version')) or (check_expected_version(swig_version[0], swig_version[1], lldb.swig_version)) @@ -1098,7 +1103,7 @@ def skipIf(bugnumber=None, oslist=None, def fn(self): oslist_passes = check_list_or_lambda(oslist, self.getPlatform()) compiler_passes = check_list_or_lambda(self.getCompiler(), compiler) and self.expectedCompilerVersion(compiler_version) -arch_passes = self.expectedArch(archs) +arch_passes = check_list_or_lambda(archs, self.getArchitecture()) debug_info_passes = check_list_or_lambda(debug_info, self.debug_info) swig_version_passes = (swig_version is None) or (not hasattr(lldb, 'swig_version')) or (check_expected_version(swig_version[0], swig_version[1], lldb.swig_version)) py_version_passes = (py_version is None) or check_expected_version(py_version[0], py_version[1], sys.version_info) ___ 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/13/2015 - 12/19/2015
Hello everyone, Below are some buildbot numbers for the last week of 12/13/2015 - 12/19/2015. Thanks Galina Number of commits by project: project | commits ---+--- llvm | 293 cfe |98 lldb |69 lld |34 polly |25 compiler-rt |20 libcxx|15 openmp| 8 clang-tools-extra | 8 libcxxabi | 1 --- 571 Number of completed builds, failed builds and average build time for successful builds per active builder: buildername | completed | failed | time ---+++ clang-aarch64-lnt | 54 || 02:34:35 clang-atom-d525-fedora| 18 | 1 | 08:20:27 clang-atom-d525-fedora-rel| 65 | 1 | 01:57:35 clang-bpf-build |306 | 79 | 00:03:16 clang-cmake-aarch64-42vma |227 | 65 | 00:20:07 clang-cmake-aarch64-full | 40 | 14 | 03:31:52 clang-cmake-aarch64-quick |177 | 48 | 00:29:44 clang-cmake-armv7-a15 |149 | 50 | 00:35:43 clang-cmake-armv7-a15-full| 83 | 14 | 00:48:22 clang-cmake-armv7-a15-selfhost| 35 | 8 | 04:22:50 clang-cmake-armv7-a15-selfhost-neon | 30 | 11 | 06:02:51 clang-cmake-mips | 77 | 15 | 01:27:50 clang-cmake-mipsel| 23 | 8 | 05:14:13 clang-cmake-thumbv7-a15 |160 | 60 | 00:33:27 clang-cmake-thumbv7-a15-full-sh | 25 | 7 | 06:57:47 clang-hexagon-elf |226 | 54 | 00:16:53 clang-native-aarch64-full | 15 | 5 | 07:58:09 clang-native-arm-lnt | 90 | 5 | 01:16:39 clang-native-arm-lnt-perf | 16 | 2 | 10:02:34 clang-ppc64-elf-linux |108 | 4 | 01:03:00 clang-ppc64-elf-linux2|109 | 38 | 01:17:47 clang-sphinx-docs | 98 || 00:00:21 clang-x64-ninja-win7 |174 | 72 | 00:35:03 clang-x86-win2008-selfhost|120 | 50 | 01:06:02 clang-x86_64-darwin13-cross-arm |226 | 12 | 00:19:57 clang-x86_64-darwin13-cross-mingw32 |206 | 11 | 00:23:41 clang-x86_64-debian-fast |119 | 9 | 00:14:19 clang-x86_64-linux-abi-test |316 | 17 | 00:09:51 clang-x86_64-linux-selfhost-modules |250 | 53 | 00:15:56 clang-x86_64-ubuntu-gdb-75|125 | 7 | 00:51:07 libcxx-libcxxabi-arm-linux| 14 | 1 | 01:07:31 libcxx-libcxxabi-singlethreaded-x86_64-linux-debian | 9 | 1 | 00:10:04 libcxx-libcxxabi-x86_64-linux-debian | 8 || 00:10:35 libcxx-libcxxabi-x86_64-linux-debian-noexceptions | 8 || 00:10:09 libcxx-libcxxabi-x86_64-linux-ubuntu-asan | 12 | 1 | 00:12:26 libcxx-libcxxabi-x86_64-linux-ubuntu-cxx03| 12 || 00:08:09 libcxx-libcxxabi-x86_64-linux-ubuntu-cxx11| 9 || 00:09:25 libcxx-libcxxabi-x86_64-linux-ubuntu-cxx14| 13 | 1 | 00:08:23 libcxx-libcxxabi-x86_64-linux-ubuntu-cxx1z| 13 | 1 | 00:08:30 libcxx-libcxxabi-x86_64-linux-ubuntu-msan | 13 | 1 | 00:23:37 libcxx-libcxxabi-x86_64-linux-ubuntu-tsan | 11 | 1 | 00:16:53 libcxx-libcxxabi-x86_64-linux-ubuntu-unstable-abi |
[Lldb-commits] [PATCH] D15738: [LLDB] Fix Read/Write memory to be compatible with both endians
mohit.bhakkad created this revision. mohit.bhakkad added a reviewer: clayborg. mohit.bhakkad added subscribers: jaydeep, bhushan, sagar, nitesh.jain, lldb-commits. mohit.bhakkad set the repository for this revision to rL LLVM. While copying a byte, copy a whole byte chunk instead of each bit, to make it compatible with both endians. Repository: rL LLVM http://reviews.llvm.org/D15738 Files: source/Plugins/Process/Linux/NativeProcessLinux.cpp Index: source/Plugins/Process/Linux/NativeProcessLinux.cpp === --- source/Plugins/Process/Linux/NativeProcessLinux.cpp +++ source/Plugins/Process/Linux/NativeProcessLinux.cpp @@ -2547,9 +2547,7 @@ remainder = remainder > k_ptrace_word_size ? k_ptrace_word_size : remainder; // Copy the data into our buffer -for (unsigned i = 0; i < remainder; ++i) -dst[i] = ((data >> i*8) & 0xFF); - +*((long*)(dst)) = data; if (log && ProcessPOSIXLog::AtTopNestLevel() && (log->GetMask().Test(POSIX_LOG_MEMORY_DATA_LONG) || (log->GetMask().Test(POSIX_LOG_MEMORY_DATA_SHORT) && @@ -2600,8 +2598,7 @@ if (remainder == k_ptrace_word_size) { unsigned long data = 0; -for (unsigned i = 0; i < k_ptrace_word_size; ++i) -data |= (unsigned long)src[i] << i*8; +data = *((unsigned long*)src); if (log && ProcessPOSIXLog::AtTopNestLevel() && (log->GetMask().Test(POSIX_LOG_MEMORY_DATA_LONG) || Index: source/Plugins/Process/Linux/NativeProcessLinux.cpp === --- source/Plugins/Process/Linux/NativeProcessLinux.cpp +++ source/Plugins/Process/Linux/NativeProcessLinux.cpp @@ -2547,9 +2547,7 @@ remainder = remainder > k_ptrace_word_size ? k_ptrace_word_size : remainder; // Copy the data into our buffer -for (unsigned i = 0; i < remainder; ++i) -dst[i] = ((data >> i*8) & 0xFF); - +*((long*)(dst)) = data; if (log && ProcessPOSIXLog::AtTopNestLevel() && (log->GetMask().Test(POSIX_LOG_MEMORY_DATA_LONG) || (log->GetMask().Test(POSIX_LOG_MEMORY_DATA_SHORT) && @@ -2600,8 +2598,7 @@ if (remainder == k_ptrace_word_size) { unsigned long data = 0; -for (unsigned i = 0; i < k_ptrace_word_size; ++i) -data |= (unsigned long)src[i] << i*8; +data = *((unsigned long*)src); if (log && ProcessPOSIXLog::AtTopNestLevel() && (log->GetMask().Test(POSIX_LOG_MEMORY_DATA_LONG) || ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits