[Lldb-commits] [PATCH] D15715: Don't pack the structs of the jit debug interface

2015-12-22 Thread Tamas Berghammer via lldb-commits
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

2015-12-22 Thread Keno Fischer via lldb-commits
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

2015-12-22 Thread Tamas Berghammer via lldb-commits
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

2015-12-22 Thread Keno Fischer via lldb-commits
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

2015-12-22 Thread Tamas Berghammer via lldb-commits
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

2015-12-22 Thread Tamas Berghammer via lldb-commits
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

2015-12-22 Thread Ed Maste via lldb-commits
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

2015-12-22 Thread Ed Maste via lldb-commits
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.

2015-12-22 Thread Adrian McCarthy via lldb-commits
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

2015-12-22 Thread Todd Fiala via lldb-commits
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

2015-12-22 Thread Todd Fiala via lldb-commits
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

2015-12-22 Thread Ed Maste via lldb-commits
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

2015-12-22 Thread Ed Maste via lldb-commits
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

2015-12-22 Thread Adrian McCarthy via lldb-commits
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

2015-12-22 Thread Adrian McCarthy via lldb-commits
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

2015-12-22 Thread Galina Kistanova via lldb-commits
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

2015-12-22 Thread Mohit Bhakkad via lldb-commits
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