#
99a318e1 |
| 22-Nov-2016 |
Omair Javaid <omair.javaid@linaro.org> |
Fix build failure on Linux and BSD by reverting r287597
Linux and BSD builds failing after this changes from rev 287597.
llvm-svn: 287631
|
#
1c55c9b5 |
| 21-Nov-2016 |
Zachary Turner <zturner@google.com> |
Add the new Args / entry-access API.
The long-term goal here is to get rid of the functions GetArgumentAtIndex() and GetQuoteCharAtIndex(), instead replacing them with operator based access and rang
Add the new Args / entry-access API.
The long-term goal here is to get rid of the functions GetArgumentAtIndex() and GetQuoteCharAtIndex(), instead replacing them with operator based access and range-based for enumeration. There are a lot of callsites, though, so the changes will be done incrementally, starting with this one.
Differential Revision: https://reviews.llvm.org/D26883
llvm-svn: 287597
show more ...
|
#
a47464b2 |
| 18-Nov-2016 |
Zachary Turner <zturner@google.com> |
Change CreateTarget and dependents to accept StringRef.
llvm-svn: 287376
|
#
31d97a5c |
| 17-Nov-2016 |
Zachary Turner <zturner@google.com> |
Rewrite all Property related functions in terms of StringRef.
This was a bit tricky, especially for things like OptionValueArray and OptionValueDictionary since they do some funky string parsing. R
Rewrite all Property related functions in terms of StringRef.
This was a bit tricky, especially for things like OptionValueArray and OptionValueDictionary since they do some funky string parsing. Rather than try to re-write line-by-line I tried to make the StringRef usage idiomatic, even though it meant often re-writing from scratch large blocks of code in a different way while keeping true to the original intent.
The finished code is a big improvement though, and often much shorter than the original code. All tests and unit tests pass on Windows and Linux.
llvm-svn: 287242
show more ...
|
#
c156427d |
| 16-Nov-2016 |
Zachary Turner <zturner@google.com> |
Don't allow direct access to StreamString's internal buffer.
This is a large API change that removes the two functions from StreamString that return a std::string& and a const std::string&, and inst
Don't allow direct access to StreamString's internal buffer.
This is a large API change that removes the two functions from StreamString that return a std::string& and a const std::string&, and instead provide one function which returns a StringRef.
Direct access to the underlying buffer violates the concept of a "stream" which is intended to provide forward only access, and makes porting to llvm::raw_ostream more difficult in the future.
Differential Revision: https://reviews.llvm.org/D26698
llvm-svn: 287152
show more ...
|
#
fe11483b |
| 12-Nov-2016 |
Zachary Turner <zturner@google.com> |
Make Options::SetOptionValue take a StringRef.
llvm-svn: 286723
|
#
6a9767c7 |
| 08-Nov-2016 |
Jim Ingham <jingham@apple.com> |
Clean up the stop printing header lines.
I added a "thread-stop-format" to distinguish between the form that is just the thread info (since the stop printing immediately prints the frame info) and o
Clean up the stop printing header lines.
I added a "thread-stop-format" to distinguish between the form that is just the thread info (since the stop printing immediately prints the frame info) and one with more frame 0 info - which is useful for "thread list" and the like.
I also added a frame.no-debug boolean to the format entities so you can print frame information differently between frames with source info and those without.
This closes https://reviews.llvm.org/D26383. <rdar://problem/28273697>
llvm-svn: 286288
show more ...
|
#
97d2c401 |
| 05-Oct-2016 |
Zachary Turner <zturner@google.com> |
Convert some Args index-based iteration to range-style iteration.
This is better for a number of reasons. Mostly style, but also:
1) Signed-unsigned comparison warnings disappear since there is
Convert some Args index-based iteration to range-style iteration.
This is better for a number of reasons. Mostly style, but also:
1) Signed-unsigned comparison warnings disappear since there is no loop index. 2) Iterating with the range-for style gives you back an entry that has more than just a const char*, so it's more efficient and more useful. 3) Makes code safter since the type system enforces that it's impossible to index out of bounds.
llvm-svn: 283413
show more ...
|
#
70602439 |
| 22-Sep-2016 |
Zachary Turner <zturner@google.com> |
Try to fix build errors on Android.
It doesn't like the implicit conversion from T[] to ArrayRef<T> so I'm using `llvm::makeArrayRef()`. Hopefully I got everything.
llvm-svn: 282195
|
#
1f0f5b5b |
| 22-Sep-2016 |
Zachary Turner <zturner@google.com> |
Convert option tables to ArrayRefs.
This change is very mechanical. All it does is change the signature of `Options::GetDefinitions()` and `OptionGroup:: GetDefinitions()` to return an `ArrayRef<Op
Convert option tables to ArrayRefs.
This change is very mechanical. All it does is change the signature of `Options::GetDefinitions()` and `OptionGroup:: GetDefinitions()` to return an `ArrayRef<OptionDefinition>` instead of a `const OptionDefinition *`. In the case of the former, it deletes the sentinel entry from every table, and in the case of the latter, it removes the `GetNumDefinitions()` method from the interface. These are no longer necessary as `ArrayRef` carries its own length.
In the former case, iteration was done by using a sentinel entry, so there was no knowledge of length. Because of this the individual option tables were allowed to be defined below the corresponding class (after all, only a pointer was needed). Now, however, the length must be known at compile time to construct the `ArrayRef`, and as a result it is necessary to move every option table before its corresponding class. This results in this CL looking very big, but in terms of substance there is not much here.
Differential revision: https://reviews.llvm.org/D24834
llvm-svn: 282188
show more ...
|
#
ecbb0bb1 |
| 19-Sep-2016 |
Zachary Turner <zturner@google.com> |
Fix more functions in Args to use StringRef.
This patch also marks the const char* versions as =delete to prevent their use. This has the potential to cause build breakages on some platforms which
Fix more functions in Args to use StringRef.
This patch also marks the const char* versions as =delete to prevent their use. This has the potential to cause build breakages on some platforms which I can't compile. I have tested on Windows, Linux, and OSX. Best practices for fixing broken callsites are outlined in Args.h in a comment above the deleted function declarations.
Eventually we can remove these =delete declarations, but for now they are important to make sure that all implicit conversions from const char * are manually audited to make sure that they do not invoke a conversion from nullptr.
llvm-svn: 281919
show more ...
|
#
b9c1b51e |
| 06-Sep-2016 |
Kate Stone <katherine.stone@apple.com> |
*** This commit represents a complete reformatting of the LLDB source code *** to conform to clang-format’s LLVM style. This kind of mass change has *** two obvious implications:
Firstly, merging t
*** This commit represents a complete reformatting of the LLDB source code *** to conform to clang-format’s LLVM style. This kind of mass change has *** two obvious implications:
Firstly, merging this particular commit into a downstream fork may be a huge effort. Alternatively, it may be worth merging all changes up to this commit, performing the same reformatting operation locally, and then discarding the merge for this particular commit. The commands used to accomplish this reformatting were as follows (with current working directory as the root of the repository):
find . \( -iname "*.c" -or -iname "*.cpp" -or -iname "*.h" -or -iname "*.mm" \) -exec clang-format -i {} + find . -iname "*.py" -exec autopep8 --in-place --aggressive --aggressive {} + ;
The version of clang-format used was 3.9.0, and autopep8 was 1.2.4.
Secondly, “blame” style tools will generally point to this commit instead of a meaningful prior commit. There are alternatives available that will attempt to look through this change and find the appropriate prior commit. YMMV.
llvm-svn: 280751
show more ...
|
#
ac9c3a62 |
| 26-Aug-2016 |
Kate Stone <katherine.stone@apple.com> |
Tables of command options in LLDB benefit from hand-formatting to make it easier to scan a set of options with a relatively large number of positional arguments. This commit standardizes their format
Tables of command options in LLDB benefit from hand-formatting to make it easier to scan a set of options with a relatively large number of positional arguments. This commit standardizes their formatting throughout LLDB and applies surrounding directives to exempt them from being formatted by clang-format.
These kinds of exemptions should be rare cases that benefit significantly from alternative formatting. They also imply a long-term obligation to maintain their format since the automated tools will not do so.
llvm-svn: 279882
show more ...
|
Revision tags: llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2 |
|
#
e1cfbc79 |
| 11-Aug-2016 |
Todd Fiala <todd.fiala@gmail.com> |
Decoupled Options from CommandInterpreter.
Options used to store a reference to the CommandInterpreter instance in the base Options class. This made it impossible to parse options independent of a
Decoupled Options from CommandInterpreter.
Options used to store a reference to the CommandInterpreter instance in the base Options class. This made it impossible to parse options independent of a CommandInterpreter.
This change removes the reference from the base class. Instead, it modifies the options-parsing-related methods to take an ExecutionContext pointer, which the options may inspect if they need to do so.
Closes https://reviews.llvm.org/D23416 Reviewers: clayborg, jingham
llvm-svn: 278440
show more ...
|
Revision tags: llvmorg-3.9.0-rc1 |
|
#
7428a18c |
| 14-Jul-2016 |
Kate Stone <katherine.stone@apple.com> |
LLDB help content has accumulated over time without a recent attempt to review it for consistency, accuracy, and clarity. These changes attempt to address all of the above while keeping the text rela
LLDB help content has accumulated over time without a recent attempt to review it for consistency, accuracy, and clarity. These changes attempt to address all of the above while keeping the text relatively terse.
<rdar://problem/24868841>
llvm-svn: 275485
show more ...
|
Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1 |
|
#
bb19a13c |
| 19-May-2016 |
Saleem Abdulrasool <compnerd@compnerd.org> |
second pass over removal of Mutex and Condition
llvm-svn: 270024
|
#
8d94ba0f |
| 12-Mar-2016 |
Jim Ingham <jingham@apple.com> |
This change introduces a "ExpressionExecutionThread" to the ThreadList.
Turns out that most of the code that runs expressions (e.g. the ObjC runtime grubber) on behalf of the expression parser was
This change introduces a "ExpressionExecutionThread" to the ThreadList.
Turns out that most of the code that runs expressions (e.g. the ObjC runtime grubber) on behalf of the expression parser was using the currently selected thread. But sometimes, e.g. when we are evaluating breakpoint conditions/commands, we don't select the thread we're running on, we instead set the context for the interpreter, and explicitly pass that to other callers. That wasn't getting communicated to these utility expressions, so they would run on some other thread instead, and that could cause a variety of subtle and hard to reproduce problems.
I also went through the commands and cleaned up the use of GetSelectedThread. All those uses should have been trying the thread in the m_exe_ctx belonging to the command object first. It would actually have been pretty hard to get misbehavior in these cases, but for correctness sake it is good to make this usage consistent.
<rdar://problem/24978569>
llvm-svn: 263326
show more ...
|
Revision tags: llvmorg-3.8.0, llvmorg-3.8.0-rc3 |
|
#
49bcfd80 |
| 23-Feb-2016 |
Eugene Zelenko <eugene.zelenko@gmail.com> |
Fix Clang-tidy modernize-use-nullptr and modernize-use-default warnings in some files in source/Commands; other minor fixes.
llvm-svn: 261602
|
Revision tags: llvmorg-3.8.0-rc2, llvmorg-3.8.0-rc1 |
|
#
962260c8 |
| 08-Jan-2016 |
Jim Ingham <jingham@apple.com> |
Fix a glitch in the Driver's batch mode when used with "attach".
Batch mode is supposed to stop execution and return control to the user when an exceptional stop occurs (crash, signal or instrumen
Fix a glitch in the Driver's batch mode when used with "attach".
Batch mode is supposed to stop execution and return control to the user when an exceptional stop occurs (crash, signal or instrumentation). But attach always stops with a SIGSTOP on OSX (maybe on Linux too?) which would short circuit the rest of the commands given.
This change allows a command result object to indicate that it expected to leave the process stopped with an exceptional stop reason, and it is okay for batch mode to keep going.
<rdar://problem/22243143>
llvm-svn: 257120
show more ...
|
#
ccd6cffb |
| 08-Dec-2015 |
Tamas Berghammer <tberghammer@google.com> |
Modify "platform connect" to connect to processes as well
The standard remote debugging workflow with gdb is to start the application on the remote host under gdbserver (e.g.: gdbserver :5039 a.out)
Modify "platform connect" to connect to processes as well
The standard remote debugging workflow with gdb is to start the application on the remote host under gdbserver (e.g.: gdbserver :5039 a.out) and then connect to it with gdb.
The same workflow is supported by debugserver/lldb-gdbserver with a very similar syntax but to access all features of lldb we need to be connected also to an lldb-platform instance running on the target.
Before this change this had to be done manually with starting a separate lldb-platform on the target machine and then connecting to it with lldb before connecting to the process.
This change modifies the behavior of "platform connect" with automatically connecting to the process instance if it was started by the remote platform. With this command replacing gdbserver in a gdb based worflow is usually as simple as replacing the command to execute gdbserver with executing lldb-platform.
Differential revision: http://reviews.llvm.org/D14952
llvm-svn: 255016
show more ...
|
#
4fbd67ac |
| 08-Dec-2015 |
Tamas Berghammer <tberghammer@google.com> |
Add a new option to Platform::LoadImage to install the image
This change introduce 3 different working mode for Platform::LoadImage depending on the file specs specified. * If only a remote file is
Add a new option to Platform::LoadImage to install the image
This change introduce 3 different working mode for Platform::LoadImage depending on the file specs specified. * If only a remote file is specified then the remote file is loaded on the target (same behavior as before) * If only a local file is specified then the local file is installed to the current working directory and then loaded from there. * If both local and remote file is specified then the local file is installed to the specified location and then loaded from there.
The same options are exposed on the SB API with a new method LoadImage method while the old signature presers its meaning.
On the command line the installation of the shared library can be specified with the "--install" option of "process load".
Differential revision: http://reviews.llvm.org/D15152
llvm-svn: 255014
show more ...
|
#
3cb132a0 |
| 02-Dec-2015 |
Tamas Berghammer <tberghammer@google.com> |
Fix "process load/unload" on android
On android the symbols exposed by libdl (dlopen, dlclose, dlerror) prefixed by "__dl_". This change moves the handling of process load/unload to the platform obj
Fix "process load/unload" on android
On android the symbols exposed by libdl (dlopen, dlclose, dlerror) prefixed by "__dl_". This change moves the handling of process load/unload to the platform object and override it for android to handle the special prefix.
Differential revision: http://reviews.llvm.org/D11465
llvm-svn: 254504
show more ...
|
Revision tags: llvmorg-3.7.1, llvmorg-3.7.1-rc2, llvmorg-3.7.1-rc1 |
|
#
13d21e9a |
| 07-Oct-2015 |
Bruce Mitchener <bruce.mitchener@gmail.com> |
commands: Use override instead of virtual.
Summary: This removes all uses of virtual on functions where override could be used, including on destructors.
It also adds override where virtual was pre
commands: Use override instead of virtual.
Summary: This removes all uses of virtual on functions where override could be used, including on destructors.
It also adds override where virtual was previously missing.
Reviewers: clayborg, labath
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D13503
llvm-svn: 249564
show more ...
|
Revision tags: llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3, studio-1.4, llvmorg-3.7.0-rc2, llvmorg-3.7.0-rc1 |
|
#
ea671fbd |
| 14-Jul-2015 |
Kate Stone <katherine.stone@apple.com> |
Fixed line wrapping for the "long help" content in LLDB commands. Content is now dynamically wrapped for the column width of the current terminal. Lines that begin with whitespace will be indented
Fixed line wrapping for the "long help" content in LLDB commands. Content is now dynamically wrapped for the column width of the current terminal. Lines that begin with whitespace will be indented identically on subsequent lines to maintain formatting.
Existing commands supplying this type of help content have been reworked to take advantage of the changes. In addition to formatting changes, content was changes for accuracy and clarity purposes. <rdar://problem/21269977>
llvm-svn: 242122
show more ...
|
#
98d0a4b3 |
| 14-Jul-2015 |
Chaoren Lin <chaorenl@google.com> |
Refactor Unix signals.
Summary: - Consolidate Unix signals selection in UnixSignals. - Make Unix signals available from platform. - Add jSignalsInfo packet to retrieve Unix signals from remote platf
Refactor Unix signals.
Summary: - Consolidate Unix signals selection in UnixSignals. - Make Unix signals available from platform. - Add jSignalsInfo packet to retrieve Unix signals from remote platform. - Get a copy of the platform signal for each remote process. - Update SB API for signals. - Update signal utility in test suite.
Reviewers: ovyalov, clayborg
Subscribers: chaoren, jingham, labath, emaste, tberghammer, lldb-commits
Differential Revision: http://reviews.llvm.org/D11094
llvm-svn: 242101
show more ...
|