Age | Commit message (Collapse) | Author |
|
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
|
|
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
|
|
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
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
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
|
|
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
|
|
------------------------------------------------------------------------
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
|
|
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
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
git-svn-id: https://llvm.org/svn/llvm-project/lldb/branches/release_36@226000 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
http://reviews.llvm.org/D6941
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225733 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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
|
|
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225651 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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
|
|
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225604 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225585 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225579 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
crashing due to a NULL dereference.
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@225316 91177308-0d34-0410-b5e6-96231b3b80d8
|