|
Revision tags: llvmorg-3.6.0, llvmorg-3.6.0-rc4, llvmorg-3.6.0-rc3 |
|
| #
560558eb |
| 11-Feb-2015 |
Enrico Granata <[email protected]> |
Introduce the notion of "runtime support values"
A runtime support value is a ValueObject whose only purpose is to support some language runtime's operation, but it does not directly provide any use
Introduce the notion of "runtime support values"
A runtime support value is a ValueObject whose only purpose is to support some language runtime's operation, but it does not directly provide any user-visible benefit As such, unless the user is working on the runtime support, it is mostly safe for them not to see such a value when debugging
It is a language runtime's job to check whether a ValueObject is a support value, and that - in conjunction with a target setting - is used by frame variable and target variable SBFrame::GetVariables gets a new overload with yet another flag to dictate whether to return those support values to the caller - that which defaults to the setting's value
rdar://problem/15539930
llvm-svn: 228791
show more ...
|
|
Revision tags: llvmorg-3.6.0-rc2 |
|
| #
d26a1e50 |
| 28-Jan-2015 |
Greg Clayton <[email protected]> |
Fixed the failing test:
./dotest.py -A x86_64 -C clang -v -t -f TestImageListMultiArchitecture.test_image_list_shows_multiple_architectures
The problem was that if the platform wasn't compatible w
Fixed the failing test:
./dotest.py -A x86_64 -C clang -v -t -f TestImageListMultiArchitecture.test_image_list_shows_multiple_architectures
The problem was that if the platform wasn't compatible with the current file in the "target create" command, it wasn't finding a platform that was like it used to.
Also, the currently selected platform was being used upload the file _before_ the target was created which was incorrect as "target create a.out" might switch platforms if its architecture doesn't match, so I moved the uploading to happen after the target was created so we use the right platform (the one in the target, not the selected one).
llvm-svn: 227380
show more ...
|
| #
1b5a74ee |
| 21-Jan-2015 |
Vince Harron <[email protected]> |
This patch gets remote-linux platform able to run processes
Make sure the selected platform is always used
Make sure that the host uses the connect://hostname to connect to both the lldb-platform a
This patch gets remote-linux platform able to run processes
Make sure the selected platform is always used
Make sure that the host uses the connect://hostname to connect to both the lldb-platform and the lldb-gdbserver rather than what the platform reports as the hostname of the lldb-gdbserver
Make sure that lldb-platform uses the IP address on it's connection back to the host instead of the hostname that the host sends to it when launching lldb-gdbserver with the remote host information
Tested on OSX and Linux
llvm-svn: 226712
show more ...
|
| #
65e0642d |
| 20-Jan-2015 |
Jason Molenda <[email protected]> |
Don't mention a "--core-file" argument to target create. It is "--core".
<rdar://problem/19518164>
llvm-svn: 226543
|
| #
5275aaa0 |
| 15-Jan-2015 |
Vince Harron <[email protected]> |
Moved Args::StringToXIntYZ to StringConvert::ToXIntYZ
The refactor was motivated by some comments that Greg made http://reviews.llvm.org/D6918
and also to break a dependency cascade that caused fun
Moved Args::StringToXIntYZ to StringConvert::ToXIntYZ
The refactor was motivated by some comments that Greg made http://reviews.llvm.org/D6918
and also to break a dependency cascade that caused functions linking in string->int conversion functions to pull in most of lldb
llvm-svn: 226199
show more ...
|
|
Revision tags: llvmorg-3.6.0-rc1 |
|
| #
2501e5e2 |
| 15-Jan-2015 |
Greg Clayton <[email protected]> |
Modified LLDB to be able to lookup global variables by address.
This is done by adding a "Variable *" to SymbolContext and allowing SymbolFile::ResolveSymbolContext() so if an address is resolved in
Modified LLDB to be able to lookup global variables by address.
This is done by adding a "Variable *" to SymbolContext and allowing SymbolFile::ResolveSymbolContext() so if an address is resolved into a symbol context, we can include the global or static variable for that address.
This means you can now find global variables that are merged globals when doing a "image lookup --verbose --address 0x1230000". Previously we would resolve a symbol and show "_MergedGlobals123 + 1234". But now we can show the global variable name.
The eSymbolContextEverything purposely does not include the new eSymbolContextVariable in its lookup since stack frame code does many lookups and we don't want it triggering the global variable lookups.
<rdar://problem/18945678>
llvm-svn: 226084
show more ...
|
| #
34549b8f |
| 13-Jan-2015 |
Jason Molenda <[email protected]> |
Change the x86 assembly instruction unwind parser to step through the complete function looking for any epilogue instructions. If we find an epilogue sequence, re-instate the correct unwind instruct
Change the x86 assembly instruction unwind parser to 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>
llvm-svn: 225770
show more ...
|
|
Revision tags: llvmorg-3.5.1, llvmorg-3.5.1-rc2, llvmorg-3.5.1-rc1 |
|
| #
e589e7e3 |
| 08-Dec-2014 |
Jason Molenda <[email protected]> |
The lldb unwinder can now use the unwind information from the compact-unwind section for x86_64 and i386 targets on Darwin systems. Currently only the compact unwind encoding for normal frame-using
The lldb unwinder can now use the unwind information from the compact-unwind section for x86_64 and i386 targets on Darwin systems. Currently only the compact unwind encoding for normal frame-using functions is supported but it will be easy handle frameless functions when I have a bit more free time to test it. The LSDA and personality routines for functions are also retrieved correctly for functions from the compact unwind section.
This new code is very fresh -- it passes the lldb testsuite and I've done by-hand inspection of many functions and am getting correct behavior for all of them. There may need to be some bug fixing over the next couple weeks as I exercise and test it further. But I think it's fine right now so I'm committing it.
<rdar://problem/13220837>
llvm-svn: 223625
show more ...
|
| #
893c932a |
| 22-Nov-2014 |
Jim Ingham <[email protected]> |
This is the first step of making lldb able to create target-specific things (e.g. breakpoints, stop-hooks) before we have any targets - for instance in your ~/.lldbinit file. These will then get co
This is the first step of making lldb able to create target-specific things (e.g. breakpoints, stop-hooks) before we have any targets - for instance in your ~/.lldbinit file. These will then get copied over to any new targets that get created. So far, you can only make stop-hooks.
Breakpoints will have to learn to move themselves from target to target for us to get them from no-target to new-target.
We should also make a command & SB API way to prime this ur-target.
llvm-svn: 222600
show more ...
|
| #
c6127dd6 |
| 21-Nov-2014 |
Jason Molenda <[email protected]> |
Change CommandObjectTargetModulesLoad so that the filename argument is treated as a string instead of a FileSpec.
OptionValueFileSpec::SetValueFromCString() passes the c string to FileSpec::SetFile(
Change CommandObjectTargetModulesLoad so that the filename argument is treated as a string instead of a FileSpec.
OptionValueFileSpec::SetValueFromCString() passes the c string to FileSpec::SetFile(str, true /* resolve */) - and with Zachary's changes to FileSpec we're using llvm::sys::fs::make_absolute() to do that "resolve" action now, where we used to use realpath().
One important difference between llvm::sys::fs::make_absolute and realpath is that when they're handed a filename (no directory), realpath prepends the current working directory *and if the file exists*, returns that full path. If that file doesn't exist, the caller uses the basename only.
llvm::sys::fs::make_absolute prepends the current working directory regardless of whether it exists or not.
I considered having FileSpec::SetFile save the initial pathname, call FileSpec::Resolve, and then check to see if the Resolve return path exists - and if not, go back to the original one.
But instead I just went with changing 'target modules load' to treat its filename argument as a string instead of a FileSpec. This brings it in line with how 'target modules list' works.
<rdar://problem/18955416>
llvm-svn: 222498
show more ...
|
|
Revision tags: llvmorg-3.5.0 |
|
| #
352237db |
| 29-Aug-2014 |
Todd Fiala <[email protected]> |
lldb - fix misleading "valid target indexes are" error message
See http://reviews.llvm.org/D4430 for more details.
Change by Paul Osmialowski.
llvm-svn: 216766
|
|
Revision tags: llvmorg-3.5.0-rc4 |
|
| #
0562524b |
| 25-Aug-2014 |
Todd Fiala <[email protected]> |
On x86 & x86_64, try to use eh_frame for frame 0.
We decided to use assmbly profiler instead of eh_frame for frame 0 because for compiler generated code, eh_frame is usually synchronous(a.k.a. only
On x86 & x86_64, try to use eh_frame for frame 0.
We decided to use assmbly profiler instead of eh_frame for frame 0 because for compiler generated code, eh_frame is usually synchronous(a.k.a. only valid at call site); and we have no way to tell if it's asynchronous or not. But for x86 & x86_64 compiler generated code: 1. clang & GCC describes all prologue instructions in eh_frame; 2. mid-function stack pointer altering instructions can be easily detected. So we can grab eh_frame, and use assembly profiler to augment it into asynchronous unwind table. This change also benefits hand-written assembly; eh_frame for hand-written assembly is often asynchronous,so we have a much better chance to successfully unwind through them.
Change by Tong Shen.
llvm-svn: 216406
show more ...
|
|
Revision tags: llvmorg-3.5.0-rc3 |
|
| #
5acc1255 |
| 15-Aug-2014 |
Greg Clayton <[email protected]> |
Don't crash when specifying a core file that isn't readable.
Fixes include: 1 - added new FileSpec method: bool FileSpec::Readable() 2 - detect when an executable is not readable and give an appropr
Don't crash when specifying a core file that isn't readable.
Fixes include: 1 - added new FileSpec method: bool FileSpec::Readable() 2 - detect when an executable is not readable and give an appropriate error for: (lldb) file /tmp/unreadablefile 3 - detect when a core file is not readable and give an appropriate error 4 - detect when a specified core file doesn't exist and give an appropriate error <rdar://problem/17727734>
llvm-svn: 215741
show more ...
|
|
Revision tags: llvmorg-3.5.0-rc2, llvmorg-3.5.0-rc1 |
|
| #
d37221dc |
| 09-Jul-2014 |
Zachary Turner <[email protected]> |
Revert "Fix broken tests due to new error output."
This reverts commit ec7c94f8e6860968d384b578e5564a9c55c80b4a and re-enables OptionValidators.
llvm-svn: 212627
|
| #
9734280f |
| 08-Jul-2014 |
Todd Fiala <[email protected]> |
Fix broken tests due to new error output.
This reverses out the options validators changes. We'll get these back in once the changes to the output can be resolved.
Restores broken tests on FreeBSD
Fix broken tests due to new error output.
This reverses out the options validators changes. We'll get these back in once the changes to the output can be resolved.
Restores broken tests on FreeBSD, Linux, MacOSX.
Changes reverted: r212500, r212317, r212290.
llvm-svn: 212543
show more ...
|
| #
de963e9a |
| 03-Jul-2014 |
Zachary Turner <[email protected]> |
Adds the notion of an OptionValidator.
The purpose of the OptionValidator is to determine, based on some arbitrary set of conditions, whether or not a command option is valid for a given debugger st
Adds the notion of an OptionValidator.
The purpose of the OptionValidator is to determine, based on some arbitrary set of conditions, whether or not a command option is valid for a given debugger state. An example of this might be to selectively disable or enable certain command options that don't apply to a particular platform.
This patch contains no functional change, and does not actually make use of an OptionValidator for any purpose yet. A follow-up patch will begin to add the logic and users of OptionValidator.
Reviewed by: Greg Clayton, Jim Ingham
Differential Revision: http://reviews.llvm.org/D4369
llvm-svn: 212290
show more ...
|
|
Revision tags: llvmorg-3.4.2, llvmorg-3.4.2-rc1 |
|
| #
c3d874a5 |
| 08-May-2014 |
Greg Clayton <[email protected]> |
lldb TOT is dropping the last entry for multi-line IOHandlers that use the IOHandlerDelegateMultiline.
<rdar://problem/16844164>
llvm-svn: 208336
|
| #
f29bf9a1 |
| 02-May-2014 |
Greg Clayton <[email protected]> |
"DONE" is being left in multi-line results when it shouldn't for non terminal input.
<rdar://problem/16790579>
llvm-svn: 207818
|
|
Revision tags: llvmorg-3.4.1, llvmorg-3.4.1-rc2, llvmorg-3.4.1-rc1 |
|
| #
324a1036 |
| 04-Apr-2014 |
Saleem Abdulrasool <[email protected]> |
sweep up -Wformat warnings from gcc
This is a purely mechanical change explicitly casting any parameters for printf style conversion. This cleans up the warnings emitted by gcc 4.8 on Linux.
llvm-
sweep up -Wformat warnings from gcc
This is a purely mechanical change explicitly casting any parameters for printf style conversion. This cleans up the warnings emitted by gcc 4.8 on Linux.
llvm-svn: 205607
show more ...
|
| #
62e5f4de |
| 22-Mar-2014 |
Arnaud A. de Grandmaison <[email protected]> |
Cleanup some dead assignements reported by scan-build
No functionnal change.
llvm-svn: 204545
|
| #
44edda0a |
| 18-Mar-2014 |
Saleem Abdulrasool <[email protected]> |
create constants for multichar constants
Multichar constants are not portable as the byte order is undefined. Use a constant value instead. This avoids a warning when compiling with gcc 4.8+ (-Wmu
create constants for multichar constants
Multichar constants are not portable as the byte order is undefined. Use a constant value instead. This avoids a warning when compiling with gcc 4.8+ (-Wmultichar) and makes the code more portable.
llvm-svn: 204110
show more ...
|
| #
6fea17e8 |
| 03-Mar-2014 |
Greg Clayton <[email protected]> |
"size_t" isn't always 64 bit, it is 32 bit on 32 bit systems. All printf style statements that were assuming size_t were 64 bit were changed, and they were also changed to display them as unsigned va
"size_t" isn't always 64 bit, it is 32 bit on 32 bit systems. All printf style statements that were assuming size_t were 64 bit were changed, and they were also changed to display them as unsigned values as "size_t" isn't signed.
If you print anything with 'size_t', please cast it to "uint64_t" in the printf and use PRIu64 or PRIx64.
llvm-svn: 202738
show more ...
|
| #
99fbc076 |
| 03-Mar-2014 |
Deepak Panickal <[email protected]> |
Fix Windows build using portable types for formatting the log outputs
llvm-svn: 202723
|
| #
751caf65 |
| 07-Feb-2014 |
Greg Clayton <[email protected]> |
Modified ObjectFile::SetLoadAddress() to now be:
ObjectFile::SetLoadAddress (Target &target, lldb::addr_t value, bool value_is_offset);
Now "
Modified ObjectFile::SetLoadAddress() to now be:
ObjectFile::SetLoadAddress (Target &target, lldb::addr_t value, bool value_is_offset);
Now "value" is a slide if "value_is_offset" is true, and "value" is an image base address otherwise. All previous usage of this API was using slides.
Updated the ObjectFileELF and ObjectFileMachO SetLoadAddress methods to do the right thing.
Also updated the ObjectFileMachO::SetLoadAddress() function to not load __LINKEDIT when it isn't needed and to only load sections that belong to the executable object file.
llvm-svn: 201003
show more ...
|
| #
44d93782 |
| 27-Jan-2014 |
Greg Clayton <[email protected]> |
Merging the iohandler branch back into main.
The many many benefits include: 1 - Input/Output/Error streams are now handled as real streams not a push style input 2 - auto completion in python embe
Merging the iohandler branch back into main.
The many many benefits include: 1 - Input/Output/Error streams are now handled as real streams not a push style input 2 - auto completion in python embedded interpreter 3 - multi-line input for "script" and "expression" commands now allow you to edit previous/next lines using up and down arrow keys and this makes multi-line input actually a viable thing to use 4 - it is now possible to use curses to drive LLDB (please try the "gui" command)
We will need to deal with and fix any buildbot failures and tests and arise now that input/output and error are correctly hooked up in all cases.
llvm-svn: 200263
show more ...
|