Commit Graph

12031 Commits

Author SHA1 Message Date
Chaoren Lin 4630de80c5 Deprecate `SBValue::TypeIsPointerType`.
Reviewers: clayborg

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D11540

llvm-svn: 243333
2015-07-27 21:51:56 +00:00
Ying Chen f1dfb4d1eb Fix Windows buildbot failure after rev 243301
Summary:
- Visual Studio doesn't support "list initialization inside member initializer list"
- Call inner struct constructor explicitly

Reviewers:
enrico
Subscribers:
lldb-commits

llvm-svn: 243332
2015-07-27 21:47:14 +00:00
Enrico Granata 99e5e22091 If a path contains a '/' before a ':', then the ':' is not a hostname separator, but just a part of the path (e.g. /tmp/fi:lename vs. pro:/tmp/fi:lename)
llvm-svn: 243330
2015-07-27 21:27:02 +00:00
Chaoren Lin 5ce142b429 Only test ObjC expression options on Darwin.
Reviewers: dawn, emaste, vharron, clayborg

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D11539

llvm-svn: 243329
2015-07-27 21:15:01 +00:00
Ed Maste 6cfb894892 XFAIL test_with_dwarf_formatters_api on FreeBSD
llvm.org/pr24282

llvm-svn: 243309
2015-07-27 19:20:42 +00:00
Ed Maste 7c98da6451 XFAIL TestExprOptions on FreeBSD.
r243230 XFAILed it for Linux; it also fails on FreeBSD.

llvm-svn: 243307
2015-07-27 19:10:16 +00:00
Enrico Granata c1b7c09ac4 Add a more tweakable way for ValueObjectPrinter to control pointer expansion. NFC.
llvm-svn: 243301
2015-07-27 18:34:14 +00:00
Dawn Perchik c9a0d3be69 [lldb-mi] Fix breakpoints on functions when C++ namespaces are used.
The command "-break-insert ns::foo" for function 'foo' in namespace 'ns'
was being parsed as file:function.  This patch fixes these cases by adding
checks for '::'. (Note: '::func' is not parsed correctly by lldb due to
llvm.org/pr24271).

Reviewed by: ki.stfu
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D11396

llvm-svn: 243281
2015-07-27 17:03:34 +00:00
Oleksiy Vyalov e837e6c7f7 Fix jSignalsInfo packet handling.
llvm-svn: 243257
2015-07-27 01:32:58 +00:00
Chaoren Lin 424848cabe XFAIL TestExprOptions on Linux.
llvm-svn: 243230
2015-07-25 22:06:48 +00:00
Benjamin Kramer 882b964aaf Add missing namespace specifiers.
llvm-svn: 243220
2015-07-25 15:44:23 +00:00
Benjamin Kramer 4665c29b81 Upgrade for Clang API change.
llvm-svn: 243219
2015-07-25 15:33:17 +00:00
Jason Molenda 08a3258bd8 Add some initial logging for when lldb is searching for binaries,
dSYMs, or reading binaries out of memory to the 'Host' log channel.
There's more to be done here, both for Mac and for other platforms,
but the initial set of new loggings are useful enough to check in
at this point.

llvm-svn: 243200
2015-07-25 02:39:42 +00:00
Jim Ingham 9435b3c298 Shorten the lldb timeout, we were seeing occasional failure because
lldb didn't wake up before the target function got a chance to complete.

<rdar://problem/21990308>

llvm-svn: 243193
2015-07-25 00:52:38 +00:00
Dawn Perchik 15663c530e Specify a language to use when parsing expressions.
This patch adds the option -l/--language to the expression command, for
use when setting the language options or choosing an alternate FE. If
not specified, the target.language setting is used.

Reviewed by: clayborg
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D11447

llvm-svn: 243187
2015-07-25 00:19:39 +00:00
Jim Ingham 39497e9f5b Make sure we resolve ~ in paths coming from the plist in a dSYM before adding them
to the path remappings.
Also don't add the paths to the path mapping when DebugSymbols tells up about files, since
we'll just do that again when we read in the dSYM.

<rdar://problem/21986208>

llvm-svn: 243181
2015-07-24 23:40:32 +00:00
Greg Clayton 88c05f54a0 Use double-checked locking to avoid locking the Module mutex if we don't need to. This avoid a deadlock we were seeing in Xcode.
<rdar://problem/21512067>

llvm-svn: 243180
2015-07-24 23:38:01 +00:00
Jason Molenda 67e5ba33e2 Log socket communications to LIBLLDB_LOG_COMMUNICATION instead of
the Host channel.

http://reviews.llvm.org/D11497

llvm-svn: 243175
2015-07-24 22:42:03 +00:00
Zachary Turner fbf8dad8eb Some fixes to get LLDB compiling with MSVC 2015.
llvm-svn: 243174
2015-07-24 22:32:22 +00:00
Siva Chandra d26eb907bc Add option eTypeOptionHideEmptyAggregates.
Summary:
For certain data structures, when the synthetic child provider returns
zero children, a summary like "Empty instance of <typename>" could be
more appropriate than something like "size=0 {}". This new option helps
hide the trailing "{}".

This is also exposed with a -h option for the command "type summary add".

Reviewers: granata.enrico

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D11473

llvm-svn: 243166
2015-07-24 21:30:58 +00:00
Greg Clayton fceca9b539 Bind to the loopback when we are expecting a connection from 127.0.0.1 so we don't set off firewall protections.
<rdar://problem/17897318>

llvm-svn: 243118
2015-07-24 16:55:00 +00:00
Ewan Crawford 7340e1f8da Initialize variable to prevent garbage values (RenderScriptRuntime)
The kernels_found variable is not initialized, so if it is not assigned true on line 823, then it will be a garbage value in the branch condition on line 828. This patch initializes the variable to false. 

Patch by neilparikh.

Reviewers: domipheus
Differential Revision: http://reviews.llvm.org/D11323

llvm-svn: 243104
2015-07-24 10:01:11 +00:00
Pavel Labath f8b5874b63 Revert "Fix an issue where LLDB would run out of stack space ..."
This commit introduced an infinite recursion in
ValueObjectChild::CanUpdateWithInvalidExecutionContext (because FollowParentChain also considers
the current object), which broke nearly all the tests. Ignoring the current object removes the
recursion, but two tests still time out (TestDataFormatterLibcxxList.py and
TestValueObjectRecursion.py) for some reason. Reverting for now.

llvm-svn: 243102
2015-07-24 09:52:25 +00:00
Tamas Berghammer 5aa27e1acc Improve C++ function name handling and step-in avoid regerxp handling
If the function is a template then the return type is part of the
function name. This CL fixes the parsing of these function names in
the case when the return type contains ':'.

The name of free functions in C++ don't have context part. Fix the
logic geting the function name without arguments out from a full
function name to handle this case.

Change the handling of step-in-avoid-regexp to match the value against
the function name without it's arguments and return value. This is
required because the default regex ("^std::") would match any template
function returning an std object.

Fifferential revision: http://reviews.llvm.org/D11461

llvm-svn: 243099
2015-07-24 08:54:22 +00:00
Bhushan D. Attarde 1e271df041 Handle old style S packet correctly
SUMMARY:
    This patch fixes couple of issues:
    1. A thread tries to lock a mutex which is already locked.
    2. Updating a thread list before the stop packet is parsed so that it can get a valid thread id and allows to set the stop info correctly.
    
    Reviewers: clayborg
    Subscribers: mohit.bhakkad, sagar, jaydeep, lldb-commits
    Differential Revision: http://reviews.llvm.org/D11449

llvm-svn: 243091
2015-07-24 04:06:20 +00:00
Enrico Granata 636cd262d6 Fix an issue where LLDB would run out of stack space trying to decide if a deeply nested child can be updated in the face of an invalid execution context
The issue is that a child can't really ask the root object, since this decision could actually hinge on whether a dynamic and/or synthetic value is present
To do this, make values vote lazily for whether they are willing to allow this, so that we can navigate up the chain without recursively invoking ourselves

Tentative fix for rdar://21949558

llvm-svn: 243077
2015-07-24 00:57:19 +00:00
Bruce Mitchener 8a67bf7298 Add UNUSED_IF_ASSERT_DISABLED and apply it.
Summary:
This replaces (void)x; usages where they x was subsequently
involved in an assertion with this macro to make the
intent more clear.

Reviewers: clayborg

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D11451

llvm-svn: 243074
2015-07-24 00:23:29 +00:00
Bruce Mitchener b1e77a3642 Fix Mac OS X build, debugserver version handling.
Summary:
No longer rely on cmake to set DEBUGSERVER_VERSION_STR,
but now generate the _vers.c file like xcode does
and include the generated file into the build on Mac OS X.

This fixes the cmake Mac OS X build after an earlier change
by Jason Molenda.

Reviewers: clayborg, jasonmolenda

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D11450

llvm-svn: 243072
2015-07-24 00:13:45 +00:00
Greg Clayton f9d9db4975 Disable mutex error checking so it doesn't create problems with the multi-threaded test case. The error would cause an assertion that could cause lldb to crash when unlocking a mutex returned an error because it was in use.
llvm-svn: 243067
2015-07-23 23:32:08 +00:00
Enrico Granata fe563d5573 Several improvements to the Either<T,U> type
llvm-svn: 243053
2015-07-23 22:17:39 +00:00
Jim Ingham 9b03fa0c69 Most thread plans don't handle eStopReasonInstrumentation stop reasons,
but that wasn't added to the list of reasons they don't explain.  That
would mean we keep stepping after hitting the AsanDie breakpoint rather
than stopping when the Asan event occurred.

<rdar://problem/21925479>

llvm-svn: 243035
2015-07-23 19:55:02 +00:00
Pavel Labath 162fb8e8ab Speed up NativeProcessLinux::GetLoadedModuleFileSpec
Summary:
GetLoadedModuleFileSpec was reading /proc/pid/maps character by character, which was very slow,
since we do that for every shared library, which android tends to have a lot. Switching to
ProcFileReader saves us about 0.4 seconds in attach time.

Reviewers: tberghammer

Subscribers: tberghammer, danalbert, lldb-commits

Differential Revision: http://reviews.llvm.org/D11460

llvm-svn: 243019
2015-07-23 14:47:33 +00:00
Pavel Labath 79203995fa [NativeProcessLinux] Fix a couple of warnings
llvm-svn: 243013
2015-07-23 13:07:37 +00:00
Tamas Berghammer e2da072617 Remove XFAIL from ReturnValueTestCase after rL242972
llvm-svn: 243000
2015-07-23 09:49:59 +00:00
Pavel Labath 05569f679a Add jstopinfo support to llgs
Summary:
This adds support for jstopinfo field of stop-reply packets. This field enables us to avoid
querying full thread stop data on most stops  (see r242593 for more details).

Reviewers: ovyalov, clayborg

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D11415

llvm-svn: 242997
2015-07-23 09:09:29 +00:00
Bruce Mitchener 5a95b0a043 [lldb-mi] Remove unwanted comment blocks.
Summary:
This removes Authors:, Gotchas:, Changes: and Copyright:.

It leaves a couple of Gotcha: blocks that were not empty.

Reviewers: abidh, ki.stfu, domipheus

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D11452

llvm-svn: 242996
2015-07-23 09:04:56 +00:00
Dawn Perchik 509933ca56 Fix comment in test.
llvm-svn: 242979
2015-07-23 02:15:55 +00:00
Greg Clayton 38e874e487 Fix TestReturnValue.py after 242903 changes that added vector register return value tests. These were failing on x86_64 and i386.
It also pointed out an error in our return values where the ABI only relies on xmm registers, not ymm registers for vector return types.

llvm-svn: 242972
2015-07-22 23:47:29 +00:00
Greg Clayton a3a11549ab Don't specify languages when setting breakpoints in C function names. We won't be able to tell from the symbol value alone what language the symbol is.
llvm-svn: 242969
2015-07-22 23:45:52 +00:00
Jason Molenda 5d935e8d24 Fix the variable used to reply to the qGDBServerVersion
packet so that debugserver will send a reply like

name:debugserver;version:340.99;

<rdar://problem/21933963> 

llvm-svn: 242968
2015-07-22 23:42:54 +00:00
Enrico Granata 1b3b2a3944 Set the live address on child const results in a way that is more maintainable for sustained merges with our internal branches
llvm-svn: 242944
2015-07-22 21:39:15 +00:00
Chaoren Lin 0b8bb3da08 Xtimeout TestProcessAttach for Linux.
llvm-svn: 242932
2015-07-22 20:52:17 +00:00
Sean Callanan ceece95426 Don't complete an EnumDecl if it's already complete. We already do this check
for CXXRecordDecl.

<rdar://problem/21696221>

llvm-svn: 242929
2015-07-22 20:20:57 +00:00
Greg Clayton 8c2afa0cd5 Improved the packet dumper to escape the response string before sending it to the response functions (find any 0x7d characters and remove it and XOR the next character with 0x20). This allows us to parse the JSON in the reply packet and display it correctly.
llvm-svn: 242928
2015-07-22 20:12:58 +00:00
Greg Clayton 06cdc198fe Fix warnings related to virtual functions not being marked as override.
llvm-svn: 242918
2015-07-22 18:16:05 +00:00
Greg Clayton 97f9e40e3a Don't water JSONGenerator objects down into ObjectSP's too early so that we can call member functions specific to dictionaries and arrays without calling GetAsDictionary() or GetAsArray() on them.
llvm-svn: 242917
2015-07-22 18:15:30 +00:00
Bruce Mitchener a026de0585 Fix warnings.
Reviewers: clayborg

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D11404

llvm-svn: 242913
2015-07-22 17:31:44 +00:00
Bruce Mitchener 2c674d347e [lldb-mi] Remove unused bool results.
Summary:
Many methods, in particular various 'Add' methods didn't have
any actual failure scenarios that were being emitted. This meant
that a lot of surrounding code could be simplified.

Reviewers: abidh, ki.stfu

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D11412

llvm-svn: 242911
2015-07-22 17:07:27 +00:00
Tamas Berghammer c3a2118c39 XFAIL TestReturnValue on Linux-x86_64 with clang
The coverage of the test got increased and it fails because of it.

llvm-svn: 242910
2015-07-22 16:59:18 +00:00
Tamas Berghammer b6a04a141c Improve SysV ABI for ARM to handle return values with vector return type
This is required to print out the rerun value of funcions returning
types with the following attributes:
__attribute__((__vector_size__(8)));
__attribute__((ext_vector_type(2)));

Differential revision: http://reviews.llvm.org/D11416

llvm-svn: 242903
2015-07-22 14:53:37 +00:00