summaryrefslogtreecommitdiffstats
path: root/lldb
Commit message (Collapse)AuthorAgeFilesLines
...
* Mark some aarch64-linux specific xfails marking bug entriesOmair Javaid2016-05-253-2/+3
| | | | | | | | TestBSDArchives.py and TestWatchLocation.py fail due to unicode error and bug has already been reported for arm and macOSx. TestConstVariables.py fails because lldb cant figure out frame variable type when used in expr. llvm-svn: 270780
* Add logging to ValueObjectSyntheticFilter such that one can trace through ↵Enrico Granata2016-05-251-8/+78
| | | | | | the creation of synthetic children llvm-svn: 270770
* Fix an issue where LLDB would crash if one tried to 'frame variable' an ↵Enrico Granata2016-05-252-4/+8
| | | | | | | | unordered_map more than once in a stop due to the synthetic provider not properly caching the ValueObjects it was returning for the child elements Fixes rdar://26470909 llvm-svn: 270752
* Mark some arm-linux specific xfails marking bug entriesOmair Javaid2016-05-254-1/+5
| | | | | | | | TestCallUserAnonTypedef.py and TestIRInterpreter.py fail to limitation of JIT expressions in handling hard float ABI targets. TestBSDArchives.py fails due to python unicode error. TestBuiltinTrap.py fails due to wrong line information generated by some gcc versions. llvm-svn: 270745
* Add unit tests for ModuleCachePavel Labath2016-05-254-0/+192
| | | | | | | | | | Reviewers: ovyalov, zturner Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D20570 llvm-svn: 270684
* Include <mutex> in Process.h - Jim's change in r270593 added a std::mutexJason Molenda2016-05-251-0/+1
| | | | | | | ivar and this header is needed for it to compile on linux, judging by the build bots. llvm-svn: 270662
* Add support for arm64 compact unwind tables, used on darwin arm64Jason Molenda2016-05-253-0/+340
| | | | | | | | | | | | | | systems (ios, tvos, watchos). It's a simple format to use now that I have i386/x86_64 supported already. The unwind instructions are only valid at call sites -- that is, when lldb is unwinding a frame in the middle of the stack. It cannot be used for the currently executing frame; it has no information about prologues/epilogues/etc. <rdar://problem/12062336> llvm-svn: 270658
* Fix an issue where the NSDate data formatter was not using the proper ↵Enrico Granata2016-05-241-1/+3
| | | | | | | | alignment on watchOS targets Fixes rdar://problem/23298264 llvm-svn: 270621
* Ach, editing too many files at once. Make this file compile again.Jason Molenda2016-05-241-1/+1
| | | | llvm-svn: 270620
* In r268475 I made a change to ObjectFileMachO so that if it isJason Molenda2016-05-241-1/+4
| | | | | | | | | | | | | | | | missing an LC_FUNCTION_STARTS section, we assume it has been aggressively stripped (it is *very* unusual for anyone to strip LC_FUNCTION_STARTS) so we disable assembly instruction unwind plan creation. Kernel extensions (kexts) don't have LC_FUNCTION_STARTS, but we almost always have good symbol bounds just with the linker symbols. So add an exception to allow assembly instruction unwind plan creation for kexts even though they lack LC_FUNCTION_STARTS. <rdar://problem/26453952> llvm-svn: 270618
* Reword the "Happened at" TSan-reported thread to contain a thread id.Kuba Brecka2016-05-241-2/+5
| | | | llvm-svn: 270608
* xfail TestRedefinitionsInline with older ClangEd Maste2016-05-241-1/+2
| | | | | | | | This fails on FreeBSD 10 with the system compiler, Clang 3.4.1. llvm.org/pr27845 llvm-svn: 270603
* Lock out Process::RunThreadPlan so only one can be in flight at a time.Jim Ingham2016-05-242-1/+5
| | | | | | | | | | | | What with all sorts of folks (TSAN, ASAN, queue detection, etc...) trying to gather info by calling functions down in the lower layers of lldb, we've started to see people running expressions simultaneously. The expression evaluation part is okay, but only one RunThreadPlan can be active at a time. I added a lock to enforce that. <rdar://problem/26431072> llvm-svn: 270593
* Skip leading spaces when decoding hex valuesFrancis Ricci2016-05-241-0/+3
| | | | | | | | | | | | | | | | | | | | | Summary: The StringExtractor functions using stroull will already skip leading whitespace (ie GetU64). Make sure that the manual hex parsing functions also skip leading whitespace. This is important for members of the gdb protocol which are defined as using whitespace separators (ie qfThreadInfo, qC, etc). While lldb-server does not use the whitespace separators, gdb-remotes should work if they do, as the whitespace is defined by the gdb-remote protocol. Reviewers: vharron, jasonmolenda, clayborg Subscribers: sas, lldb-commits Differential Revision: http://reviews.llvm.org/D20509 llvm-svn: 270592
* Replace file system forbidden symbols in the hostname which passed to the ↵Oleksiy Vyalov2016-05-241-4/+20
| | | | | | | | ModuleCache. http://reviews.llvm.org/D20548 llvm-svn: 270590
* Improve wording in TSan reports involving global variables. Don't repeat ↵Kuba Brecka2016-05-242-12/+43
| | | | | | hex addresses that are the same. llvm-svn: 270588
* Add a missing include to ItaniumABILanguageRuntime.hPavel Labath2016-05-241-0/+1
| | | | | | | some (I'm not sure why only some, actually) implementations of std::map require the value type to be a fully specified type when declaring then. This make sure TypeAndOrName is. llvm-svn: 270570
* [LLDB][MIPS] Fix floating point handling in case of thread step-outSagar Thakur2016-05-246-38/+229
| | | | | | | | | | | Patch by Nitesh Jain. Summary: These patch fix thread step-out for hard and soft float. Reviewers: jaydeep, bhushan, clayborg Differential Revision: http://reviews.llvm.org/D20416 llvm-svn: 270564
* Make sure TestRedefinitionsInInlines.py actually inlines.Chaoren Lin2016-05-231-2/+2
| | | | | | | | | | Reviewers: spyffe Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D20540 llvm-svn: 270493
* xfail TestRedefinitionsInline on Windows.Zachary Turner2016-05-231-1/+1
| | | | llvm-svn: 270490
* We have many radars showing that stepping through C++ code can result in ↵Greg Clayton2016-05-234-142/+189
| | | | | | | | | | | | slow steps. One of the things slowing us down is that ItaniumABILanguageRuntime class doesn't cache vtable to types in a map. This causes us, on every step, for every variable, to read the first pointer in a C++ type that could be dynamic and lookup the symbol, possibly in every symbol file (some symbols files on Darwin can end up having thousands of .o files when using DWARF in .o files, so thousands of .o files are searched each time). This fix caches lldb_private::Address (the resolved vtable symbol address in section + offset format) to TypeAndOrName instances inside the one ItaniumABILanguageRuntime in a process. This allows caching of dynamic types and stops us from always doing deep searches in each file. <rdar://problem/18890778> llvm-svn: 270488
* add cmake files to Xcode projectTodd Fiala2016-05-231-0/+32
| | | | | | This makes it easier to use Xcode revision diffing tools on them. llvm-svn: 270476
* Removed the m_decl_objects map from ClangASTContext.Sean Callanan2016-05-2313-80/+42
| | | | | | | | | | | | | m_decl_objects is problematic because it assumes that each VarDecl has a unique variable associated with it. This is not the case in inline contexts. Also the information in this map can be reconstructed very easily without maintaining the map. The rest of the testsuite passes with this cange, and I've added a testcase covering the inline contexts affected by this. <rdar://problem/26278502> llvm-svn: 270474
* Always rerun all tests on Windows.Zachary Turner2016-05-232-0/+4
| | | | | | | | There is flakiness somewhere in the core infrastructure on Windows, so to get the buildbot reliably green we need to mark all tests as flaky. llvm-svn: 270460
* SBValue::CreateValueFromData didn’t check whether the SBType passed into ↵Enrico Granata2016-05-231-3/+4
| | | | | | | | it is in fact a valid type - this can lead to LLDB crashing upon access Committing on behalf of Sebastian Theophil llvm-svn: 270456
* SymbolFile: remove an unused variableSaleem Abdulrasool2016-05-221-2/+1
| | | | | | Address a -Wunused-but-set-variable warning from gcc. NFC. llvm-svn: 270377
* Reword ThreadSanitizer messages to use a lowercase 't' in thread names when ↵Kuba Brecka2016-05-221-5/+5
| | | | | | in the middle of a sentence. llvm-svn: 270365
* Reword ThreadSanitizer message for invalid mutex reports.Kuba Brecka2016-05-222-2/+2
| | | | llvm-svn: 270364
* A better fix of incorrectly used locking in HistoryThread and HistoryUnwind.Kuba Brecka2016-05-222-2/+2
| | | | llvm-svn: 270363
* Revert r270358 ("Fix an incorrectly used locking in HistoryThread and ↵Kuba Brecka2016-05-222-2/+4
| | | | | | HistoryUnwind"). llvm-svn: 270359
* Fix an incorrectly used locking in HistoryThread and HistoryUnwind, where ↵Kuba Brecka2016-05-222-4/+2
| | | | | | unique_lock's release() was called causing the mutex to stay locked. llvm-svn: 270358
* Adopt mmap flags that allow mmap'ed memory to be less crash prone.Greg Clayton2016-05-201-2/+25
| | | | | | | | | | On Darwin if a mmap file is code signed and the code signature is invalid, it used to crash. If we specify the MAP_RESILIENT_CODESIGN mmap flag when mapping a file for reading, we can avoid crashing. Another mmap flag named MAP_RESILIENT_MEDIA allows us to survive if we mmap files that are on removable media like network servers or removable hard drives. If a file was mapped and later the media that had the file became unavailable, we would crash when we would touch the next page that wasn't paged in. Now it will return zeroes and stop of from us from crashing. <rdar://problem/25918698> llvm-svn: 270254
* Revert rL270207: "[LLDB][MIPS] Fix floating point handling in case of thread ↵Tamas Berghammer2016-05-206-229/+38
| | | | | | | | | | step-out" The CL causes a build breakage on platforms where sizeof(double) == sizeof(long double) and it incorrectly assumes that sizeof(double) and sizeof(long double) is the same on the host and the target. llvm-svn: 270214
* [LLDB][MIPS] Fix Floating point Registers EncodingSagar Thakur2016-05-202-8/+18
| | | | | | | | | | | Patch by Nitesh Jain. Summary: Currently floating point regsiters has eEncodingUint encoding. Hence register write '1.25' will failed. This patch add eEncodingIEEE754 encoding for floating point registers( - ). This patch will fix test_fp_register_write in TestRegisters.py Reviewers: clayborg, sagar Subscribers: mohit.bhakkad, jaydeep, bhushan, sdardis, lldb-commits Differential: D18853 llvm-svn: 270208
* [LLDB][MIPS] Fix floating point handling in case of thread step-outSagar Thakur2016-05-206-38/+229
| | | | | | | | | | | Patch by Nitesh Jain. Summary: These patch fix thread step-out for hard and soft float. Reviewers: clayborg, bhushan, jaydeep Subscribers: mohit.bhakkad, sagar, sdardis Differential: D20416 llvm-svn: 270207
* Work around android-arm NDK bug exposed by rL269992Tamas Berghammer2016-05-201-1/+11
| | | | | | | | In the android-arm ndk there is a duplicated typedef in link.h and in unwind.h causing build erros. This CL introduces a HACK to prevent LLVM from finding unwind.h to fix the issue. llvm-svn: 270201
* Some changes to prevent searching down the stack for saved registerJason Molenda2016-05-201-10/+29
| | | | | | | | | | | | | | | | | | | | | | | | values for the pc or return address register. On ios with arm64 and a binary that has multiple functions without individual symbol boundaries, we end up with an assembly profile unwind plan that says lr=<same> - that is, the link register contents are unmodified from the caller's value. This gets the unwinder in a loop. When we're off the 0th frame, we never want to look to a caller for a pc or return-address register value. Add checks to ReadGPRValue and ReadRegister to prevent both the pc and ra register values from recursing. If this causes problems with backtraces on android, let me know or back it out and I'll look into it -- but I think these are straightforward and don't expect problems. <rdar://problem/24610365> llvm-svn: 270162
* Remove a should have been deleted extra assignment to a variable.Jim Ingham2016-05-191-20/+20
| | | | | | | Also fix up the formatting a bit, it looks like something was inserting actual tabs. Replace with 4 spaces. llvm-svn: 270148
* Fixed a crash if a FunctionDecl couldn't be imported.Sean Callanan2016-05-191-3/+6
| | | | llvm-svn: 270097
* Avoid an assertion failure when a bit field is extracted from a value of the ↵Bryan Chan2016-05-192-2/+26
| | | | | | | | | | | | | | same size. Summary: One of the cases handled by ValueObjectChild::UpdateValue() uses the entire width of the parent's scalar value as the size of the child, and extracts the child by calling Scalar::ExtractBitfield(). This seems valid but APInt::trunc(), APInt::sext() and APInt::zext() assert that the bit field must not have the same size as the parent scalar. Replacing those calls with sextOrTrunc(), zextOrTrunc(), sextOrSelf() and zextOrSelf() fixes the assertion failures. Reviewers: uweigand, labath Subscribers: labath, lldb-commits Differential Revision: http://reviews.llvm.org/D20355 llvm-svn: 270062
* Fix build after rL270009Tamas Berghammer2016-05-191-1/+0
| | | | llvm-svn: 270040
* second pass over removal of Mutex and ConditionSaleem Abdulrasool2016-05-1984-1050/+999
| | | | llvm-svn: 270024
* Check that __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ is definedJason Molenda2016-05-191-1/+1
| | | | | | | before comparing the value of it. <rdar://problem/26333564> llvm-svn: 270015
* Fix error propagation from the Z0 packet in gdb-remote breakpoint setting.Jim Ingham2016-05-192-3/+94
| | | | | | | | | | | | | The error was not getting propagated to the caller, so the higher layers thought the breakpoint was successfully set & resolved. I added a testcase, but it assumes 0x0 is not a valid place to set a breakpoint. On most systems that is true, but if it isn't true of your system, either find another good place and add it to the test, or x-fail the test. <rdar://problem/26345962> llvm-svn: 270014
* Fix an issue where debugserver would not properly vend OS version ↵Enrico Granata2016-05-181-7/+5
| | | | | | | | | | | information on iOS devices The __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED macro is only defined on OS X, so the check as written compiled the code out for iOS The right thing to do is compile the code out for older OSX versions, but leave iOS alone rdar://26333564 llvm-svn: 270004
* Fix standalone LLDB build, when LLVM/Clang were built with ↵Eugene Zelenko2016-05-181-1/+19
| | | | | | | | | | LLVM_INSTALL_TOOLCHAIN_ONLY=ON. Fix standalone build with CMake 2.8.12.2. Differential revision: http://reviews.llvm.org/D20344 llvm-svn: 269996
* xfail TestTopLevelExprs for arm and aarch64 linuxOmair Javaid2016-05-181-0/+1
| | | | | | | | | TestTopLevelExprs fails on arm and aarch64 linux similar to behaviour on android. A bug exists here: llvm.org/pr27787. This patch marks xfail on arm and aarch64. llvm-svn: 269980
* remove use of Mutex in favour of std::{,recursive_}mutexSaleem Abdulrasool2016-05-18139-1806/+1680
| | | | | | | | | | This is a pretty straightforward first pass over removing a number of uses of Mutex in favor of std::mutex or std::recursive_mutex. The problem is that there are interfaces which take Mutex::Locker & to lock internal locks. This patch cleans up most of the easy cases. The only non-trivial change is in CommandObjectTarget.cpp where a Mutex::Locker was split into two. llvm-svn: 269877
* xfail TestWatchLocation.py for arm-linux targetsOmair Javaid2016-05-171-0/+1
| | | | | | | | TestWatchLocation.py fails on arm-linux target due to unicode error in lldb testsuite. This is a known issue and same test fails on OS X with similar reason. I have reported a bug and marked this test as xfail for arm-linux targets. llvm-svn: 269860
* Allow custom formatting of session log file names.Zachary Turner2016-05-176-12/+34
| | | | | | Differential Revision: http://reviews.llvm.org/D20306 llvm-svn: 269793
OpenPOWER on IntegriCloud