summaryrefslogtreecommitdiffstats
path: root/lldb
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix Clang-tidy modernize-use-nullptr and modernize-use-default warnings in ↵Eugene Zelenko2016-02-251-305/+194
| | | | | | source/Commands/CommandObjectThread.cpp; other minor fixes. llvm-svn: 261936
* Fix Clang-tidy modernize-use-nullptr and modernize-use-default warnings in ↵Eugene Zelenko2016-02-251-412/+295
| | | | | | source/Commands/CommandObjectTarget.cpp; other minor fixes. llvm-svn: 261920
* Fix PythonDataObjectsTests for python 2Pavel Labath2016-02-251-2/+1
| | | | | | | | | | | | | | 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
* Improve readability and performance of ↵Aidan Dodds2016-02-251-5/+4
| | | | | | | | | | ClangExpressionParser::FindFunctionInModule Committed on behalf of: Luke Drummond Differential Revision: http://reviews.llvm.org/D17274 llvm-svn: 261861
* Add support for handling absolute symbols in ELFTamas Berghammer2016-02-256-28/+53
| | | | | | | | | | | | | | | 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
* Handle the case when a variable is only valid in part of the enclosing scopeTamas Berghammer2016-02-2510-31/+129
| | | | | | | | | | | 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
* Fix Clang-tidy modernize-use-nullptr and modernize-use-default warnings in ↵Eugene Zelenko2016-02-251-357/+233
| | | | | | source/Commands/CommandObjectType.cpp; other minor fixes. llvm-svn: 261817
* Fix "target modules add -s <filename>" to work if the file doesn't exist ↵Greg Clayton2016-02-251-1/+1
| | | | | | | | locally on the current machine. <rdar://problem/24807382> llvm-svn: 261812
* XFail TestInlines.py on Windows with clang.Adrian McCarthy2016-02-251-0/+1
| | | | | | | | Test expects the breakpoint to resolve to three locations, but clang on windows yields only 2. llvm.org/pr26710 llvm-svn: 261810
* Get register context for the 32-bit process in a WoW64 process minidumpAdrian McCarthy2016-02-255-8/+200
| | | | | | | | | | | | 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
* xfail case sensitivity test on Linux.Zachary Turner2016-02-241-0/+1
| | | | | | | | | | | | 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
* Update the website with lots of new info about building / testing.Zachary Turner2016-02-242-55/+149
| | | | llvm-svn: 261795
* Some fixes for case insensitive paths on Windows.Zachary Turner2016-02-248-58/+268
| | | | | | | | | | | | | | | | | | | 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
* Removed unused functions.Greg Clayton2016-02-242-105/+0
| | | | llvm-svn: 261768
* [Renderscript] Change expression strings to use portable format specifiers.Aidan Dodds2016-02-241-22/+26
| | | | | | 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
* Fix test for homogeneity in case of aggregate consisting of containerized ↵Omair Javaid2016-02-241-13/+14
| | | | | | | | | | vector types Details can be found here: Differential revision: http://reviews.llvm.org/D17501 llvm-svn: 261734
* Fix TestCStrings for Linux with i386 inferiors.Chaoren Lin2016-02-241-48/+43
| | | | | | | | | | | | Summary: Temporarily revert part of r261704. Reviewers: spyffe Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D17557 llvm-svn: 261718
* Fix Clang-tidy modernize-use-nullptr and modernize-use-default warnings in ↵Eugene Zelenko2016-02-243-326/+290
| | | | | | some files in source/Commands; other minor fixes. llvm-svn: 261716
* When looking for symbols, find load addresses in a more robust way.Sean Callanan2016-02-231-36/+77
| | | | | | | | | | | | | | | | 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
* Work around a stepping bug in arm64 android MPavel Labath2016-02-237-95/+354
| | | | | | | | | | | | | | | | | | | | | 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
* [linux] Remove all traces of signalfd(2)Pavel Labath2016-02-234-67/+0
| | | | | | | | | | | | | | | 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
* XFAIL TestInlines for Linux with gccTamas Berghammer2016-02-231-1/+3
| | | | llvm-svn: 261630
* RenderScript: silence some -Wmissing-brace warningsSaleem Abdulrasool2016-02-231-2/+2
| | | | | | Silence some -Wmissing-brace warnings on Linux with clang 3.7. llvm-svn: 261612
* Fix Clang-tidy modernize-use-nullptr and modernize-use-default warnings in ↵Eugene Zelenko2016-02-233-285/+178
| | | | | | some files in source/Commands; other minor fixes. llvm-svn: 261602
* Actually commit the test for r261598.Sean Callanan2016-02-232-1/+50
| | | | llvm-svn: 261599
* Fixed a problem where the DWARF for inline functions was mis-parsed.Sean Callanan2016-02-231-34/+63
| | | | | | | | | | | | | | | | | | | 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
* Fix Clang-tidy modernize-use-nullptr and modernize-use-default warnings in ↵Eugene Zelenko2016-02-221-263/+192
| | | | | | source/Commands/CommandObjectCommands.cpp; other minor fixes. llvm-svn: 261593
* Fix Clang-tidy modernize-use-nullptr and modernize-use-default warnings in ↵Eugene Zelenko2016-02-221-274/+197
| | | | | | | | source/Commands/CommandObjectPlatform.cpp; other minor fixes. Add missing break for permissions-string case. llvm-svn: 261555
* Refactor GetSoftwareBreakpointTrapOpcodeAidan Dodds2016-02-2210-250/+123
| | | | | | | | 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
* Mark TestMiBreak.test_lldbmi_break_insert_function_pending as flaky on linuxPavel Labath2016-02-221-0/+1
| | | | | | | Test has become flaky again. Attempts to investigate the triggering commit have failed, so I suspect it was flaky all along.. llvm-svn: 261519
* Fix Clang-tidy modernize-use-nullptr and modernize-use-default warnings in ↵Eugene Zelenko2016-02-208-309/+206
| | | | | | some files in source/Commands; other minor fixes. llvm-svn: 261389
* Fix Clang-tidy modernize-use-nullptr and modernize-use-default warnings in ↵Eugene Zelenko2016-02-196-362/+250
| | | | | | some files in source/Commands; other minor fixes. llvm-svn: 261356
* Remove expectedFailureFreeBSD decoratorEd Maste2016-02-1919-26/+22
| | | | | | | | All invocations are updated to use the generic expectedFailureAll. Differential Revision: http://reviews.llvm.org/D17455 llvm-svn: 261355
* Don't use an atexit handler for cleaning up the temp directory.Zachary Turner2016-02-193-16/+20
| | | | | | Differential Revision: http://reviews.llvm.org/D17420 llvm-svn: 261353
* refactor/cleanup ClangExpressionParser::ParseEwan Crawford2016-02-191-33/+20
| | | | | | | | | | | | | | | 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
* Remove XFAIL from test passing on FreeBSDEd Maste2016-02-191-1/+0
| | | | | | | | | | | 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
* Remove XFAIL from test passing on FreeBSDEd Maste2016-02-191-1/+0
| | | | | | | | This is passing for me consistently on FreeBSD 10 and FreeBSD 11. llvm.org/pr15989 llvm-svn: 261339
* Remove XFAIL from test passing on FreeBSDEd Maste2016-02-191-1/+0
| | | | | | | | 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
* Delete unused function in ClangExpressionParserEwan Crawford2016-02-191-15/+0
| | | | | | | | | | | | [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
* Stack unwinding emulation: handle adjustment of FPTamas Berghammer2016-02-191-1/+16
| | | | | | | | | | | | | | | | | | | | 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
* Enable TestUnicodeLiteralsPavel Labath2016-02-191-4/+0
| | | | | | Test should work everywhere except windows now. llvm-svn: 261314
* Mark TestLldbGdbServer.test_software_breakpoint_set_and_remove_work_llgs as ↵Pavel Labath2016-02-191-0/+1
| | | | | | | | flaky on linux The problem is the asynchronous arrival of inferior stdio (pr25652). llvm-svn: 261313
* This patch stops lldb from loading a .lldbinit file from the currentJason Molenda2016-02-1911-16/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Make sure code that is in the middle of figuring out the correct architectureJim Ingham2016-02-184-22/+95
| | | | | | | | | 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
* Fix Clang-tidy modernize-use-nullptr and modernize-use-default warnings in ↵Eugene Zelenko2016-02-181-191/+147
| | | | | | source/Commands/CommandObjectBreakpoint.cpp; other minor fixes. llvm-svn: 261272
* Remove expectedFlakeyFreeBSD decorator for prompt settingEd Maste2016-02-181-1/+0
| | | | | | | | | 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
* Fix a typo in FormatCache.cpp such that the cache would potentially return ↵Enrico Granata2016-02-181-1/+1
| | | | | | an invalid format in some cases llvm-svn: 261246
* Fix Clang-tidy modernize-use-nullptr warnings in some files in ↵Eugene Zelenko2016-02-189-200/+155
| | | | | | source/Target; other minor fixes. llvm-svn: 261242
* Add target and host platform enumerations so we're not using strings.Zachary Turner2016-02-185-7/+57
| | | | | | Differential Revision: http://reviews.llvm.org/D17088 llvm-svn: 261241
* Fix SocketTest on Windows.Zachary Turner2016-02-181-4/+0
| | | | | | Differential Revision: http://reviews.llvm.org/D17106 llvm-svn: 261240
OpenPOWER on IntegriCloud