| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fix addresses a requirement on some Linux kernels that limits
a PTRACER to be an ancestor of the ptraced process. The fix in this
case is to have the inferior test exe explicitly allow any ptracer
to attach.
This fixes several ptrace-related issues that I did not see on a modified
kernel we used internally on my team.
See http://reviews.llvm.org/D5846 for details.
This fixes these previously failing tests on stock Ubuntu systems:
FAIL: LLDB (suite) :: TestGdbRemoteProcessInfo.py (Linux vagrant 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64)
FAIL: LLDB (suite) :: TestGdbRemoteAttach.py (Linux vagrant 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64)
FAIL: LLDB (suite) :: TestLldbGdbServer.py (Linux vagrant 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64)
FAIL: LLDB (suite) :: TestGdbRemoteKill.py (Linux vagrant 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64)
llvm-svn: 220181
|
|
|
|
|
|
|
|
| |
Issues were:
1 - It isn't good to have more than one listener for the process events, just supply a listener at launch instead of making a one then have the process broadcaster add a new listener
2 - run in async mode
llvm-svn: 220113
|
|
|
|
|
|
| |
lldbinline will fail
llvm-svn: 220095
|
|
|
|
|
|
|
|
|
| |
GetValueForVariableExpressionPath returns NULL and
doesn't set an error.
<rdar://problem/18682916>
llvm-svn: 220070
|
|
|
|
|
|
| |
This used to be optional, but that makes it harder to track what tests are failing for what reason. So, make it mandatory, in the form of refusing to run the test suite if annotations are missing
llvm-svn: 220012
|
|
|
|
| |
llvm-svn: 220011
|
|
|
|
| |
llvm-svn: 220003
|
|
|
|
|
|
|
| |
the inline test cases. This makes them much
more readable.
llvm-svn: 220001
|
|
|
|
| |
llvm-svn: 219986
|
|
|
|
| |
llvm-svn: 219985
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
case. This test case style attempts to shed all
of the boilerplate that is required for test
cases, and let 80% of test cases use a much terser
syntax.
Inline testcases have much simplified python files
(the corresponding .py file should contain two
lines of code) and require no Makefile, because the
Makefile is generated automatically. Breakpoints
are set automatically and the indicated breakpoint
actions (specified after a magic //% comment) are
executed when the breakpoint is hit.
All other testcases are unaffected.
One thing I'm not really happy with yet is the way
multiple actions for the same line are specified.
I'm going to use lang/c/struct_types as a guinea
pig to develop this further.
llvm-svn: 219984
|
|
|
|
|
|
| |
this test in any way. Use another, randomly chosen, number to make the test pass again and provide useful actionable feedback about things that truly matter
llvm-svn: 219982
|
|
|
|
| |
llvm-svn: 219981
|
|
|
|
| |
llvm-svn: 219980
|
|
|
|
| |
llvm-svn: 219979
|
|
|
|
|
|
| |
output which wasn't occurring
llvm-svn: 219978
|
|
|
|
| |
llvm-svn: 219973
|
|
|
|
| |
llvm-svn: 219972
|
|
|
|
| |
llvm-svn: 219971
|
|
|
|
| |
llvm-svn: 219970
|
|
|
|
|
|
| |
changes
llvm-svn: 219828
|
|
|
|
| |
llvm-svn: 219730
|
|
|
|
|
|
|
|
|
|
| |
The main issue was if you didn't specify all three (stdin/out/err), you would get file actions added to the launch that would always use the pseudo terminal. This is now fixed.
Also fixed the test suite test that handles IO to test redirecting things individually and all together and in other combinations to make sure we don't regress.
<rdar://problem/18638226>
llvm-svn: 219711
|
|
|
|
|
|
|
|
|
|
| |
The build fails due to missing asan runtime in the FreeBSD base system.
Instead of marking it expected fail, just skip until we have the runtime
available.
llvm.org/pr21136
llvm-svn: 219701
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This addresses this bug:
http://www.llvm.org/bugs/show_bug.cgi?id=21267
Which has been broken since svn r215256 on Aug 8 2014.
DO NOT REVERT THIS COMMIT EVEN IF IT CREATES TEST FAILURES.
The test failures are a result of accumulation of hidden failures
that were masked by the bug this change fixes. Most of our test
runners as part of build testing rely on dotest.py returning non-zero to indicate
some kind of errant test run. Thus, we have been flying blind
since Aug 8 2014.
llvm-svn: 219689
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
report data extraction
Reviewed at http://reviews.llvm.org/D5592
This patch gives LLDB some ability to interact with AddressSanitizer runtime library, on top of what we already have (historical memory stack traces provided by ASan). Namely, that's the ability to stop on an error caught by ASan, and access the report information that are associated with it. The report information is also exposed into SB API.
More precisely this patch...
adds a new plugin type, InstrumentationRuntime, which should serve as a generic superclass for other instrumentation runtime libraries, these plugins get notified when modules are loaded, so they get a chance to "activate" when a specific dynamic library is loaded
an instance of this plugin type, AddressSanitizerRuntime, which activates itself when it sees the ASan dynamic library or founds ASan statically linked in the executable
adds a collection of these plugins into the Process class
AddressSanitizerRuntime sets an internal breakpoint on __asan::AsanDie(), and when this breakpoint gets hit, it retrieves the report information from ASan
this breakpoint is then exposed as a new StopReason, eStopReasonInstrumentation, with a new StopInfo subclass, InstrumentationRuntimeStopInfo
the StopInfo superclass is extended with a m_extended_info field (it's a StructuredData::ObjectSP), that can hold arbitrary JSON-like data, which is the way the new plugin provides the report data
the "thread info" command now accepts a "-s" flag that prints out the JSON data of a stop reason (same way the "-j" flag works now)
SBThread has a new API, GetStopReasonExtendedInfoAsJSON, which dumps the JSON string into a SBStream
adds a test case for all of this
I plan to also get rid of the original ASan plugin (memory history stack traces) and use an instance of AddressSanitizerRuntime for that purpose.
Kuba
llvm-svn: 219546
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
output style can be customized. Change the built-in default to be
more similar to gdb's disassembly formatting.
The disassembly-format for a gdb-like output is
${addr-file-or-load} <${function.name-without-args}${function.concrete-only-addr-offset-no-padding}>:
The disassembly-format for the lldb style output is
{${function.initial-function}{${module.file.basename}`}{${function.name-without-args}}:\n}{${function.changed}\n{${module.file.basename}`}{${function.name-without-args}}:\n}{${current-pc-arrow} }{${addr-file-or-load}}:
The two backticks in the lldb style formatter triggers the sub-expression evaluation in
CommandInterpreter::PreprocessCommand() so you can't use that one as-is ... changing to
use ' characters instead of ` would work around that.
<rdar://problem/9885398>
llvm-svn: 219544
|
|
|
|
|
|
| |
to generate a value for itself, that's not a disqualifier from one-line printing. Also, fetch synthetic values if available and requested for children as well while printing them
llvm-svn: 219427
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GetValueAsUnsigned(), GetValueAsCString() would return)
The way to do this is to write a synthetic child provider for your type, and have it vend the (optional) get_value function.
If get_value is defined, and it returns a valid SBValue, that SBValue's value (as in lldb_private::Value) will be used as the synthetic ValueObject's Value
The rationale for doing things this way is twofold:
- there are many possible ways to define a "value" (SBData, a Python number, ...) but SBValue seems general enough as a thing that stores a "value", so we just trade values that way and that keeps our currency trivial
- we could introduce a new level of layering (ValueObjectSyntheticValue), a new kind of formatter (synthetic value producer), but that would complicate the model (can I have a dynamic with no synthetic children but synthetic value? synthetic value with synthetic children but no dynamic?), and I really couldn't see much benefit to be reaped from this added complexity in the matrix
On the other hand, just defining a synthetic child provider with a get_value but returning no actual children is easy enough that it's not a significant road-block to adoption of this feature
Comes with a test case
llvm-svn: 219330
|
|
|
|
|
|
| |
llvm.org/pr21211
llvm-svn: 219329
|
|
|
|
|
|
|
|
|
|
| |
The build fails due to missing asan runtime in the FreeBSD base system.
Instead of marking it expected fail, just skip until we have the runtime
available.
llvm.org/pr21136
llvm-svn: 219328
|
|
|
|
|
|
|
|
|
|
|
|
| |
the default search method is "always" as of r218405.
For the purposes of this test, set it back to "headers"
to confirm that the file+line breakpoint doesn't work,
then verify that it does work with "always". Leave it
in "always" setting.
<rdar://problem/18564244>
llvm-svn: 219251
|
|
|
|
|
|
| |
The failure and the bug are entirely unrelated, and it's trivial to write a repro case for that bug anyway, so no need to use this complicated test case
llvm-svn: 219248
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that the function we were calling would continue to sleep
for the requested time even if it was interrupted. That is
not true of std::this_thread::sleep_for, at least not on OS X.
Fix the test case so that if it wakes up early, it goes back
to sleep till the time is actually greater than the end point.
<rdar://problem/18523742>
llvm-svn: 219234
|
|
|
|
| |
llvm-svn: 219181
|
|
|
|
| |
llvm-svn: 219148
|
|
|
|
| |
llvm-svn: 219147
|
|
|
|
|
|
| |
sources coming along. In those cases, we want to skip the SB API test case. Add a marker for that, and apply it
llvm-svn: 219146
|
|
|
|
|
|
| |
lines at arbitrary points.
llvm-svn: 219133
|
|
|
|
|
|
| |
FreeBSD comes with libc++. Skip them
llvm-svn: 219032
|
|
|
|
|
|
| |
Darwin, or clang where applicable. Non-Apple folks, if these fail for you, maybe we can put some more helpful markers on them
llvm-svn: 219020
|
|
|
|
|
|
| |
that matter, also skip running the test on Darwin. libstdc++ is more relevant on non-Apple platforms
llvm-svn: 218952
|
|
|
|
| |
llvm-svn: 218908
|
|
|
|
|
|
| |
Test requres <Foundation/Foundation.h>
llvm-svn: 218904
|
|
|
|
|
|
| |
On at least FreeBSD linking with -lpthread is needed for std::thread.
llvm-svn: 218899
|
|
|
|
| |
llvm-svn: 218896
|
|
|
|
| |
llvm-svn: 218853
|
|
|
|
|
|
| |
a little better.
llvm-svn: 218851
|
|
|
|
|
|
| |
case they need to handle 'where they want to act' separately from the notion of 'currently-selected entity' that is associated to the debugger. Do this in an (hopefully) non-breaking way by running an argcount check before passing in the new argument. Update the test case to also check for this new feature. www update to follow
llvm-svn: 218834
|
|
|
|
| |
llvm-svn: 218754
|