| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
source/Commands/CommandObjectThread.cpp; other minor fixes.
llvm-svn: 261936
|
|
|
|
|
|
| |
source/Commands/CommandObjectTarget.cpp; other minor fixes.
llvm-svn: 261920
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
the python2 branch seems erroneous as it expected the object to be both a "String" and "Bytes".
Fix the expectation.
Reviewers: zturner
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D17545
llvm-svn: 261901
|
|
|
|
|
|
|
|
|
|
| |
ClangExpressionParser::FindFunctionInModule
Committed on behalf of: Luke Drummond
Differential Revision: http://reviews.llvm.org/D17274
llvm-svn: 261861
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most address represented in lldb as section plus offset and handling of
absolute addresses is problematic in several location because of lack
of necessary information (e.g. Target) or because of performance issues.
This CL change the way ObjectFileELF handle the absolute symbols with
creating a pseudo section for each symbol. With this change all existing
code designed to work with addresses in the form of section plus offset
will work with absolute symbols as well.
Differential revision: http://reviews.llvm.org/D17450
llvm-svn: 261859
|
|
|
|
|
|
|
|
|
|
|
| |
DWARF stores this information in the DW_AT_start_scope attribute. This
CL add support for this attribute and also changes the functions
displaying frame variables to only display the variables currently in
scope.
Differential revision: http://reviews.llvm.org/D17449
llvm-svn: 261858
|
|
|
|
|
|
| |
source/Commands/CommandObjectType.cpp; other minor fixes.
llvm-svn: 261817
|
|
|
|
|
|
|
|
| |
locally on the current machine.
<rdar://problem/24807382>
llvm-svn: 261812
|
|
|
|
|
|
|
|
| |
Test expects the breakpoint to resolve to three locations, but clang on windows yields only 2.
llvm.org/pr26710
llvm-svn: 261810
|
|
|
|
|
|
|
|
|
|
|
|
| |
32-bit processes on 64-bit Windows run in a layer called WoW64 (Windows-on-Windows64). If you capture a mini dump of such a process from a 32-bit debugger, you end up with a register context for the 64-bit WoW64 process rather than the 32-bit one you probably care about.
This detects WoW64 by looking to see if there's a module named wow64.dll loaded. For such processes, it then looks in the 64-bit Thread Environment Block (TEB) to locate a copy of the 32-bit CONTEXT record that the plugin needs for the register context.
Added some rudimentary tests. I'd like to improve these later once we figure out how to get the exception information from these mini dumps.
Differential Revision: http://reviews.llvm.org/D17465
llvm-svn: 261808
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are two tests in this file. One which only runs on Windows
and tests that you can set a breakpoint with mismatched case. And
another that only runs on non-Windows and tests that you cannot set
a breakpoint with mismatched case. This latter test is failing on
non Windows platforms for some reason. It could be that the test
is just written incorrectly, as I think the actual functionality
actually works correctly on non-Windows platforms.
llvm-svn: 261800
|
|
|
|
| |
llvm-svn: 261795
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Paths on Windows are not case-sensitive. Because of this, if a file
is called main.cpp, you should be able to set a breakpoint on it
by using the name Main.cpp. In an ideal world, you could just
tell people to match the case, but in practice this can be a real
problem as it requires you to know whether the person who compiled
the program ran "clang++ main.cpp" or "clang++ Main.cpp", both of
which would work, regardless of what the file was actually called.
This fixes http://llvm.org/pr22667
Patch by Petr Hons
Differential Revision: http://reviews.llvm.org/D17492
Reviewed by: zturner
llvm-svn: 261771
|
|
|
|
| |
llvm-svn: 261768
|
|
|
|
|
|
| |
Mips64 tests were failing on windows because the sscanf implementation differs between clang/gcc/msvc such that on windows %lx specifies a 32bits parameter and %llx is for 64bits. For us this meant that 64bit pointers were being truncated to 32bits on their way into a JIT'd expression.
llvm-svn: 261741
|
|
|
|
|
|
|
|
|
|
| |
vector types
Details can be found here:
Differential revision: http://reviews.llvm.org/D17501
llvm-svn: 261734
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Temporarily revert part of r261704.
Reviewers: spyffe
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D17557
llvm-svn: 261718
|
|
|
|
|
|
| |
some files in source/Commands; other minor fixes.
llvm-svn: 261716
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
IRExecutionUnit previously replicated a bunch of logic that already
existed elsewhere for the purpose of getting a load address for a
symbol. This approach failed to resolve certain types of symbols.
Instead, we now use functions on SymbolContext to do the address
resolution.
This is a cleanup of IRExecutionUnit::FindInSymbols, and also fixes a
latent bug where we looked at the wrong SymbolContext to determine
whether or not it is external.
<rdar://problem/24770829>
llvm-svn: 261704
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
On arm64, linux<=4.4 and Android<=M there is a bug, which prevents single-stepping from working when
the system comes back from suspend, because of incorrectly initialized CPUs. This did not really
affect Android<M, because it did not use software suspend, but it is a problem for M, which uses
suspend (doze) quite extensively. Fortunately, it seems that the first CPU is not affected by
this bug, so this commit implements a workaround by forcing the inferior to execute on the first
cpu whenever we are doing single stepping.
While inside, I have moved the implementations of Resume() and SingleStep() to the thread class
(instead of process).
Reviewers: tberghammer, ovyalov
Subscribers: aemerson, rengolin, tberghammer, danalbert, srhines, lldb-commits
Differential Revision: http://reviews.llvm.org/D17509
llvm-svn: 261636
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Signalfd is not used in the code anymore, and given that the same functionality can be achieved
with the new MainLoop class, it's unlikely we will need it in the future. Remove all traces of
it.
Reviewers: tberghammer, ovyalov
Subscribers: tberghammer, danalbert, srhines, lldb-commits
Differential Revision: http://reviews.llvm.org/D17510
llvm-svn: 261631
|
|
|
|
| |
llvm-svn: 261630
|
|
|
|
|
|
| |
Silence some -Wmissing-brace warnings on Linux with clang 3.7.
llvm-svn: 261612
|
|
|
|
|
|
| |
some files in source/Commands; other minor fixes.
llvm-svn: 261602
|
|
|
|
| |
llvm-svn: 261599
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Inline functions in DWARF have AT_abstract_origin set, but we only handled that
if the functions were C++ methods. Inline functions -- C or C++ -- have this
also, and as a result they got one FunctionDecl for each inlined instance. When
going to construct the locals, this meant that the arguments (which did properly
have their abstract origins handled) would get associated with the master
FunctionDecl, and the inlined FunctionDecls would all appear to have no locals.
This manifested as not being able to look up local variables when stopped in an
inline fuunction. We should have had a test for this, but somewhere along the
line the relevant test case lost its .py file (or it never had one).
This patch fixes this problem and restores the .py file.
<rdar://problem/24712434>
llvm-svn: 261598
|
|
|
|
|
|
| |
source/Commands/CommandObjectCommands.cpp; other minor fixes.
llvm-svn: 261593
|
|
|
|
|
|
|
|
| |
source/Commands/CommandObjectPlatform.cpp; other minor fixes.
Add missing break for permissions-string case.
llvm-svn: 261555
|
|
|
|
|
|
|
|
| |
This patch aims to reduce the code duplication among all of the platforms in GetSoftwareBreakpointTrapOpcode by pushing all common code into the Platform base class.
Differential Revision: http://reviews.llvm.org/D17395
llvm-svn: 261536
|
|
|
|
|
|
|
| |
Test has become flaky again. Attempts to investigate the triggering commit have failed, so I
suspect it was flaky all along..
llvm-svn: 261519
|
|
|
|
|
|
| |
some files in source/Commands; other minor fixes.
llvm-svn: 261389
|
|
|
|
|
|
| |
some files in source/Commands; other minor fixes.
llvm-svn: 261356
|
|
|
|
|
|
|
|
| |
All invocations are updated to use the generic expectedFailureAll.
Differential Revision: http://reviews.llvm.org/D17455
llvm-svn: 261355
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D17420
llvm-svn: 261353
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patches does the following:
+ fix return type: ClangExpressionParser::Parse returns unsigned, but was actually returning a signed value, num_errors.
+ use helper clang::TextDiagnosticBuffer::getNumErrors() instead of counting the errors ourself.
+ limit scoping of block-level automatic variables as much as practical.
+ remove reused multipurpose TextDiagnosticBuffer::const_iterator in favour of loop-scoped err, warn, and note variables in the diagnostic printing code.
+ refactor diagnostic printing loops to use a proper loop invariant.
Author: Luke Drummond <luke.drummond@codeplay.com>
Differential Revision: http://reviews.llvm.org/D17273
llvm-svn: 261345
|
|
|
|
|
|
|
|
|
|
|
| |
There is a report in the PR from several months ago that it failed
intermittently, but it is passing consistently for me on FreeBSD 10
and 11. We can re-add a decorator if further testing shows it is
still flakey.
llvm.org/pr17214
llvm-svn: 261340
|
|
|
|
|
|
|
|
| |
This is passing for me consistently on FreeBSD 10 and FreeBSD 11.
llvm.org/pr15989
llvm-svn: 261339
|
|
|
|
|
|
|
|
| |
Both Linux and FreeBSD had a comment "This needs to be root-caused."
It looks like the failure has been fixed on both, and the Linux XFAIL
decorator was removed in r233716 (Mar 2015).
llvm-svn: 261333
|
|
|
|
|
|
|
|
|
|
|
|
| |
[git 65dafa83] introduced the GetBuiltinIncludePath function copied from cfe/lib/Driver/CC1Options.cpp
This function is no longer used in lldb's expression parser and I believe it is safe to remove it.
Author: Luke Drummond <luke.drummond@codeplay.com>
Differential Revision: http://reviews.llvm.org/D17266
llvm-svn: 261328
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change is improving the instruction emulation based unwinding to
handle when the frame pointer is adjusted (increment/decrement) after
it has been initialized. The situation can occur in the prologue of
some function where FP is adjusted before it is copied back to SP.
Example code (thumb, generated by gcc 4.8):
< +0>: push {r4, r7, lr}
< +2>: sub sp, #0x14
< +4>: add r7, sp, #0x0
...
<+50>: adds r7, #0x14 ; The CL fixes the handling of this instruction
<+52>: mov sp, r7 ; Previously unwinding from here was broken
<+54>: pop {r4, r7, pc}
Differential revision: http://reviews.llvm.org/D17295
llvm-svn: 261318
|
|
|
|
|
|
| |
Test should work everywhere except windows now.
llvm-svn: 261314
|
|
|
|
|
|
|
|
| |
flaky on linux
The problem is the asynchronous arrival of inferior stdio (pr25652).
llvm-svn: 261313
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
working directory by default -- a typical security problem that we
need to be more conservative about.
It adds a new target setting, target.load-cwd-lldbinit which may
be true (always read $cwd/.lldbinit), false (never read $cwd/.lldbinit)
or warn (warn if there is a $cwd/.lldbinit and don't read it). The
default is set to warn. If this is met with unhappiness, we can look
at changing the default to true (to match current behavior) on a
different platform.
This does not affect reading of ~/.lldbinit - that will still be read,
as before. If you run lldb in your home directory, it will not warn
about the presence of a .lldbinit file there.
I had to add two SB API - SBHostOS::GetUserHomeDirectory and
SBFileSpec::AppendPathComponent - for the lldb driver code to be
able to get the home directory path in an OS neutral manner.
The warning text is
There is a .lldbinit file in the current directory which is not being read.
To silence this warning without sourcing in the local .lldbinit,
add the following to the lldbinit file in your home directory:
settings set target.load-cwd-lldbinit false
To allow lldb to source .lldbinit files in the current working directory,
set the value of this variable to true. Only do so if you understand and
accept the security risk.
<rdar://problem/24199163>
llvm-svn: 261280
|
|
|
|
|
|
|
|
|
| |
on attach uses the architecture it has figured out, rather than the Target's
architecture, which may not have been updated to the correct value yet.
<rdar://problem/24632895>
llvm-svn: 261279
|
|
|
|
|
|
| |
source/Commands/CommandObjectBreakpoint.cpp; other minor fixes.
llvm-svn: 261272
|
|
|
|
|
|
|
|
|
| |
The race condition/use after free involved in setting long prompts
appears to be fixed now (although I do not know which commit fixed it).
llvm.org/pr22611
llvm-svn: 261266
|
|
|
|
|
|
| |
an invalid format in some cases
llvm-svn: 261246
|
|
|
|
|
|
| |
source/Target; other minor fixes.
llvm-svn: 261242
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D17088
llvm-svn: 261241
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D17106
llvm-svn: 261240
|