| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 183580
|
| |
|
|
| |
llvm-svn: 183578
|
| |
|
|
|
|
|
|
|
|
| |
previous failure was
EINTR. That means the user was trying to interrupt us, and we should just stop instead.
<rdar://problem/13184758>
llvm-svn: 183577
|
| |
|
|
| |
llvm-svn: 183569
|
| |
|
|
|
|
|
|
|
|
|
| |
multi-threaded support.
Reworked the download information on lldb.llvm.org:
- svn copy of download.html to source.html with information on source-code access
- new download.html with links to download nightly builds and Debian releases
- updated the sidebar to reflect these changes
llvm-svn: 183547
|
| |
|
|
|
|
|
|
| |
pass -stdlib=libstdc++ to clang when compiling as well as when linking
Not doing this was causing link errors as clang was looking for libc++ symbols while linking against libstdc++
llvm-svn: 183482
|
| |
|
|
| |
llvm-svn: 183480
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
CompUnit
level. Fixes a bug in "break set --source-pattern-regexp" when a shared library is
specified.
Also cleaned up the help text for --source-pattern-regexp so it is a little clearer.
<rdar://problem/14084261>
llvm-svn: 183476
|
| |
|
|
|
|
| |
lldb doesn't autocomplete objective C class methods. The regular expression was looking for strings that started with the completion string that was passed in. For objective C class methods, this string starts with "+" which wasn't being escaped. Added many other escapes that were missing just in case.
llvm-svn: 183470
|
| |
|
|
| |
llvm-svn: 183469
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
is passed into debugserver.
you can now specify:
debugserver host:port
debugserver port
debugserver /path/to/file
When "host" is specified, we will only accept connections from that host. If host is not specified, we default to "localhost".
llvm-svn: 183457
|
| |
|
|
|
|
| |
Making sure that if you invoke LLDB as lldb ./someBinary you can then launch the inferior with process launch —tty
llvm-svn: 183453
|
| |
|
|
|
|
|
|
| |
little slow. So in Address::operator== & != do the
cheap GetOffset() comparison first and only compare the sections if that is true.
llvm-svn: 183452
|
| |
|
|
|
|
|
|
| |
reading non-standard value sizes.
<rdar://problem/14081292>
llvm-svn: 183448
|
| |
|
|
|
|
|
|
|
|
|
| |
condition in two different processes (with the
same target) could cause crashes. Now the breakpoint
condition is always evaluated (and possibly parsed)
by one thread at a time.
<rdar://problem/14083737>
llvm-svn: 183440
|
| |
|
|
|
|
|
|
|
|
|
|
| |
that is patterned after its parent TestInferiorCrashing.py.
- The xfail decorator limits the xfail to tool-chains that support this compiler option.
- Included a TODO concerning the platform-specific behavior when 'next' is issued after a crash.
- Toggling -fomit-frame-pointer results in an xpass as mentioned in pr15415.
Thanks to Daniel for the review, and Samuel for the bug report and reproducer.
llvm-svn: 183434
|
| |
|
|
|
|
|
|
|
| |
handle sub-strings.
- For instance, allows 'gcc' to match x86-64-linux-gnu-gcc as required on some Debian builds.
- Also adds doc-strings and a more consistent naming convention for related helpers.
llvm-svn: 183415
|
| |
|
|
|
|
| |
Fixing a test case to correctly check that the class name has changed instead of relying on GetValueDidChange()
llvm-svn: 183364
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Implemented the SExt instruction, and
- eliminated redundant codepaths for constant
handling.
Added test cases.
<rdar://problem/13244258>
<rdar://problem/13955820>
llvm-svn: 183344
|
| |
|
|
|
|
|
|
|
| |
- one test case is due to llvm.org/pr16229
- other test case uses a Linux workaround for above by using os.fork() instead of subprocess module
Patch by Andy Kaylor!
llvm-svn: 183340
|
| |
|
|
|
|
| |
- specify compiler flag -stdlib=libstdc++ only if using clang (not supported in gcc)
llvm-svn: 183333
|
| |
|
|
|
|
|
| |
Adding data formatters for std::set, std::multiset and std::multimap for libc++
The underlying data structure is the same as std::map, so this change is very minimal and mostly consists of test cases
llvm-svn: 183323
|
| |
|
|
| |
llvm-svn: 183316
|
| |
|
|
|
|
|
|
|
|
|
|
| |
register context.
- Ensures that this container is populated once for the lifetime of lldb
--- In particular, static methods can query this data even after the first RegisterContext has been destroyed.
- Uses a singleton function to avoid global constructors.
Thanks to Greg Clayton for the suggestion!
llvm-svn: 183313
|
| |
|
|
|
|
| |
Print the lldb version at the top of the output.
llvm-svn: 183289
|
| |
|
|
|
|
|
|
|
|
| |
the link register save location being in the link register - in which case we
should iterate down the stack, not recursively try to find the lr in the current
frame over and over.
<rdar://problem/13932954>
llvm-svn: 183282
|
| |
|
|
| |
llvm-svn: 183281
|
| |
|
|
|
|
|
|
| |
added.
<rdar://problem/14054840>
llvm-svn: 183277
|
| |
|
|
|
|
|
|
| |
Two things:
1) fixing a bug where memory read was not clearing the m_force flag after it was passed, so that subsequent memory reads would not need to be forced even if over boundary
2) adding a setting target.max-memory-read-size that you can set instead of the hardcoded 1024 bytes limit we had before
llvm-svn: 183276
|
| |
|
|
|
|
|
|
|
|
| |
If you want to define a formatter for "array of Foo of any size", ordinarily you would say
-x "Foo \[[0-9]+\]"
this checkin allows you to instead say "Foo[]" (or "Foo []") and LLDB will automatically create the regular expression and add the -x flag on your behalf
llvm-svn: 183272
|
| |
|
|
|
|
| |
Formatters for unsigned char* and const variant
llvm-svn: 183254
|
| |
|
|
|
|
| |
LC_THREAD load commands.
llvm-svn: 183253
|
| |
|
|
| |
llvm-svn: 183252
|
| |
|
|
| |
llvm-svn: 183250
|
| |
|
|
|
|
| |
Accept mach-o files with bad segments. Many core files are not created correctly and we should still be able to glean any information we can from them.
llvm-svn: 183247
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LLDB API versioning
This checkin makes the LLDB API versioned
We are starting at version 1.0 and will then revise and update the API from there
Further details:
API versioning
---------------------------------
The LLDB API is versioned independently of the LLDB source base
Our API version numbers are composed of a major and a minor number
The major number means a complete and stable revision of the API. Major numbers are compatibility breakers
(i.e. when we change the API major number, there is no promise of compatibility with the previous major version
and we are free to remove and/or change any APIs)
Minor numbers are a work-in-progress evolution of the API. APIs will not be removed or changed across minor versions
(minors do not break compatibility). However, we can deprecate APIs in minor versions or add new APIs in minor versions
A deprecated API is supposedly going to be removed in the next major version and will generate a warning if used
APIs we add in minor versions will not be removed (at least until the following major) but they might theoretically be deprecated
in a following minor version
Users are discouraged from using the LLDB version number to test for API features and should instead use the API version checking
as discussed below
API version checking
---------------------------------
You can (optionally) sign into an API version checking feature
To do so you need to define three macros:
LLDB_API_CHECK_VERSIONING - define to any value (or no value)
LLDB_API_MAJOR_VERSION_WANTED - which major version of the LLDB API you are targeting
LLDB_API_MINOR_VERSION_WANTED - which minor version of the LLDB API you are targeting
If these macros exist - LLDB will enable version checking of the public API
If LLDB_API_MAJOR_VERSION is not equal to LLDB_API_MAJOR_VERSION_WANTED we will immediately halt your compilation with an error
This is by design, since we do not make any promise of compatibility across major versions - if you really want to test your luck, disable the versioning altogether
If the major version test passes, you have signed up for a specific minor version of the API
Whenever we add or deprecate an API in a minor version, we will mark it with either
LLDB_API_NEW_IN_DOT_x - this API is new in LLDB .x
LLDB_API_DEPRECATED_IN_DOT_x - this API is deprecated as of .x
If you are using an API new in DOT_x
if LLDB_API_MINOR_VERSION_WANTED >= x then all is well, else you will get a compilation error
This is meant to prevent you from using APIs that are newer than whatever LLDB you want to target
If you are using an API deprecated in DOT_x
if LLDB_API_MINOR_VERSION_WANTED >= x then you will get a compilation warning, else all is well
This is meant to let you know that you are using an API that is deprecated and might go away
Caveats
---------------------------------
Version checking only works on clang on OSX - you will get an error if you try to enable it on any other OS/compiler
If you want to enable version checking on other platforms, you will need to define appropriate implementations for
LLDB_API_IMPL_DEPRECATED and LLDB_API_IMPL_TOONEW and any other infrastructure your compiler needs for this purpose
We have no deprecation-as-error mode
There is no support for API versioning in Python
We reserve to use macros whose names begin with LLDB_API_ and you should not use them in your source code as they might conflict
with present or future macro names we are using to implement versioning
For API implementors:
If you need to add a new public API call, please remember to add the LLDB_API_NEW_IN_DOT_x marker in the header file
and when you are done with adding stuff, to also update LLDB_API_MINOR_VERSION
If you want to remove a function, deprecate it first, by using LLDB_API_DEPRECATED_IN_DOT_x
and when you are done with deprecating stuff, to also update LLDB_API_MINOR_VERSION
A new major version (LLDB_API_MAJOR_VERSION++) is your only chance to remove and/or change API calls
but is probably quite a big deal and you might want to consider deprecating the existing calls for a while
before doing your changes
A couple more caveats:
Currently, the lldb-tool does NOT use the version checking feature. It would be a nice future improvement to make it do that, once we have proper version checking on other OSs
APIs marked as deprecated by a comment in the source are still deprecated just that way. A good purpose for API 1.1 might be to deprecate them with appropriate markers
llvm-svn: 183244
|
| |
|
|
|
|
|
|
|
| |
- link libexecinfo (as libc is missing backtrace())
- enable FreeBSD-specific plugins
Patch by Ed Maste!
llvm-svn: 183233
|
| |
|
|
|
|
|
|
|
|
| |
just return the current PrivateStopInfo.
Also renamed a few more places where we were using StopReason in functions that were returning StopInfo's.
<rdar://problem/14042692>
llvm-svn: 183177
|
| |
|
|
|
|
|
| |
- adding workaround recommended by Greg (-fno-limit-debug-info clang flag)
- filed bug llvm.org/pr16214 against Clang
llvm-svn: 183156
|
| |
|
|
|
|
|
|
|
| |
- ConstantDataArray is not a valid MDNode operand
- encode function-name strings in metadata by wrapping in an MDString instead
- should resolve reported by http://llvm-jenkins.debian.net/job/llvm-toolchain-quantal-binaries/architecture=amd64,distribution=quantal/173/
llvm-svn: 183153
|
| |
|
|
| |
llvm-svn: 183150
|
| |
|
|
| |
llvm-svn: 183145
|
| |
|
|
| |
llvm-svn: 183140
|
| |
|
|
| |
llvm-svn: 183139
|
| |
|
|
|
|
| |
Thanks to Daniel and valgrind.
llvm-svn: 183110
|
| |
|
|
| |
llvm-svn: 183109
|
| |
|
|
| |
llvm-svn: 183058
|
| |
|
|
|
|
| |
All running threads will be detected and stopped on attach and all threads get resumed on detach.
llvm-svn: 183049
|
| |
|
|
|
|
| |
- should resolve remaining buildbot issues with debian/clang builder
llvm-svn: 183044
|
| |
|
|
|
|
| |
- as per review comment from Dimitry Andric!
llvm-svn: 183039
|