summaryrefslogtreecommitdiffstats
path: root/lldb
Commit message (Collapse)AuthorAgeFilesLines
...
* [ABI/SysV] Remove more dead code. NFCI.Davide Italiano2017-11-181-42/+0
| | | | llvm-svn: 318577
* [Core] Garbage collect dead code untouched in years. NFCI.Davide Italiano2017-11-181-31/+0
| | | | | | | This sketching can be resurrected if anybody needs it, although I doubt is relevant these days. llvm-svn: 318576
* [lldb] Ensure that dwo/dwp are not double-indexedAlexander Shaposhnikov2017-11-175-3/+42
| | | | | | | | | | | | | DWO/DWP should not be indexed directly. Instead, the corresponding base file should be used. This diff adds an assert to DWARFCompileUnit::Index and adjusts the methods SymbolFileDWARF::FindCompleteObjCDefinitionTypeForDIE, SymbolFileDWARF::GetObjCMethodDIEOffsets accordingly. Differential revision: https://reviews.llvm.org/D39825 llvm-svn: 318554
* Fix LLDB build.Eugene Zemtsov2017-11-171-0/+1
| | | | | | It was broken by r318489. llvm-svn: 318504
* Update xcode project file to build new ppc64le files.Jason Molenda2017-11-173-3/+27
| | | | llvm-svn: 318500
* Recognize another magic token sent in the LaunchInfo's EventData.Jim Ingham2017-11-171-29/+71
| | | | | | <rdar://problem/32505028> llvm-svn: 318496
* "source list -a" was calling DisplaySourceLinesWithNumbers incorrectly.Jim Ingham2017-11-171-4/+5
| | | | | | | | The parameters were just passed in the wrong order. <rdar://problem/35150446> llvm-svn: 318495
* Fixed up to use a class for the commands, renamed the commands and added a ↵Greg Clayton2017-11-161-68/+181
| | | | | | way to just dump the compile unit full paths and optionally their support files with the new "dump-files"command. llvm-svn: 318424
* Implement core dump debugging for PPC64lePavel Labath2017-11-1614-54/+597
| | | | | | | | | | | | | | | Summary: Implement core dump debugging for PPC64le. Reviewers: labath Reviewed By: labath Subscribers: JDevlieghere, krytarowski, clayborg, labath, lbianc, nemanjai, gut, anajuliapc, mgorny, kbarton, lldb-commits Differential Revision: https://reviews.llvm.org/D39681 Patch by Alexandre Yukio Yamashita <alexandre.yamashita@eldorado.org.br> llvm-svn: 318399
* Fix alignment of arm64 fpu register context structureJason Molenda2017-11-163-4/+4
| | | | | | | | | | so it has the same padding as the kernel's definition which is written in terms of uint128_t. Original patch by Ryan Mansfield. <rdar://problem/35468499> llvm-svn: 318357
* [POSIX] Replace assert with llvm_unreachable(). NFCI.Davide Italiano2017-11-151-1/+1
| | | | llvm-svn: 318348
* Roll back r318260 because it is causing the windows bot toJason Molenda2017-11-152-2/+2
| | | | | | | | | | break. The alignas(__uint128_t) is not recognized with MSVC it looks like. Zachary, is there a similar type on windows? I suppose I can go with alignas(16) here but I'd prefer to specify the type alignment that I want & let the ABI dictate how much padding is required. llvm-svn: 318262
* Two small fixes to handle arm64 fpu register contexts in Jason Molenda2017-11-152-2/+2
| | | | | | | | | a Mach-O file load command correctly, patch by Ryan Mansfield. <rdar://problem/35468499> llvm-svn: 318260
* Update xcode project file to track ArchSpec.cppJason Molenda2017-11-141-6/+12
| | | | | | move and LibCxxBitset.cpp addition. llvm-svn: 318218
* Add check for self-assignment. NFCDon Hinton2017-11-142-0/+6
| | | | | | Differential Revision: https://reviews.llvm.org/D39578 llvm-svn: 318164
* Add a data formatter for libc++ std::bitsetPavel Labath2017-11-147-0/+197
| | | | | | | | | | Reviewers: jingham, EricWF Subscribers: mgorny, lldb-commits Differential Revision: https://reviews.llvm.org/D39966 llvm-svn: 318145
* Reformat a comment. NFC.Stephane Sezer2017-11-131-2/+1
| | | | llvm-svn: 318079
* Fix netbsd, freebsd and osx builds for ArchSpec movePavel Labath2017-11-1314-19/+15
| | | | llvm-svn: 318052
* Move ArchSpec to the Utility modulePavel Labath2017-11-1393-204/+104
| | | | | | | | | | | | | The rationale here is that ArchSpec is used throughout the codebase, including in places which should not depend on the rest of the code in the Core module. This commit touches many files, but most of it is just renaming of #include lines. In a couple of cases, I removed the #include ArchSpec line altogether, as the file was not using it. In one or two places, this necessitated adding other #includes like lldb-private-defines.h. llvm-svn: 318048
* Remove last Host usage from ArchSpecPavel Labath2017-11-135-13/+23
| | | | | | | | | | | | | | | | | | | | | | | Summary: In D39387, I was quick to jump to conclusion that ArchSpec has no external dependencies. It turns there still was one call to HostInfo::GetArchitecture left -- for implementing the "systemArch32" architecture and friends. Since GetAugmentedArchSpec is the place we handle these "incomplete" triples that don't specify os or vendor and "systemArch" looks very much like an incomplete triple, I move its handling there. After this ArchSpec *really* does not have external dependencies, and I'll move it to the Utility module as a follow-up. Reviewers: zturner, clayborg, jingham Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D39896 llvm-svn: 318046
* CompilerType: Add ability to retrieve an integral template argumentPavel Labath2017-11-1320-155/+211
| | | | | | | | | | | | | | | | | | | | | | Summary: Despite it's name, GetTemplateArgument was only really working for Type template arguments. This adds the ability to retrieve integral arguments as well (which I've needed for the std::bitset data formatter). I've done this by splitting the function into three pieces. The idea is that one first calls GetTemplateArgumentKind (first function) to determine the what kind of a parameter this is. Based on that, one can then use specialized functions to retrieve the correct value. Currently, I only implement two of these: GetTypeTemplateArgument and GetIntegralTemplateArgument. Reviewers: jingham, clayborg Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D39844 llvm-svn: 318040
* Revert "[lldb] Use OrcMCJITReplacement rather than MCJIT as the underlying ↵Pavel Labath2017-11-131-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | JIT for LLDB" This commit really did not introduce any functional changes (for most people) but it turns out it's not for the reason we thought it was. The reason wasn't that Orc is a perfect drop-in replacement for MCJIT, but it was because we were never using Orc in the first place, as it was not initialized. Orc's initialization relies on a global constructor in the LLVMOrcJIT.a. Since this archive does not expose any symbols referenced from other object files, it does not get linked into liblldb when linking against llvm components statically. However, in an LLVM_LINK_LLVM_DYLIB=On build, LLVMOrcJit.a is linked into libLLVM.so using --whole-archive, so the global constructor does end up firing. The result of using Orc jit is pr34194, where lldb fails to evaluate even very simple expressions. This bug can be reproduced in non-LLVM_LINK_LLVM_DYLIB builds by making sure Orc jit is linked into liblldb, for example by #including llvm/ExecutionEngine/OrcMCJITReplacement.h in IRExecutionUnit.cpp (and adding OrcJIT as a dependency to the relevant CMakeLists.txt file). The bug reproduces (at least) on linux and osx. The root cause of the bug seems to be related to relocation processing. It seems Orc processes relocations earlier than the system it is replacing. This means the relocation processing happens before we have had a chance to remap section load addresses to reflect their address in the target process memory, so they end up pointing to locations in the lldb's address space instead. I am not sure whether this is a bug in Orc jit, or in how we are using it from lldb, but in any case it is preventing us from using Orc right now. Reverting this fixes LLVM_LINK_LLVM_DYLIB build, and makes it clear that we are in fact *not* using Orc, and we never really were. This reverts commit r279327. llvm-svn: 318039
* Added a way to dump the full paths to all source files in a module that has ↵Greg Clayton2017-11-101-0/+16
| | | | | | debug info. llvm-svn: 317945
* [lldb] Remove unused method declarationAlexander Shaposhnikov2017-11-101-4/+0
| | | | | | | | | | FindCompleteObjCDefinitionType is not used anywhere and there is no implementation of it, only a declaration. Test plan: make check-lldb Differential revision: https://reviews.llvm.org/D39884 llvm-svn: 317919
* Clean up NativeRegisterContextPavel Labath2017-11-1033-337/+215
| | | | | | | | | | | | | | | | | | | | | Summary: This commit removes the concrete_frame_idx member from NativeRegisterContext and related functions, which was always set to zero and never used. I also change the native thread class to store a NativeRegisterContext as a unique_ptr (documenting the ownership) and make sure it is always initialized (most of the code was already blindly dereferencing the register context pointer, assuming it would always be present -- this makes its treatment consistent). Reviewers: eugene, clayborg, krytarowski Subscribers: aemerson, sdardis, nemanjai, javed.absar, arichardson, kristof.beyls, kbarton, uweigand, alexandreyy, lldb-commits Differential Revision: https://reviews.llvm.org/D39837 llvm-svn: 317881
* llgs-tests: Replace the "log+return false" pattern with llvm::ErrorPavel Labath2017-11-098-140/+133
| | | | | | | | | | | | | | | | | | | | Summary: These tests used to log the error message and return plain bool mainly because at the time they we written, we did not have a nice way to assert on llvm::Error values. That is no longer true, so replace this pattern with a more idiomatic approach. As a part of this patch, I also move the formatting of GDBRemoteCommunication::PacketResult values out of the test code, as that can be useful elsewhere. Reviewers: zturner, eugene Subscribers: mgorny, lldb-commits Differential Revision: https://reviews.llvm.org/D39790 llvm-svn: 317795
* Add a unit test for ClangASTContext template arguments handlingPavel Labath2017-11-091-0/+45
| | | | | | | I am planning to make changes to this piece of code, so I wrote this test to add more coverage to it first. llvm-svn: 317792
* Simplify NativeProcessProtocol::GetArchitecture/GetByteOrderPavel Labath2017-11-0913-87/+26
| | | | | | | | | | | | | | | | | | | Summary: These functions used to return bool to signify whether they were able to retrieve the data. This is redundant because the ArchSpec and ByteOrder already have their own "invalid" states, *and* because both of the current implementations (linux, netbsd) can always provide a valid result. This allows us to simplify bits of the code handling these values. Reviewers: eugene, krytarowski Subscribers: javed.absar, lldb-commits Differential Revision: https://reviews.llvm.org/D39733 llvm-svn: 317779
* Xfail TestConcurrentTwoWatchpointsOneSignal on armPavel Labath2017-11-081-0/+1
| | | | | | | r317561 exposed an interesting bug (pr35228) in handling of simultaneous watchpoint hits. Disabling the test until we can get that fixed. llvm-svn: 317683
* Log: delimit thread name in log messagePavel Labath2017-11-081-2/+1
| | | | | | | | | | The thread name was not followed by a space, which meant it was glued to the log message. I also align the name as we do that with other log fields. I align it to 16 chars instead of llvm::max_thread_name(), as that can be 64 on darwin, which is rather long. If anybody feels differently about that, we can change it. llvm-svn: 317679
* Make TestTopLevelExprs more robust in face of linker GCPavel Labath2017-11-082-21/+12
| | | | | | | | | | | | | | | | | | Summary: This test was failing in various configurations on linux in a fairly unpredictible way. The success depended on whether the c++ abi library was linked in statically or not and how well was the linker able to strip parts of it. This introduces additional code to the "dummmy" test executable, which ensures that all parts of the library needed to evaluate the expressions are always present. Reviewers: clayborg Subscribers: srhines, tatyana-krasnukha, davide, lldb-commits Differential Revision: https://reviews.llvm.org/D39727 llvm-svn: 317678
* Update tuple/list/deque data formatters to work with newest libc++Pavel Labath2017-11-073-10/+29
| | | | | | | | | | | | | | Summary: A couple of members of these data structures have been renamed in recent months. This makes sure they still work with the latest libc++ version. Reviewers: jingham, EricWF Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D39602 llvm-svn: 317624
* Fix an issue in r317563 causing a clang assertTamas Berghammer2017-11-071-3/+3
| | | | llvm-svn: 317574
* Support scoped enums in the DWARF AST parserTamas Berghammer2017-11-075-9/+14
| | | | | | | | Subscribers: JDevlieghere Differential Revision: https://reviews.llvm.org/D39545 llvm-svn: 317563
* test: Clean up finalize_build_dictionaryPavel Labath2017-11-071-2/+1
| | | | | | | We only support API>=16 now, so we don't need to check the API level of the android device. llvm-svn: 317562
* "Fix" concurrent events test for armPavel Labath2017-11-0722-29/+2
| | | | | | | | | | | | | | | | | | | | | | | | Summary: The test incremented an atomic varible to trigger the watchpoint event. On arm64 this compiled to a ldaxr/stlxr loop, with the watchpoint being triggered in the middle of the loop. Hitting the watchpoint resets the exclusive monitor, and forces the process to loop one more time, hitting the watchpoint again, etc. While it would be nice if the debugger was able to resume from this situation, this is not trivial, and is not what this test is about. Therefore, I propose to change this to a simple store to a normal variable (which should still trip the watchpoint everywhere, but without atomic loops) and file a bug to investigate the possibilities of handling the watchpoints in atomic loops in a more reasonable way. Reviewers: clayborg Subscribers: aemerson, kristof.beyls, lldb-commits Differential Revision: https://reviews.llvm.org/D39680 llvm-svn: 317561
* Disable tests in lang/c/shared_lib on WindowsStephane Sezer2017-11-071-0/+3
| | | | | | | | | | | | | | Summary: These fail because `-fPIC` is not supported on Windows. Reviewers: zturner, jingham, clayborg Reviewed By: clayborg Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D39692 llvm-svn: 317529
* Add a dependency from check-lldb on lldStephane Sezer2017-11-061-0/+9
| | | | | | | | | | | | Summary: This is required when using the in-tree clang for building tests, because -fuse-ld=lld is used by default. Subscribers: mgorny Differential Revision: https://reviews.llvm.org/D39689 llvm-svn: 317501
* Extend android xfail in TestTopLevelExprsPavel Labath2017-11-061-1/+1
| | | | | | | The test fails on API level 19 as well. I'm going to assume that it fails on every API level below 23. llvm-svn: 317474
* Improve the posix core file triple detectionTamas Berghammer2017-11-042-5/+11
| | | | | | | | | | | | | | | | | | | | | | | Summary: Posix core files sometime don't contain enough information to correctly detect the OS. If that is the case we should use the OS from the target instead as it will contain usable information in more cases and if the target and the core contain different OS-es then we are already in a pretty bad state so moving from an unknown OS to a known (but possibly incorrect) OS will do no harm. We already had similar code in place for MIPS. This change tries to make it more generic by using ArchSpec::MergeFrom and extends it to all architectures but some MIPS specific issue prevent us from getting rid of special casing MIPS. Reviewers: clayborg, nitesh.jain Subscribers: aemerson, sdardis, arichardson, kristof.beyls, lldb-commits Differential Revision: https://reviews.llvm.org/D36046 llvm-svn: 317411
* Remove ProcessGdbRemote::m_flagsPavel Labath2017-11-032-7/+1
| | | | | | The member is completely unused. Discussed on lldb-dev. llvm-svn: 317377
* Add float/vector registers for ppc64lePavel Labath2017-11-038-17/+1099
| | | | | | | | | | | | | | | Summary: Add read and write functions for VSX, VMX and float registers and fix watchpoint size Reviewers: clayborg Reviewed By: clayborg Subscribers: eugene, labath, clayborg, nemanjai, kbarton, JDevlieghere, anajuliapc, gut, lbianc, lldb-commits Differential Revision: https://reviews.llvm.org/D39487 Patch by: Alexandre Yukio Yamashita <alexandre.yamashita@eldorado.org.br> llvm-svn: 317329
* Add type to FileSpec::PathSyntax enum.Don Hinton2017-11-031-1/+1
| | | | | | | | | | | | Summary: Add type to FileSpec::PathSyntax enum to decrease size for FileSpec on systems with 32 bit pointers. Thanks to @zturner for pointing this out. Differential Revision: https://reviews.llvm.org/D39574 llvm-svn: 317327
* Xfail test_stack_info_in_minidump testPavel Labath2017-11-031-0/+1
| | | | | | | The test has been failing since we enabled the i386 ABI plugin on windows. See pr35193 for details. llvm-svn: 317326
* Fix classifications on two concurrent event testsPavel Labath2017-11-032-1/+1
| | | | | | | I have classified one as a watchpoint test even though it wasn't and vice versa. Fix that. llvm-svn: 317319
* Remove getCategories mechanism of specifying test categoriesPavel Labath2017-11-0216-57/+36
| | | | | | | | | | | | | | | | | | Summary: This mechanism was mostly redundant with the file-based .categories mechanism, and it was interfering with it, as any test which implemented a getCategories method would not inherit the filesystem categories. This patch removes it. The existing categories are preserved either by adding a .categories file, or using the @add_test_categories decorator. Reviewers: jingham, clayborg, zturner Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D39515 llvm-svn: 317277
* Remove android watchpoint xfailsPavel Labath2017-11-0222-69/+0
| | | | | | | | Now that the wathpoint tests have their own category, we can easily skip them on devices which don't have watchpoint support. Therefore, we don't need an android xfail on each of these tests. llvm-svn: 317276
* Fix some warnings found by ToT clangPavel Labath2017-11-0210-14/+5
| | | | | | | | These fall into two categories: - unused variables - (uint8_t *)NULL + X -- changed to reinterpret_cast(X) llvm-svn: 317270
* Run clang-format on lldb.cppStephane Sezer2017-11-021-4/+2
| | | | llvm-svn: 317219
* Use LLVM version stringStephane Sezer2017-11-021-5/+1
| | | | | | | | | | | | | | | | | | | | Summary: macOS builds of LLDB use the bundle version from `tools/driver/lldb-Info.plist`. That file hasn't been updated since the 4.0 release so the version we print provides no value. I also think that even if it were up to date, that number has no meaning and displaying the version from the LLVM tree is more valuable. I know that Apple folks have some form of override for the clang version to match the Xcode version, so it'd make sense for them to do the same for LLDB. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D39429 llvm-svn: 317218
OpenPOWER on IntegriCloud