| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix MainLoop::RunImpl::get_sigmask() to correctly return empty sigset_t
when SIGNAL_POLLING_UNSUPPORTED is true. On NetBSD (and probably
on some other platforms), integers are not implicitly convertible to
sigset_t, so 'return 0' is erraneous. Instead, sigset_t should be reset
through sigemptyset().
While at it, move common parts out of the #ifdef.
Differential Revision: https://reviews.llvm.org/D57959
llvm-svn: 353675
|
|
|
|
|
|
| |
one.
llvm-svn: 353663
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Replace 0xc9 (LEAVE) with 0xcb (RETF) in ret_pattern_p(). Also put 0xc3 first, since it is the most common form and will match first.
Reviewers: jasonmolenda
Reviewed By: jasonmolenda
Subscribers: labath, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D57928
llvm-svn: 353643
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Update the OpenBSD Host.cpp for the new SetFile() function signature. Fixes compiling lldb on OpenBSD.
Reviewers: krytarowski
Reviewed By: krytarowski
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D57907
llvm-svn: 353642
|
|
|
|
|
|
|
| |
we get a pointer to the c-string rep and then the temporary object
is destructed and we still refer to the c-string after that.
llvm-svn: 353581
|
|
|
|
|
|
| |
type in lldb and polly.
llvm-svn: 353549
|
|
|
|
|
|
|
|
|
|
| |
The NetBSD kernel currently does not support detecting closed slave pty
via kevent on master pty. This causes the test to hang forever.
To avoid that, disable the test until the kernel is fixed.
Differential Revision: https://reviews.llvm.org/D57912
llvm-svn: 353545
|
|
|
|
| |
llvm-svn: 353503
|
|
|
|
|
|
| |
NFC
llvm-svn: 353487
|
|
|
|
|
|
|
| |
We save two levels of indentation by returning early if the given file
doesn't exists or cannot be opened.
llvm-svn: 353472
|
|
|
|
| |
llvm-svn: 353468
|
|
|
|
| |
llvm-svn: 353447
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This commit contains the following changes:
- Rewrite vfile close/read/write packet handlers with portable routines from lldb.
This removes #if(s) and allows the handlers to work on Windows.
- Fix a bug in File::Write. This is intended to write data at an offset to a file
but actually writes at the current position of the file.
- Add a default boolean argument 'should_close_fd' to FileSystem::Open to
let the user decide whether to close the fd or not.
Reviewers: zturner, llvm-commits, labath
Reviewed By: zturner
Subscribers: Hui, labath, abidh, lldb-commits
Differential Revision: https://reviews.llvm.org/D56231
llvm-svn: 353446
|
|
|
|
| |
llvm-svn: 353444
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: zturner, llvm-commits, labath, serge-sans-paille
Reviewed By: labath
Subscribers: Hui, labath, lldb-commits
Differential Revision: https://reviews.llvm.org/D56230
llvm-svn: 353440
|
|
|
|
|
|
|
| |
I started working on that patch before the headers were updated. Since
they were new files, I didn't get any conflicts during rebase.
llvm-svn: 353429
|
|
|
|
| |
llvm-svn: 353420
|
|
|
|
|
|
|
|
|
|
|
| |
The "signal" argument was removed from the MonitorCallback function, but
not from the log statements within it. This wasn't noticed because the
name "signal" suddenly started referring to the libc function with that
name.
This fixes that.
llvm-svn: 353419
|
|
|
|
|
|
|
|
|
|
|
|
| |
The tests are failing on windows because the paths in the symbol file
are parsed using the host path style. I'm working on a patch to have
SymbolFileBreakpad auto-detect the correct path style (similar to dwarf
r351328).
I originally wanted to make this a part of the initial line-table patch,
but then I simply forgot.
llvm-svn: 353410
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The loop searching for use_lldb_suite_root had a bug where if the marker
file happened to be missing, it would enter an infinite loop. While this
shouldn't happen in normal circumstances, it can happen accidentally,
and debugging it is not very pleasant.
The loop had an exit condition, but it was incorrent (os.path.dirname
returning None). This will never happen as dirname will just return the
same folder over and over again once it reaches the root folder. This
fixes the exit condition to account for that.
llvm-svn: 353406
|
|
|
|
|
|
|
|
|
|
|
|
| |
GetIndexForObjectImpl generated a bunch of "conversion casts away
constness warnings". Change the function to use "const void *" (and
static_cast, while I'm at it), to avoid this.
Driver.cpp: unused variable "replay" (this was actually caused by a
subsequent partial revert of this patch). I just finish the revert by
removing the variable completely.
llvm-svn: 353405
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch teaches SymbolFileBreakpad to parse the line information in
breakpad files and present it to lldb.
The trickiest question here was what kind of "compile units" to present
to lldb, as there really isn't enough information in breakpad files to
correctly reconstruct those.
A couple of options were considered
- have the entire file be one compile unit
- have one compile unit for each FILE record
- have one compile unit for each FUNC record
The main drawback of the first approach is that all of the files would
be considered "headers" by lldb, and so they wouldn't be searched if
target.inline-breakpoint-strategy=never. The single compile unit would
also be huge, and there isn't a good way to name it.
The second approach will create mostly correct compile units for cpp
files, but it will still be wrong for headers. However, the biggest
drawback here seemed to be the fact that this can cause a compile unit
to change mid-function (for example when a function from another file is
inlined or another file is #included into a function). While I don't
know of any specific thing that would break in this case, it does sound
like a thing that we should avoid.
In the end, we chose the third option, as it didn't seem to have any
major disadvantages, though it was not ideal either. One disadvantage
here is that this generates a large number of compile units, and there
is still a question on how to name it. We chose to simply name it after
the first line record in that function. This should be correct 99.99% of
the time, though it can produce somewhat strange results if the very
first line record comes from an #included file.
Reviewers: clayborg, zturner, lemo, markmentovai
Subscribers: lldb-commits
Differential Revision: https://reviews.llvm.org/D56595
llvm-svn: 353404
|
|
|
|
| |
llvm-svn: 353381
|
|
|
|
| |
llvm-svn: 353363
|
|
|
|
|
|
|
| |
Because the macros for the SBReproducers have not been committed yet,
the driver should not attempt to replay a reproducer this way.
llvm-svn: 353362
|
|
|
|
| |
llvm-svn: 353361
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Reviewers: JDevlieghere, friss, zturner, labath, jingham, serge-sans-paille
Subscribers: llvm-commits, lldb-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D57840
llvm-svn: 353345
|
|
|
|
| |
llvm-svn: 353326
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is part two of the reproducer instrumentation framework. It
contains the code to capture and replay function calls. The main user of
this framework will be the SB API layer.
For all the details refer to the RFC on the mailing list:
http://lists.llvm.org/pipermail/lldb-dev/2019-January/014530.html
Differential revision: https://reviews.llvm.org/D56322
llvm-svn: 353324
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instructions
Summary: This patch makes `x86AssemblyInspectionEngine` to process zero value of
the `B` field of the `REX` prefix in a correct way for `PUSH` and `POP`
instructions. MSVC sometimes emits `pushq %rbp` instruction as `0x40 0x55`, and
it was not parsed correctly before.
Reviewers: jasonmolenda, labath
Reviewed By: jasonmolenda, labath
Subscribers: abidh, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D57745
llvm-svn: 353281
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LLDB testsuite fails when built by GCC8 on:
LLDB :: SymbolFile/DWARF/find-basic-namespace.cpp
This is because this code in LLDB codebase has undefined behavior:
#include <algorithm>
#include <string.h>
// lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp:1731
static struct section_64 {
char sectname[16];
char segname[16];
} sect64 = { {'_','_','a','p','p','l','e','_','n','a','m','e','s','p','a','c'}, "__DWARF" };
int main() {
return std::min<size_t>(strlen(sect64.sectname), sizeof(sect64.sectname));
}
It has been discussed as a (false) bugreport to GCC:
wrong-code: LLDB testcase fails: SymbolFile/DWARF/find-basic-namespace.cpp
https://bugzilla.redhat.com/show_bug.cgi?id=1672436
Differential Revision: https://reviews.llvm.org/D57781
llvm-svn: 353280
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch introduces a new tool called 'lldb-instr'. It automates the
workflow of inserting LLDB_RECORD and LLDB_REGSITER macros for
instrumentation.
Because the tool won't be part of the build process, I didn't want to
over-complicate it. SB_RECORD macros are inserted in place, while
SB_REGISTER macros are printed to stdout, and have to be manually copied
into the Registry's constructor. Additionally, the utility makes no
attempt to properly format the inserted macros. Please use clang-format
to format the changes after running the tool.
Differential revision: https://reviews.llvm.org/D56822
llvm-svn: 353271
|
|
|
|
|
|
|
| |
if the size of the g packet response was smaller than expected and is
going to be ignored.
llvm-svn: 353269
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, there were two different scripts for generating VCS headers:
one used by LLVM and one used by Clang and lldb. They were both similar,
but different. They were both broken in their own ways, for example the
one used by Clang didn't properly handle monorepo resulting in an
incorrect version information reported by Clang.
This change unifies two the scripts by introducing a new script that's
used from both LLVM, Clang and lldb, ensures that the new script
supports both monorepo and standalone SVN and Git setups, and removes
the old scripts.
Differential Revision: https://reviews.llvm.org/D57063
llvm-svn: 353268
|
|
|
|
| |
llvm-svn: 353259
|
|
|
|
| |
llvm-svn: 353258
|
|
|
|
|
|
|
|
|
| |
Thanks Jonas... One more early continue and using
a range where we had an iterator.
NFC
llvm-svn: 353257
|
|
|
|
| |
llvm-svn: 353251
|
|
|
|
|
|
|
|
|
|
|
|
| |
An equivalent change was made to RemapPaths, but it needed to be made
here as well. Also added a test for this and made the setup a little
more complex to avoid false successes.
<rdar://problem/47642498>
Differential Revision: https://reviews.llvm.org/D57552
llvm-svn: 353243
|
|
|
|
| |
llvm-svn: 353239
|
|
|
|
| |
llvm-svn: 353226
|
|
|
|
|
|
|
| |
warning: comparison of integers of different signs: 'const int' and
'const unsigned long' [-Wsign-compare]
llvm-svn: 353196
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the is serialization/deserialization part of the reproducer
instrumentation framework.
For all the details refer to the RFC on the mailing list:
http://lists.llvm.org/pipermail/lldb-dev/2019-January/014530.html
Differential revision: https://reviews.llvm.org/D57714
llvm-svn: 353195
|
|
|
|
|
|
|
|
|
|
|
|
| |
Type punning through a union -> no good.
double to uint64 to double again -> no good either.
The nice side effect, other than silencing the sanitizer bot
is that it fixes the formatting of some dates, e.g. Jan 1st 1970.
<rdar://problem/47617983>
llvm-svn: 353191
|
|
|
|
| |
llvm-svn: 353174
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
```
ClangExpressionDeclMap.cpp:72:60: error: field 'm_struct_vars' will be initialized after field 'm_ctx_obj' [-Werror,-Wreorder]
m_result_delegate(result_delegate), m_parser_vars(), m_struct_vars(),
```
Reviewers: bkramer, aleksandr.urakov
Reviewed By: aleksandr.urakov
Subscribers: aleksandr.urakov
Differential Revision: https://reviews.llvm.org/D57742
llvm-svn: 353161
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch adds support of expression evaluation in a context of some object.
Consider the following example:
```
struct S {
int a = 11;
int b = 12;
};
int main() {
S s;
int a = 1;
int b = 2;
// We have stopped here
return 0;
}
```
This patch allows to do something like that:
```
lldb.frame.FindVariable("s").EvaluateExpression("a + b")
```
and the result will be `33` (not `3`) because fields `a` and `b` of `s` will be
used (not locals `a` and `b`).
This is achieved by replacing of `this` type and object for the expression. This
has some limitations: an expression can be evaluated only for values located in
the debuggee process memory (they must have an address of `eAddressTypeLoad`
type).
Reviewers: teemperor, clayborg, jingham, zturner, labath, davide, spyffe, serge-sans-paille
Reviewed By: jingham
Subscribers: abidh, lldb-commits, leonid.mashinskiy
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D55318
llvm-svn: 353149
|
|
|
|
| |
llvm-svn: 353130
|
|
|
|
|
|
| |
rdar://47322760
llvm-svn: 353087
|
|
|
|
| |
llvm-svn: 353049
|