summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-06-23fix lldb-gdbserver and lldb-platform linking on RHEL 6release_36Tom Stellard
This if fix for bug 23774. Trunk CMake files were changed and fix should be applied to tools/lldb-server/CMakeLists.txt. Patch by: Eugene Zelenko git-svn-id: https://llvm.org/svn/llvm-project/lldb/branches/release_36@240421 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-23LLDB standalone build: check if Clang was built independently from LLVMTom Stellard
This is fix for bug 23704: LLDB standalone build always include ClangConfig.cmake even if Clang was built with LLVM (ClangConfig.cmake doesn't exist). Patch by: Eugene Zelenko git-svn-id: https://llvm.org/svn/llvm-project/lldb/branches/release_36@240419 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-23Add Support for LLVM_INSTALL_TOOLCHAIN_ONLYTom Stellard
Support for LLVM_INSTALL_TOOLCHAIN_ONLY is modeled on same functionality from LLVM and Clang CMake files. Patch by: Eugene Zelenko git-svn-id: https://llvm.org/svn/llvm-project/lldb/branches/release_36@240418 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-22Merging r239199:Tom Stellard
------------------------------------------------------------------------ r239199 | labath | 2015-06-05 19:14:14 -0400 (Fri, 05 Jun 2015) | 3 lines Remove unused editline includes LLDB included editline in a couple of places, not respecting LLDB_DISABLE_LIBEDIT. As far as I can tell, these includes are not used, so I am removing them. ------------------------------------------------------------------------ Differential Revision: http://reviews.llvm.org/D10324 git-svn-id: https://llvm.org/svn/llvm-project/lldb/branches/release_36@240294 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-22Merging r231423:Tom Stellard
------------------------------------------------------------------------ r231423 | chaoren | 2015-03-05 18:22:54 -0500 (Thu, 05 Mar 2015) | 7 lines Remove libedit and libncurses from LLDB_SYSTEM_LIBS if they're disabled. Reviewers: clayborg, zturner, vharron, sbest Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D8065 ------------------------------------------------------------------------ Differential Revision: http://reviews.llvm.org/D10323 git-svn-id: https://llvm.org/svn/llvm-project/lldb/branches/release_36@240293 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-20Fix thumb symbol value fixup in ObjectFileELFStephane Sezer
Summary: This is a cross-port of r235098 by Tamas Berghammer <tberghammer@google.com>. This patch fixes a critical bug in thumb symbol handling on ARM platforms. Reviewers: tberghammer, hans, clayborg Subscribers: rengolin, aemerson, lldb-commits Differential Revision: http://reviews.llvm.org/D9123 git-svn-id: https://llvm.org/svn/llvm-project/lldb/branches/release_36@235352 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-20Fix resolution of certain recursive types.Stephane Sezer
Summary: This is a cross-port of r234441. If a struct type S has a member T that has a member that is a function that returns a typedef of S* the respective field would be duplicated, which caused an assert down the line in RecordLayoutBuilder. This patch adds a check that removes the possibility of trying to resolve the same type twice within the same callstack. This commit also adds unit tests for these failures. Fixes https://llvm.org/bugs/show_bug.cgi?id=20486. Patch by Cristian Hancila. Test Plan: Run unit tests. Reviewers: clayborg, spyffe, hans Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9122 git-svn-id: https://llvm.org/svn/llvm-project/lldb/branches/release_36@235334 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-20Merging r230694:Tom Stellard
------------------------------------------------------------------------ r230694 | chaoren | 2015-02-26 14:15:16 -0800 (Thu, 26 Feb 2015) | 16 lines Fix Bug 20400 Summary: http://llvm.org/bugs/show_bug.cgi?id=20400 The default triple of i686-pc-linux-gnu for 32 bit linux targets is compatible but not necessarily identical to the inferior binaries. Applying Azat Khuzhin's solution of using ArchSpec::IsCompatibleMatch() instead of ArchSpec::IsExactMatch() when comparing ObjectFile and Modules architecture. Reviewers: vharron Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D7897 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/lldb/branches/release_36@235306 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-07Use release_36 versions of llvm, clang and compiler-rt.Stephane Sezer
This is required to build lldb, otherwise branches are out of sync. git-svn-id: https://llvm.org/svn/llvm-project/lldb/branches/release_36@234268 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-11Merging r228710:Hans Wennborg
------------------------------------------------------------------------ r228710 | sylvestre | 2015-02-10 09:16:13 -0800 (Tue, 10 Feb 2015) | 11 lines Fix the LLDB build under Debian Kfreebsd Summary: I don't know if there is a better way for the change in source/Host/freebsd/ThisThread.cpp Reviewers: emaste Subscribers: hansw, emaste, lldb-commits Differential Revision: http://reviews.llvm.org/D7441 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/lldb/branches/release_36@228780 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-04Merging r228057:Hans Wennborg
------------------------------------------------------------------------ r228057 | sas | 2015-02-03 14:48:34 -0800 (Tue, 03 Feb 2015) | 25 lines Use basename of main executable in POSIX-DYLD on Android. Summary: The Android dynamic linker reports only the basename of each SO entry, so for the above check to be successful, we need to compare it to the basename of the main executable. This also has a nasty side-effect when working with older version of Android (verified on platform version 16), and debugging PIE executables: the dynamic linker has a bug and reports the load address of the main executable (which is a shared object, because PIE) to be 0. We then try to update the list of loaded sections for all shared objects, including the main executable, and set the load address to 0, which breaks everything that relies on resolving addresses in the main executable (breakpoints, stepping, etc). This commit also fixes that broken behavior when debugging on older Androids. This bug doesn't happen on newer Android versions (verified for Android L). Test Plan: Run test suite on linux. Reviewers: clayborg, tfiala, richard.mitton Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D7188 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/lldb/branches/release_36@228081 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-14Creating release_36 branch off revision 225991Hans Wennborg
git-svn-id: https://llvm.org/svn/llvm-project/lldb/branches/release_36@226000 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-14Extend PipePosix with support for named pipes/timeout-based IO and integrate ↵Oleksiy Vyalov
it with GDBRemoteCommunication / lldb-gdbserver - include reviews fixes. http://reviews.llvm.org/D6954 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225923 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-13Save & restore the array of which registers have already beenJason Molenda
saved/restored across a mid-function epilogue. We ignore repeated push/pops of a register so once we saw one 'pop %rbp', we'd ignore it the second time we saw it. <rdar://problem/19417410> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225853 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-13Extend PipePosix with support for named pipes/timeout-based IO and integrate ↵Oleksiy Vyalov
it with GDBRemoteCommunication / lldb-gdbserver. http://reviews.llvm.org/D6954 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225849 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-13Fixed an issue where if the operating system python plug-in is changed at ↵Greg Clayton
runtime, it wouldn't cause the process to reload the new operating system plug-in, now it does. This is currently controlled by a setting: (lldb) settings set target.process.python-os-plugin-path <path> Or clearing it with: (lldb) settings clear target.process.python-os-plugin-path The process will now reload the OperatingSystem plug-in. This was implemented by: - adding the ability to set a notify callback for when an option value is changed - added the ability for the process plug-in to load the operating system plug-in on the fly - fixed bugs in the Process::GetStatus() so all threads are displayed if their thread IDs are larger than 32 bits - adding a callback in ProcessProperties to tell when the "python-os-plugin-path" is changed by the user - fixing a crasher in ProcessMachCore that happens when updating the thread list when the OS plugin is reloaded git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225831 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-13Enhance the eh_frame unwind instruction augmenter so thatJason Molenda
it will do the right thing on x86 routines with a mid-function epilogue sequence (where the unwind rules need to be reinstalled after the epilogue has completed). <rdar://problem/19417410> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225773 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-13Add an additional check to UnwindAssembly_x86::AugmentUnwindPlanFromCallSite Jason Molenda
which will verify if the eh_frame instructions include details about the prologue or not. Both clang and gcc include prologue instructions but there's no requirement for them to do so -- and I'm sure we'll have to interoperate with a compiler that doesn't generate prologue info at some point. I don't have any compilers that omit the prologue instructions so the testing was of the "makre sure augmented unwind info is still created". With an eh_frame without prologue, this code should reject the augmentation scheme altogether and we should fall back to using assembly instruction profiling. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225771 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-13Change the x86 assembly instruction unwind parser toJason Molenda
step through the complete function looking for any epilogue instructions. If we find an epilogue sequence, re-instate the correct unwind instructions if there is more code past that epilogue -- this will correctly handle an x86 function with multiple epilogues in it. NB there is still a bug with the "eh_frame augmented" UnwindPlans and mid-function epilogues. Looking at that next. <rdar://problem/18863406> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225770 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-13Don't run functionalities/tty under sudo / as root.Jason Molenda
The terminal window will be opened under the ownership of the real userid and it won't be able to open the socket talking back to lldb -- the testsuite will hang here. The same thing probably should be done for lldb when run on a remote system over ssh. I added a line for that but commented it out for now because I haven't tested it. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225748 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-12Fix XCode build on OSX - add OptionValueChar.cppOleksiy Vyalov
http://reviews.llvm.org/D6941 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225733 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-12Add support for character option types.Zachary Turner
This will allow, in a subsequent patch, the addition of a global setting that allows the user to specify a single character that LLDB will recognize as an escape character when processing arg strings to accomodate differences in Windows/non-Windows path handling. Differential Revision: http://reviews.llvm.org/D6887 Reviewed by: Jim Ingham git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225694 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-12More [-Werror,-Winconsistent-missing-override] fixes.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225651 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-11Fix for lldb-platform linking error on OSX/CMakeVince Harron
Tested on Linux and OSX Submitted for Bob Campbell git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225611 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-11Got C++ unit tests running on Linux againVince Harron
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225604 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-10Add RegisterNumber.cpp.Jason Molenda
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225585 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-10Forgot to include RegisterNumber.h in prev commit.Jason Molenda
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225579 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-10Hoist the RegisterNumber class out of RegisterContextLLDB and makeJason Molenda
it more generally available. Add checks to UnwindAssembly_x86::AugmentUnwindPlanFromCallSite() so that it won't try to augment an UnwindPlan that already describes the function epilogue. Add a test case for backtracing out of _sigtramp on Darwin systems. This could probably be adapted to test the same thing on linux/bsd but the function names of sigtramp and kill are probably platform specific and I'm not sure what they should be. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225578 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-10Add C++ breakpoint tests where names are partially specified to ensure we ↵Greg Clayton
don't regress on this again. Top of tree never regressed, but we have internal branches that we constantly merge and we need to make sure we don't regress. <rdar://problem/19429907> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225572 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-10Respect the fact that the result object claims it doesn't want to be ↵Greg Clayton
interactive by not forwarding STDIN to the python invocation when it isn't desired. This fixes an issue of running "script" commands via SBDebugger::HandleCommand(...) and SBCommandInterpreter::HandleCommand(...) deadlocking Xcode. <rdar://problem/18075038> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225567 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-10[TestInferiorAssert] Differentiate DWARF and DSYM tests with suffixes.Siva Chandra
Reviewers: vharron, clayborg Reviewed By: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D6907 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225564 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-09Modify dotest.py to be able to run without an lldb build.Stephane Sezer
Summary: This will ease llgs development a bit by not requiring an lldb/lldb.py build to launch the tests. Also, we can now use LLDB_DEBUGSERVER_PATH to point to a debug server to use to run the tests. I used that to point to a ds2 build and run llgs tests against ds2. Reviewers: clayborg, tfiala, vharron Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D6554 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225549 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-09Fix issues with LLDB's interpreter and MS ABI guard variables.Zachary Turner
MS ABI guard variables end with @4IA, so this patch teaches the interpreter about that. Additionally, there was an issue with TurnGuardLoadIntoZero which was causing some guard uses of a variable to be missed. This fixes that by calling Instruction::replaceAllUsesWith() instead of trying to replicate that function. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225547 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-09Change int32_t to uint32_t to fix warnings.Zachary Turner
Variable was being declared as signed, but treated as unsigned at every point of use. Patch by Dan Sinclair Differential Revision: http://reviews.llvm.org/D6897 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225540 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-09Change auto to size_t to fix warning.Zachary Turner
Patch by Dan Sinclair Differential Revision: http://reviews.llvm.org/D6899 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225539 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-09Make the list of synthetic children thread safeEnrico Granata
I have been seeing a few crashes where LLDB tries to acquire a cached synthetic child by index, and crashes in the ClusterManager obtaining a shared_ptr for that ValueObject That kind of crash most often means that I am holding on to a raw pointer to a ValueObject that was let go from the cluster The main way that could happen is that the synthetic provider is being updated at the same time that some child is being accessed from the previous provider state This fixes the problem by making the children be stored in a thread-safe map Fixes rdar://18627964 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225538 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-09Fixed an issue where you couldn't delete a user defined regex, python, or ↵Greg Clayton
multi-word command by adding a new "command delete" command. This new command will delete user defined regular commands, but not aliases. We still have "command unalias" to remove aliases as they are currently in different buckets. Appropriate error messages are displayed to inform the user when "command unalias" is used on removable user defined commands that points users to the "command delete" command. Added a test to verify we can remove user defined commands and also verify that "command unalias" fails when used on a user defined command. <rdar://problem/18248300> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225535 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-09[InlineTest] getRerunArgs returns an empty string if the test was skipped.Siva Chandra
Summary: The main issue that this patch is trying to address is that the current implementation of getRerunArgs of InlineTest relies on the attribute 'using_dsym' which could be absent if the test was skipped altogether. [That is, if both dsym and dwarf tests were skipped.] While at it, the use of deprecated Python module 'new' is eliminated. Test Plan: [Linux] dotest.py -p TestExprPathSynthetic Reviewers: vharron, clayborg Reviewed By: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D6888 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225496 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-09Dynamic values have been around (and stable and reliable) for long enough ↵Enrico Granata
that we can turn them on by default Change the default of prefer-dynamic-value to eDynamicDontRunTarget (i.e. enable dynamic values, but do not run code to do so) Of course, disable this for the test suite, since testing no-dynamic-values is actually valuable Fixes rdar://17363061 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225486 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-08This patch fixes my think-o in ValueObject::UpdateValueIfNeeded() about the ↵Enrico Granata
right thing to assert() It also comes with a (rudimentary) test case that gets itself in a failed update scenario, and checks that we don't crash This is the easiest case I could think of that forces the failed update case Zachary was seeing git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225463 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-08[LLDB][MIPS] Adding SoftwareBreakpointTrapOpcode and RelocationJumpSlotType ↵Mohit K. Bhakkad
for MIPS Patch by Bhushan Attarde Reviewers: clayborg Reviewed By: clayborg Subscribers: petarj, dsanders, mohit.bhakkad, lldb-commits Differential Revision: http://reviews.llvm.org/D6861 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225436 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-08Have AssemblyParse_x86::get_non_call_site_unwind_plan trackJason Molenda
which registers have been spilled (saved to the stack) - and if we see that same register being saved to the stack again, don't record that, it's something specific to this stack frame. I found a code sequence for i386 where clang did a push %esi and then later in the function it did movl %esi, -0x7c(%ebp) and that second save of a scratch value overrode the original push location. <rdar://problem/19171178> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225431 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-08Rearrange RegisterContextLLDB::SavedLocationForRegister a tiny bitJason Molenda
so that we will use the UnwindPlan's rule for providing the stack pointer BEFORE we use the trick of using the callee's CFA address as the stack pointer. When we're in a _sigtramp frame, the CFA of the _sigtramp stack frame is not the same as the stack pointer value when the async interrupt occurred -- we need to use the eh_frame rules for retrieving the correct value. <rdar://problem/18913548> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225427 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-08Added documentation for test timeoutVince Harron
Differential Revision: http://reviews.llvm.org/D6669 Submitted for Chaoren Lin git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225425 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-08Fix a problem where a ValueObject could fail to update itself, but since it ↵Enrico Granata
was previously valid, we'd have an old checksum to compare aginst no new checksum (because failure to update), and assert() and die. Fix the problem by only caring about this assertion logic if updates succeed git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225418 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-07Fix inlined test cases so they print out the correct command to run when ↵Greg Clayton
they fail instead of printing out incorrect information. To fix this I added a new method to TestBase: def getRerunArgs(self): return " -f %s.%s" % (self.__class__.__name__, self._testMethodName) The InlineTest which inherits from TestBase then overrides this function with a custom version which does the right thing. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225407 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-07lldb-platform - static link all llvm dependenciesVince Harron
Differential Revision: http://reviews.llvm.org/D6797 lldb-gdbserver statically links all llvm dependencies. This allows dead stripping code and reduces total binary size. This change modifies lldb-plaform to static link llvm dependencies like lldb-gdbserver. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225398 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-07Make DynamicLoaderPOSIXDYLD::DidAttach to deduce a target executable by pid ↵Oleksiy Vyalov
if no executable hasn't been assigned to a target so far. http://reviews.llvm.org/D6740 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225332 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-06Adds UriParser::Parse and unit testsVince Harron
This can be used to parse URIs passed to 'platform connect' Differential Revision: http://reviews.llvm.org/D6858 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225317 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-06Fix needed for the new terminal test I previously checked in. It was ↵Greg Clayton
crashing due to a NULL dereference. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225316 91177308-0d34-0410-b5e6-96231b3b80d8