summaryrefslogtreecommitdiffstats
path: root/lldb
Commit message (Collapse)AuthorAgeFilesLines
...
* Add oat symbolization support for odex filesTamas Berghammer2016-07-062-6/+8
| | | | | | Differential revision: http://reviews.llvm.org/D22040 llvm-svn: 274635
* [LLGS] Log more precise errors during inferior launchPavel Labath2016-07-062-113/+129
| | | | | | | | | | | | | | Summary: We are seeing infrequent failures to launch the inferior process on android. The failing call seems to be execve(). This adds more logging to see the actual error reported by the call. Reviewers: tberghammer Subscribers: tberghammer, lldb-commits, danalbert Differential Revision: http://reviews.llvm.org/D22039 llvm-svn: 274624
* In AddressSanitizer and ThreadSanitizer, let's explicitly set the language ↵Kuba Brecka2016-07-063-0/+5
| | | | | | of the expression we're evaluating. llvm-svn: 274621
* Add data formatter for libstdc++ shared_ptr and weak_ptrTamas Berghammer2016-07-067-25/+236
| | | | | | Differential revision: http://reviews.llvm.org/D21984 llvm-svn: 274617
* Fix Linux build.Oleksiy Vyalov2016-07-061-1/+1
| | | | llvm-svn: 274594
* Allows "experimental" settings that will either route to their containingJim Ingham2016-07-063-2/+55
| | | | | | | | | | | | | | settings or raise no error if not found. From time to time it is useful to add some setting to work around or enable a transitory feature. We've been reluctant to remove them later because then we will break folks .lldbinit files. With this change you can add an "experimental" node to the settings. If you later decide you want to keep the option, just move it to the level that contained the "experimental" setting and it will still be found. Or just remove it - setting it will then silently fail and won't halt the .lldbinit file execution. llvm-svn: 274593
* Warning about debugging optimized code was not happening without dSYMs. Now ↵Greg Clayton2016-07-0511-51/+113
| | | | | | | | | | it works for DWARF in .o files on Darwin. I changed "m_is_optimized" in lldb_private::CompileUnit over to be a lldb::LazyBool so that it can be set to eLazyBoolCalculate if it needs to be parsed later. With SymbolFileDWARFDebugMap, we don't actually open the DWARF in the .o files for each compile unit until later, and we can't tell if a compile unit is optimized ahead of time. So to avoid pulling in all .o right away just so we can answer the questions of "is this compile unit optimized" we defer it until a point where we will have the compile unit parsed. <rdar://problem/26068360> llvm-svn: 274585
* Fixed a bug where we report a single type multiple times in namespaces.Sean Callanan2016-07-0510-6/+164
| | | | | | | | Also added a testcase. <rdar://problem/22786569> llvm-svn: 274580
* Fix "lldb.SBProcess.is_stopped" and "lldb.SBProcess.is_running" to do the ↵Greg Clayton2016-07-051-3/+3
| | | | | | | | right thing. https://llvm.org/bugs/show_bug.cgi?id=28428 llvm-svn: 274568
* Split TestTemplateIntegerArgs test into twoPavel Labath2016-07-041-14/+17
| | | | | | | | | | | | | | | | Summary: One of the tests there does not work with gcc, so I'm spinning that off into a separate test, so that we can XFAIL it with more granularity. I am also renaming the test to reflect the fact that it no longer tests only integer arguments. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D21923 llvm-svn: 274505
* Ignore oatdata and oatexec symbols more widelyTamas Berghammer2016-07-041-4/+4
| | | | | | | | | | | These are artifical symbols inside android oat files without any value for the user while causing a significant perfoamce hit inside the unwinder. We were already ignoring it inside system@framework@boot.oat bot they have to be ignored in every oat file. Considering that oat files are only used on android this have no effect on any other platfrom. llvm-svn: 274500
* Remove SIGPIPE handler in LLGSPavel Labath2016-07-041-20/+1
| | | | | | | It is sufficient to set the handeler to SIG_IGN, to get the desired behaviour. Also, the handler calling a lot of signal-unsafe functions. llvm-svn: 274499
* Enable test log collection from remote debug servers (take 2)Pavel Labath2016-07-042-42/+47
| | | | | | | | | | | | | | | | | | Summary: This is a slightly reworked version of D16322, which I had reverted because it did not do what it advertised. Differences from the previous version are: - moved the code for cleaning up the remote working dir to a later point as it was removing the log file before we could get to it. - specialised log downloading code for gdb-remote tests is not needed, as this will cover that use case as well. Reviewers: tfiala Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D21898 llvm-svn: 274491
* Join TestTlsGlobal tests again and use the proper decoratorPavel Labath2016-07-041-12/+2
| | | | llvm-svn: 274490
* Fix the libc++ pretty printers for the android NDKTamas Berghammer2016-07-041-31/+39
| | | | | | | | | | | | The libc++ shipped with the android NDK is shipped using a different internal namespace then the upstream libc++ (__ndk1 vs. __1) to avoid an ODR violation between the platform and the user application. This change fixes our pretty printers to be able to work with the types from the android NDK libc++. Differential revision: http://reviews.llvm.org/D21680 llvm-svn: 274489
* Fix ClangASTContext after some clang API changesTamas Berghammer2016-07-041-5/+2
| | | | llvm-svn: 274488
* Fixed thread local storage test case to run normally with no expected fail ↵Greg Clayton2016-07-011-2/+12
| | | | | | for Darwin, always skip on windows, and expected fail for all other OSs while mentioning the new bug I filed to track fixing TLS variables: https://llvm.org/bugs/show_bug.cgi?id=28392 llvm-svn: 274393
* Thread local storage was already broken on Linux and the tests were passing ↵Greg Clayton2016-07-013-2/+9
| | | | | | | | | | | because there was a dectorator: @unittest2.expectedFailure("rdar://7796742") Which was covering up the fact this was failing on linux and hexagon. I added back a decorator so we don't break any build bots. llvm-svn: 274388
* Revert fix that didn't work. I will need to debug this on linux to figure ↵Greg Clayton2016-07-011-10/+1
| | | | | | things out. llvm-svn: 274377
* Try to fix Ubuntu buildbots after I broke thread local variables with 274366.Greg Clayton2016-07-011-5/+13
| | | | llvm-svn: 274374
* Added support for thread local variables on all Apple OS variants.Greg Clayton2016-07-0123-80/+416
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We had support that assumed that thread local data for a variable could be determined solely from the module in which the variable exists. While this work for linux, it doesn't work for Apple OSs. The DWARF for thread local variables consists of location opcodes that do something like: DW_OP_const8u (x) DW_OP_form_tls_address or DW_OP_const8u (x) DW_OP_GNU_push_tls_address The "x" is allowed to be anything that is needed to determine the location of the variable. For Linux "x" is the offset within the TLS data for a given executable (ModuleSP in LLDB). For Apple OS variants, it is the file address of the data structure that contains a pthread key that can be used with pthread_getspecific() and the offset needed. This fix passes the "x" along to the thread: virtual lldb::addr_t lldb_private::Thread::GetThreadLocalData(const lldb::ModuleSP module, lldb::addr_t tls_file_addr); Then this is passed along to the DynamicLoader::GetThreadLocalData(): virtual lldb::addr_t lldb_private::DynamicLoader::GetThreadLocalData(const lldb::ModuleSP module, const lldb::ThreadSP thread, lldb::addr_t tls_file_addr); This allows each DynamicLoader plug-in do the right thing for the current OS. The DynamicLoaderMacOSXDYLD was modified to be able to grab the pthread key from the data structure that is in memory and call "void *pthread_getspecific(pthread_key_t key)" to get the value of the thread local storage and it caches it per thread since it never changes. I had to update the test case to access the thread local data before trying to print it as on Apple OS variants, thread locals are not available unless they have been accessed at least one by the current thread. I also added a new lldb::ValueType named "eValueTypeVariableThreadLocal" so that we can ask SBValue objects for their ValueType and be able to tell when we have a thread local variable. <rdar://problem/23308080> llvm-svn: 274366
* Skip TestDisassembleRawData when remoteFrancis Ricci2016-07-011-0/+1
| | | | | | | | | | | | | | | Summary: As this test will create a new target, it will cause all following tests to fail when running in platform mode, if the new target does not match the existing architecture (for example, x86 vs x86_64). Reviewers: zturner, spyffe, clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D21906 llvm-svn: 274364
* Fix for Windows builds.Adrian McCarthy2016-06-301-0/+6
| | | | llvm-svn: 274277
* Improve ADB utilization within Android platform.Oleksiy Vyalov2016-06-305-188/+242
| | | | | | http://reviews.llvm.org/D21770 llvm-svn: 274256
* Removed the redundant "%d errors parsing expression" error. Nobody keeps score.Sean Callanan2016-06-303-7/+2
| | | | | | <rdar://problem/24306284> llvm-svn: 274254
* Correct watchpoint size test failure on certain devicesOmair Javaid2016-06-301-3/+3
| | | | | | | I overlooked the possibility of certain targets translating increment statement into a read and write. In this case we replace increment statement with an assignment. llvm-svn: 274215
* Add NSTaggedPointerString to the table of data formattersEnrico Granata2016-06-291-0/+1
| | | | | | Fixes rdar://27002512 llvm-svn: 274164
* Validate the option index before trying to access an array element using it ↵Enrico Granata2016-06-291-0/+7
| | | | | | - OptionArgElement can potentially use negative indices to mean interesting, but non option, states llvm-svn: 274159
* Remove platform plugins from lldb-serverPavel Labath2016-06-297-120/+47
| | | | | | | | | | | | | | | | | | | Summary: This removes the last usage of Platform plugins in lldb-server -- it was used for launching child processes, where it can be trivially replaced by Host::LaunchProces (as lldb-server is always running on the host). Removing platform plugins enables us to remove a lot of other unused code, which was pulled in as a transitive dependency, and it reduces lldb-server size by 4%--9% (depending on build type and architecture). Reviewers: clayborg Subscribers: tberghammer, danalbert, srhines, lldb-commits Differential Revision: http://reviews.llvm.org/D20440 llvm-svn: 274125
* [LLDB][MIPS] Check if libatomic needs to be specified explicitlySagar Thakur2016-06-291-0/+5
| | | | | | | | | | | Patch by Nitesh Jain. Summary : The problem appears while linking liblldb.so. The class Address contain atomic variable m_offset. The loading and storing of variable is access via atomic_load_8 and atomic_store_8 functions. Some target fail to implicitly link libatomic, which cause undefine reference to atomic_store_8/atomic_load_8. This patch uses http://reviews.llvm.org/D20896 to check if libatomic need to be explicitly link. Reviewed by labath. Differential: D20464 llvm-svn: 274121
* XFAIL tests which fail with gcc on linuxPavel Labath2016-06-293-1/+3
| | | | llvm-svn: 274116
* 64-bit LEB values are not always correctly decoded due to a casting issue, ↵Greg Clayton2016-06-283-5/+5
| | | | | | | | now they are. <rdar://problem/27002247> llvm-svn: 274037
* Process::StopForDetachOrDestroy should actually return an error if it can't ↵Jim Ingham2016-06-281-1/+1
| | | | | | | | | | stop the process. <rdar://problem/26990309> llvm-svn: 274032
* fixits are apparently called fix-its.Jim Ingham2016-06-284-6/+6
| | | | | | <rdar://problem/26998596> llvm-svn: 273979
* Fixup the "shadow" example command to use the function that takes an ↵Greg Clayton2016-06-281-28/+26
| | | | | | | | | | | execution context now that the @lldb.command decorator does the right thing for the command function that takes 5 arguments. A few fixes: - Check the process state to make sure it is stopped - Grab the frame from the "exe_ctx" so this will work during breakpoint callbacks - Print out the SBDeclaration objects of the variables that shadow each other so we can see the source locations of which variable declarations are shodowing each other. llvm-svn: 273963
* fix invalid assumption about the executable module in Target::Install()Todd Fiala2016-06-272-1/+2
| | | | | | | | | | | | | | | Target::Install() was assuming the module at index 0 was the executable. This is often true, but not guaranteed to be the case. The TestInferiorChanged.py test highlighted this when run against iOS. After the binary is replaced in the middle of the test, it becomes the last module in the list. The rest of the Target::Install() logic then clobbers the executable file by using whatever happens to be the first module in the target module list. This change also marks the TestInferiorChanged.py test as a no-debug-info test. llvm-svn: 273960
* Change PlatformDarwinKernel::GetSharedModule to be a little moreJason Molenda2016-06-271-3/+16
| | | | | | | | | | | | explicit in how it adds the kernel binary, to guard against the case where a kernel corefile might incorrectly include the kernel's UUID in it (so calling ::GetSharedModule may end up returning the global module cache's copy of the core file instead of adding the kerenl binary). <rdar://problem/26988816> llvm-svn: 273954
* Improve watchpoint error reporting specially for arm/aarch64 targetsOmair Javaid2016-06-273-13/+13
| | | | | | Differential revision: http://reviews.llvm.org/D21164 llvm-svn: 273869
* Allow unaligned byte/word selection watchpoints for arm- linux/android targets.Omair Javaid2016-06-273-3/+45
| | | | | | Differential revision: http://reviews.llvm.org/D21516 llvm-svn: 273863
* Made templates that have Enumeration values as arguments work correctly.Greg Clayton2016-06-2420-44/+158
| | | | | | | | | | We were checking for integer types only before this. So I added the ability for CompilerType objects to check for integer and enum types. Then I searched for places that were using the CompilerType::IsIntegerType(...) function. Many of these places also wanted to be checking for enumeration types as well, so I have fixed those places. These are in the ABI plug-ins where we are figuring out which arguments would go in where in regisers/stack when making a function call, or determining where the return value would live. The real fix for this is to use clang to compiler a CGFunctionInfo and then modify the code to be able to take the IR and a calling convention and have the backend answer the questions correctly for us so we don't need to create a really bad copy of the ABI in each plug-in, but that is beyond the scope of this bug fix. Also added a test case to ensure this doesn't regress in the future. llvm-svn: 273750
* Add .i files for SBMemoryRegionInfo and SBMemoryRegionInfoList and also hook ↵Greg Clayton2016-06-246-0/+131
| | | | | | | | up the new calls in SBProcess that give out SBMemoryRegionInfo and SBMemoryRegionInfoList objects. Also make sure the right headers and .i files are included so SWIG can hook everything up. llvm-svn: 273749
* The Objective-C Class type should not be treated as a potential dynamic ↵Enrico Granata2016-06-241-0/+8
| | | | | | | | type, since it actually doesn't resolve to the type of the class it points to Fixes rdar://26535584 llvm-svn: 273721
* Don't run TestImageListMultiArchitecture during remote test suiteFrancis Ricci2016-06-241-0/+1
| | | | | | | | | | Reviewers: zturner, clayborg, tfiala Subscribers: sas, lldb-commits Differential Revision: http://reviews.llvm.org/D21648 llvm-svn: 273720
* Added a test case for bitfield ivars. It currently fails.Sean Callanan2016-06-242-0/+56
| | | | | | <rdar://problem/17990991> llvm-svn: 273718
* Fix an issue where LLDB would show the key and value of a single entry ↵Enrico Granata2016-06-244-2/+84
| | | | | | | | NSDictionary in the wrong order Fixes rdar://26478641 llvm-svn: 273695
* Silence a -Wc++11-narrowing warningDavid Majnemer2016-06-241-1/+1
| | | | llvm-svn: 273649
* Update LLDB for r273647David Majnemer2016-06-241-4/+2
| | | | llvm-svn: 273648
* Fix an issue where the @lldb.command marker would not work with the new ↵Enrico Granata2016-06-244-6/+36
| | | | | | | | | | | 5-argument version of the Python command function This: a) teaches PythonCallable to look inside a callable object b) teaches PythonCallable to discover whether a callable method is bound c) teaches lldb.command to dispatch to either the older 4 argument version or the newer 5 argument version llvm-svn: 273640
* Handle variadic Objective-C methods from DWARF correctly.Sean Callanan2016-06-245-4/+41
| | | | | | <rdar://problem/22039804> llvm-svn: 273632
* Don't run the top-level expression test case with -gmodules.Sean Callanan2016-06-231-1/+1
| | | | | | <rdar://problem/26563587> llvm-svn: 273622
OpenPOWER on IntegriCloud