Commit Graph

13743 Commits

Author SHA1 Message Date
Pavel Labath bace94eda8 Remove skipIfLinuxClang decorator
it isn't used in the code anymore, and we're trying to cut down on the decorators.

llvm-svn: 258049
2016-01-18 15:01:14 +00:00
Pavel Labath 4da73573ab Guard against application of an XFAIL decorator on a class
This does not work and causes the class to be silently skipped, which is a bad idea. This makes
sure it cannot happen accidentaly. I've played with the idea of actually making the decorator
work at class level, but it proved too magic to do at this moment.

llvm-svn: 258048
2016-01-18 14:45:35 +00:00
Tamas Berghammer dcad424cd3 Revert "Unconditionally accept symbol sizes from elf"
It causes issues for i386 when compiling with gcc-4.9.2

This reverts commit e248214a3eab8e244095f97d1996c991cb988cc4.

llvm-svn: 258043
2016-01-18 11:49:18 +00:00
Tamas Berghammer 6b2322fb4c Unconditionally accept symbol sizes from elf
The ELF symbol table always contain the size of the symbols so we
don't have to try to guess them based on the address of the next
symbol (it is needed for mach-o).

The change fixes an issue when a symbol is removed after a 0 size
symbol (e.g. because the second one is not public) what previously
caused the symbol lookup algorithm to end up with showing the 0 size
symbol even for the later addresses (what are not part of any symbol).
That symbol lookup error can confuse the user and also confuses the
current stack unwinder.

Differential revision: http://reviews.llvm.org/D16186

llvm-svn: 258040
2016-01-18 10:38:34 +00:00
Ewan Crawford 836d965168 [RenderScript] Remove mips specific expressions
Reverts earlier commit r254910, which used function pointers for jitted expressions
to avoid a Mips64 compiler bug. Bug has since been fixed, and compiler longer issues the problem instruction.

Author: Dean De Leo <dean@codeplay.com>
llvm-svn: 258038
2016-01-18 09:16:02 +00:00
Zachary Turner 778cec3e30 On non-Windows platforms, asm int 3 generates an eStopReasonSignal.
llvm-svn: 257959
2016-01-15 23:44:45 +00:00
Zachary Turner fa0b4b271a Fix TestDebugBreak.py.
We can't assume that the main thread of an inferior has index 0,
even in a single-threaded app.

llvm-svn: 257946
2016-01-15 22:22:40 +00:00
Zachary Turner 21da1ed15b Fix ResourceWarning about unclosed file in use_lldb_suite_root.py.
llvm-svn: 257945
2016-01-15 22:22:35 +00:00
Adrian McCarthy 8801145ad4 Small fixes to ensure TestLogging.py tests work with Python 3.5 as well as 2.7.
llvm-svn: 257931
2016-01-15 20:45:06 +00:00
Ryan Brown 47d072ca48 Implement missing GoASTContext methods
llvm-svn: 257926
2016-01-15 19:35:48 +00:00
Pavel Labath 0771b18257 Fix decoration of TestConcurrentEvents
TestConcurrentEvents was marked with a XFAIL decorator at class level, which actually does not
work, and causes the class to be silently skipped everywhere. It seems that making it work at
class level is quite a difficult task, so I will just move it to the individual test methods. I
will follow this up with a commit which makes the decorator blow up in case someone tries to
apply it to a class in the future.

llvm-svn: 257901
2016-01-15 16:20:01 +00:00
Jim Ingham cc4609a26b The ASAN report fetching code had two latent bugs:
1) It was forward declaring functions without 'extern "C"'.  That used to work
   but only because of another bug in how we passes symbol only function names to the
   compiler and stopped working recently.
2) These forward declarations were in the body of the User Expression, and they actually
   need to go in the prefix file.

<rdar://problem/24177689>

llvm-svn: 257852
2016-01-15 01:03:50 +00:00
Adrian McCarthy aa1f270151 Fix detection of teardown hooks that are already bound.
llvm-svn: 257829
2016-01-14 22:52:16 +00:00
Sean Callanan e594268e37 Removed a redundant function call after review.
llvm-svn: 257818
2016-01-14 22:05:26 +00:00
Sean Callanan b0300a4c30 Enable the use of modules in the expression parser by default.
If your program refers to modules (as indicated in DWARF) we will now try to
load these modules and give you access to their types in expressions.  This used
to be gated by a setting ("settings set target.auto-import-clang-modules true")
but that setting defaulted to false.  Now it defaults to true -- but you can
disable it by toggling the setting to false.

llvm-svn: 257812
2016-01-14 21:46:09 +00:00
Zachary Turner 1d89df0998 Resubmit the fixes for TestProcessLaunch.py.
I was calling the base class tearDown() function the wrong way
which for some reason is ok on Python 3 but not on Python 2.

llvm-svn: 257788
2016-01-14 19:14:02 +00:00
Sean Callanan 9b0cfe2510 Fixed a crasher when dealing with table entries that have blank names.
This can happen with -gmodules tables when an anonymous struct is referred to.

llvm-svn: 257786
2016-01-14 18:59:49 +00:00
Aidan Dodds e09c44b6ff [RenderScript] Hook kernel invocation.
This patch adds a hook to track kernel invocations and to track all script and allocation objects used.

llvm-svn: 257772
2016-01-14 15:39:28 +00:00
Tamas Berghammer f84df99520 Update some XFAILs after the 3.8->3.9 version change
llvm-svn: 257761
2016-01-14 12:49:48 +00:00
Ewan Crawford d0d85d22f8 Fix ambiguous resolution of clang::ArrayType/llvm::ArrayType in ClangAstContext
Both llvm and clang have an ArrayType class, which can cause resolution to fail when llvm headers that are implicitly included name this type.
source/Symbol/ClangASTContext.cpp has 'using namespace llvm;' and 'using namespace clang;' 

Author: Luke Drummond <luke.drummond@codeplay.com>
Differential Revision: http://reviews.llvm.org/D16155

llvm-svn: 257759
2016-01-14 12:18:09 +00:00
Tamas Berghammer 3fa2395aa5 XFAIL TestCommandScriptImmediateOutput on Linux
llvm-svn: 257755
2016-01-14 10:56:56 +00:00
Todd Fiala 02fe4b9334 change Xcode test run default to ignore xpass on Xunit output
The Green Dragon LLVM builders are starting to parse xunit output
on LLDB Xcode builders.  By default the XML formatter treats
xpass (unexpected successes) as failures.  The new flag added
ensures we simply ignore those for purposes of xUnit output.
LLDB is not currently XPASS clean.

llvm-svn: 257717
2016-01-13 23:55:16 +00:00
Hans Wennborg 400e1809ad Fix -Wformat-pedantic warning
/work/llvm-3.8/llvm.src/tools/lldb/source/API/SBProcess.cpp:1003:73:
error: format specifies type 'void *' but the argument has type 'lldb_private::Event *' [-Werror,-Wformat-pedantic]
        log->Printf ("SBProcess::%s (event.sp=%p) => %d", __FUNCTION__, event.get(), ret_val);
                                              ~~                        ^~~~~~~~~~~
1 error generated.

llvm-svn: 257692
2016-01-13 22:40:26 +00:00
Hans Wennborg 6ab018ec2e Include IR/DerivedTypes.h instead of IR/Type.h to match LLVM change r256406.
This is similar to r256407 and fixes the following warning:

In file included from /work/llvm-3.8/llvm.src/tools/lldb/source/Target/ThreadPlanCallFunctionUsingABI.cpp:14:
In file included from /work/llvm-3.8/llvm.src/tools/lldb/include/lldb/Target/ThreadPlanCallFunctionUsingABI.h:23:
/work/llvm-3.8/llvm.src/include/llvm/IR/Type.h:350:16: error: inline function 'llvm::Type::getSequentialElementType' is not defined [-Werror,-Wundefined-inline]
  inline Type *getSequentialElementType() const;
               ^
/work/llvm-3.8/llvm.src/include/llvm/IR/Type.h:353:46: note: used here
  Type *getArrayElementType() const { return getSequentialElementType(); }
                                             ^
1 error generated.

I'm not sure why it's not showing on any bots.

llvm-svn: 257691
2016-01-13 22:40:24 +00:00
Zachary Turner 400767af54 Revert changes to TestProcessLaunch.py as they are breaking a build.
llvm-svn: 257690
2016-01-13 22:32:31 +00:00
Zachary Turner d79bc32668 Rename MSVC top-level folder to avoid name collision.
If you have two folders with the same name but different cases,
MSBuild gets confused and generates an error when building
from within Visual Studio.

This patch renames it so that the cases of all folders named
"LLDB tests" match.

Patch by Jonathan Meier
Differential Revision: http://reviews.llvm.org/D16150

llvm-svn: 257684
2016-01-13 22:00:44 +00:00
Zachary Turner a505be4e5d Fix some compiler warnings with MSVC 2015.
llvm-svn: 257671
2016-01-13 21:22:00 +00:00
Zachary Turner 673cf7e80b Get rid of const char** typemaps.
We already have char** typemaps which were near copy-pastes of
the const char** versions.  This way we have only one version that
works for both.

llvm-svn: 257670
2016-01-13 21:21:54 +00:00
Zachary Turner 19e2ea8fb6 Fix TestProcessLaunch for Python 3.
There were a number of problems preventing this from working:

1. The SWIG typemaps for converting Python lists to and from C++
   arrays were not updated for Python 3.  So they were doing things
   like PyString_Check instead of using the PythonString from
   PythonDataObjects.
2. ProcessLauncherWindows was ignoring the environment completely.
   So any test that involved launching an inferior with any kind
   of environment variable would have failed.
3. The test itself was using process.GetSTDOUT(), which isn't
   implemented on Windows.  So this was changed to save the
   value of the environment variable in a local variable and
   have the debugger look at the value of the variable.

llvm-svn: 257669
2016-01-13 21:21:49 +00:00
Enrico Granata 983ad65220 Mark these tests on FreeBSD and Linux as non-flakey. We don't know that they are
llvm-svn: 257656
2016-01-13 19:29:52 +00:00
Sean Callanan f03dbb3cb5 Fixed a problem where the Xcode build put lldb's __init__.py in the wrong place.
Most of the time CONFIGURATION_BUILD_DIR and BUILT_PRODUCTS_DIR are the same,
but they are different in 'xcodebuild install' situations.  The file needs to be
put into BUILT_PRODUCTS_DIR or lldb's Python interface doesn't work when lldb is
built using 'xcodebuild install'.

llvm-svn: 257653
2016-01-13 19:23:30 +00:00
Enrico Granata 744959b9c9 Fix an issue where scripted commands would not actually print any of their output if an immediate output file was set in the result object via a Python file object
Fixes rdar://24130303

llvm-svn: 257644
2016-01-13 18:11:45 +00:00
Tamas Berghammer 808ff186f6 Silence an incorrect dwarf parsing warning
We have a check what warns if the offset of a class member is greater
then or equal to the size of the class. The warning is valid in most
case but it is invalid when the last data member is a 0 size array
because in this case the member offset can be equal to the class size
(subject to alignment limitations).

This CL fixis LLDB to not print out a warning in this special case.

llvm-svn: 257603
2016-01-13 14:58:48 +00:00
Sagar Thakur dd113648af [LLDB][MIPS] Fix TestDisassembleRawData.py
Patch by Nitesh Jain.

Summary: This patch adds check for the correctness of disassembling instruction for MIPS target.

Reviewers: emaste, clayborg, ovyalov
Subscribers: lldb-commits, mohit.bhakkad, sagar, bhushan, jaydeep
Differential: http://reviews.llvm.org/D15915
llvm-svn: 257587
2016-01-13 11:22:56 +00:00
Jason Molenda 50018d3cf5 Add a small refinement to the qSymbol:: support in lldb.
This is a packet which allows the remote gdb stub to ask for the address
of a symbol in the process.  lldb sends the packet (offering to provide
addresses for symbol names) after every solib loaded.  I changed lldb so
that once the stub has indicated that it doesn't need any more symbol
addresses, lldb will stop sending the qSymbol:: packet on new solib loads.

This can yield a performance benefit over slower communication links when
there are many solibs involved.

<rdar://problem/23310049> 

llvm-svn: 257569
2016-01-13 04:08:10 +00:00
Siva Chandra b4f94aaf9b [TestThreadJump] Adjust match sub-string after recent change.
Reviewers: zturner

Subscribers: zturner, lldb-commits

Differential Revision: http://reviews.llvm.org/D16125

llvm-svn: 257531
2016-01-12 22:33:19 +00:00
Zachary Turner 9d59306528 Fix TestThreadJump on Windows.
The system can create threads for a system threadpool, so there is
no guarantee that the thread that is stopped is thread 1.  So use
a more robust check.

llvm-svn: 257513
2016-01-12 20:45:29 +00:00
Stephane Sezer 1307d4c7df Fix build breakage of r257502.
llvm-svn: 257510
2016-01-12 20:22:58 +00:00
Stephane Sezer 87b0fe075e Increase use of svr4 packets to improve performance on POSIX remotes
Summary:
Allows the remote to enumerate the link map when adding and removing
shared libraries, so that lldb doesn't need to read it manually from
the remote's memory.

This provides very large speedups (on the order of 50%) in total
startup time when using the ds2 remote on android or Tizen devices.

Reviewers: ADodds, tberghammer, tfiala

Subscribers: tberghammer, sas, danalbert, llvm-commits, srhines

Differential Revision: http://reviews.llvm.org/D16004

Change by Francis Ricci <fjricci@fb.com>

llvm-svn: 257502
2016-01-12 19:02:41 +00:00
Tamas Berghammer 239132f452 Try to fix the mips64 build after rL257447
llvm-svn: 257469
2016-01-12 10:41:43 +00:00
Ravitheja Addepally 49982f5773 Fix for TestNoreturnUnwind.py on i386
Summary:
The testcase TestNoreturnUnwind.py was failing
because the unwind from the vdso library was not
successful for clang compiler while it was passing
for gcc. It was passing for gcc since the unwind plan
used was the assembly plan and the ebp register was
set by the main function in case of gcc and was not
used by the functions in the call flow to the vdso, whereas
clang did not emit assembly prologue for main and so
 the assembly unwind was failing. Normally in case of
failure of assembly unwind, lldb switches to EH CFI frame
based unwinding, but this was not happening for
the first frame. This patch tries to fix this behaviour by
falling to EH CFI frame based unwinding in case of assembly
unwind failure even for the first frame.
The test is still marked as XFAIL since it relys on the fix
of another bug.

Reviewers: lldb-commits, jingham, zturner, tberghammer, jasonmolenda

Subscribers: jasonmolenda

Differential Revision: http://reviews.llvm.org/D15046

llvm-svn: 257465
2016-01-12 10:08:41 +00:00
Pavel Labath 484f0a31b3 Add clang::Type::Pipe to ClangASTContext
Summary:
Clang recently added support for an OpenCL pipe type. Adding the new type to relevant switches to
avoid warnings.

Reviewers: clayborg

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D16055

llvm-svn: 257460
2016-01-12 08:51:28 +00:00
Jason Molenda 77f8935218 Changes to lldb and debugserver to reduce extraneous memory reads
at each public stop to improve performance a bit.  Most of the 
information lldb needed was already in the jThreadsInfo response;
complete that information and catch a few cases where we could still
fall back to getting the information via discrete memory reads.


debugserver adds 'associated_with_dispatch_queue' and 'dispatch_queue_t
keys to the jThreadsInfo response for all the threads.  lldb needs the
dispatch_queue_t value.  And associated_with_dispatch_queue helps to
identify which threads definitively don't have any queue information so
lldb doesn't try to do memory reads to get that information just because
it was absent in the jThreadsInfo response.

Remove the queue information from the questionmark (T) packet.  We'll
get the information for all threads via the jThreadsInfo response -
sending the information for the stopping thread (on all the private
stops, plus the less frequent public stop) was unnecessary information
being sent over the wire.

SystemRuntimeMacOSX will try to get information about queues by asking
the Threads for them, instead of reading memory.  

ProcessGDBRemote changes to recognize the new keys being sent in the
jThreadsInfo response.  Changes to ThreadGDBRemote to track the new
information.  Also, when a thread is marked as definitively not 
associated with a libdispatch queue, don't fall back to the system
runtime to try memory reads to find the queue name / kind / ID etc.


<rdar://problem/23309359> 

llvm-svn: 257453
2016-01-12 07:09:16 +00:00
Mohit K. Bhakkad 884fc3e4df [LLDB][MIPS] Fix rL255619: mips 3, 4 and 5 are 64 bit archs
llvm-svn: 257448
2016-01-12 06:03:01 +00:00
Mohit K. Bhakkad 64322c0331 [LLDB][MIPS] Fix ReadRegisterValue for registers with constant 32 bit size regardless of ABI
Reviewers: clayborg, tberghammer.
Subscribers: jaydeep, bhushan, sagar, nitesh.jain, lldb-commits.
Differential Revision: http://reviews.llvm.org/D16060

llvm-svn: 257447
2016-01-12 05:55:03 +00:00
Bhushan D. Attarde 2be2c9a6ce [LLDB][MIPS] Merge emulation of similar instructions for MIPS64
SUMMARY:
    This patch merges emulation of similar instructions into a single function (wherever possible) to remove code duplication.
    
    Reviewers: clayborg
    Subscribers: mohit.bhakkad, sagar, jaydeep, lldb-commits
    Differential Revision: http://reviews.llvm.org/D16051

llvm-svn: 257442
2016-01-12 03:56:58 +00:00
Bhushan D. Attarde def5e7df76 [LLDB][MIPS] Handle PIC calling convention for MIPS64
SUMMARY:
    This patch sets up register r25 with the address of function to be called in PrepareTrivialCall().
    This is required as per MIPS PIC calling convention.
    
    Reviewers: clayborg
    Subscribers: mohit.bhakkad, sagar, jaydeep, lldb-commits
    Differential Revision: http://reviews.llvm.org/D16046

llvm-svn: 257441
2016-01-12 03:48:43 +00:00
Stephane Sezer 8dbcb63866 Get rid of ARM_ELF_SYM_IS_THUMB flag.
Summary:
This was used with the old ARM vs. Thumb detection code but is not
required anymore.

Reviewers: tberghammer, clayborg

Subscribers: fjricci, aemerson, lldb-commits, rengolin

Differential Revision: http://reviews.llvm.org/D16099

llvm-svn: 257429
2016-01-12 01:12:10 +00:00
Zachary Turner 00cdc77ac9 Don't define Bytes and String to be the same number on Py2.
This is causing issues with case labels having the same value.

llvm-svn: 257409
2016-01-11 23:10:32 +00:00
Omair Javaid baa07490bc Xfail some Arm-Linux specific failures
Updated expectedFailureLinux decorator to reflect architecture

Marked some triaged failures as xfails on arm with updated expectedFailureLinux decorator

Differential revision: http://reviews.llvm.org/D15893

llvm-svn: 257405
2016-01-11 22:52:18 +00:00