summaryrefslogtreecommitdiffstats
path: root/lldb
Commit message (Collapse)AuthorAgeFilesLines
...
* Use two LC_NOTE load commands for identifying the main binary thatJason Molenda2017-04-124-10/+156
| | | | | | | | | | | | | | | | | lldb should use when given a corefile. This uses an LC_NOTE "main bin spec" or an LC_NOTE "kern ver str" if they are present in a Mach-O core file. Core files may have multiple different binaries -- different kernels, or a mix of user process and kernel binaries -- and it can be difficult for lldb to detect the correct one to use simply by looking at the pages of memory. These two new LC_NOTE load commands allow for the correct binary to be recorded unambiguously. <rdar://problem/20878266> llvm-svn: 300138
* [NFC] Adding a new wrapper for getaddrinfoChris Bieneman2017-04-122-0/+64
| | | | | | | | | | | | | | Summary: This patch adds a new wrapper for getaddrinfo which returns a std::vector of SocketAddresses. While this patch doesn't add any uses of the new function, I have two separable patches that are dependent on this, so I put it in its own patch. Reviewers: zturner Reviewed By: zturner Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D31822 llvm-svn: 300112
* Support Unit Testing debugserverChris Bieneman2017-04-126-85/+245
| | | | | | | | | | | | | | | | | Summary: This patch refactors the CMake build system's support for building debugserver to allow us to build the majority of debugserver's sources into the debugserverCommon library which can then be reused by unit tests. The first unit test I've written tests debug server's ability to accept incoming connections from LLDB. The test forks the process, and one side creates a listening socket using debugserver's socket API, the other side creates a transmitting socket using LLDB's TCPSocket class. I have no clue where to even start getting this connected into the LLDB Xcode project, so for now these tests are CMake-only. Reviewers: zturner, labath, jasonmolenda Subscribers: lldb-commits, mgorny Differential Revision: https://reviews.llvm.org/D31357 llvm-svn: 300111
* Add libc++ category to the remaining libc++ data formattersPavel Labath2017-04-127-76/+77
| | | | llvm-svn: 300054
* Fix TestCppIncompleteTypes for android/clangPavel Labath2017-04-121-2/+2
| | | | | | | LDFLAGS contains some .a files. If it is specified before the relevant object files, undefined symbol errors occur. llvm-svn: 300048
* Fix libc++ vector<bool> data formatter (bug #32553)Pavel Labath2017-04-125-208/+142
| | | | | | | | | | | | | | | | | Summary: The iteration list through the available data formatters was undefined, which meant that the vector<bool> formatter kicked in only in cases where it happened to be queried before the general vector formatter. To fix this, I merge the two data formatter entries into one, and select which implementation to use in the factory function. Reviewers: jasonmolenda, tberghammer, EricWF Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D31880 llvm-svn: 300047
* Fix TestGuessLanguage for gccPavel Labath2017-04-121-1/+7
| | | | | | | | gcc emits DW_LANG_C89 even if we specify -std=c99 during compilation. Since this isn't an lldb bug, but just the way the compiler happens to be implemented, I teach the test to expect this situation correctly. llvm-svn: 300046
* Android.rules: setup correct objcopy pathPavel Labath2017-04-121-4/+12
| | | | | | This fixes a couple of tests when using android clang as a compiler. llvm-svn: 300045
* Teach SBFrame how to guess its language.Jim Ingham2017-04-1212-3/+181
| | | | | | <rdar://problem/31411646> llvm-svn: 300012
* Add missing annotation to TestDataFormatterUnorderedPavel Labath2017-04-111-0/+1
| | | | llvm-svn: 299934
* Remove Plugins/Process/POSIX from include_directoriesPavel Labath2017-04-116-46/+8
| | | | | | | | | | | | | | | | Summary: The files there can always be referred to using their full path, which is what most of the code has been doing already, so this makes the situation more consistent. Also fix the the code in the FreeBSD plugin to use the new paths. Reviewers: eugene, emaste Subscribers: lldb-commits, kettenis, mgorny, krytarowski Differential Revision: https://reviews.llvm.org/D31877 llvm-svn: 299933
* Update for alloca construction changesMatt Arsenault2017-04-101-2/+5
| | | | llvm-svn: 299898
* [lldb] Fix ninja URLShoaib Meenai2017-04-101-1/+1
| | | | | | The old URL is a 404 now. Pointed out by Smirftsch1 on IRC. llvm-svn: 299845
* Mark this test as XFAIL on all platforms, it's happening everywhere.Jason Molenda2017-04-071-1/+1
| | | | | | llvm.org/pr32553 and <rdar://problem/30646077> are tracking this. llvm-svn: 299807
* Correct environ parsing on NetBSDKamil Rytarowski2017-04-071-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This replaces old code in Host::GetEnvironment for NetBSD with the version from Linux. This makes parsing environment variables correctly. It also fixes programs that depend on the variables like curses(3) applications. Long term this function should be moved to Process Plugin, as currently env variables are not available with remote debugging. Other BSDs might want to catch up after this change. Tested with NetBSD top(1). Sponsored by <The NetBSD Foundation> Reviewers: emaste, labath, joerg, kettenis Reviewed By: emaste Subscribers: #lldb Tags: #lldb Differential Revision: https://reviews.llvm.org/D31784 llvm-svn: 299783
* Correct environ parsing on FreeBSDEd Maste2017-04-071-12/+9
| | | | | | | Sync Host:GetEnvironment with Linux and Kamil Rytarowski's forthcoming NetBSD change in review D31784. llvm-svn: 299781
* Add more tests for ExtractContextAndIdentifierEugene Zemtsov2017-04-061-0/+5
| | | | llvm-svn: 299729
* New C++ function name parsing logic (Resubmit)Eugene Zemtsov2017-04-067-129/+1010
| | | | | | | | | | | | | | | | | | | | | Current implementation of CPlusPlusLanguage::MethodName::Parse() doesn't get anywhere close to covering full extent of possible function declarations. It causes incorrect behavior in avoid-stepping and sometimes messes printing of thread backtrace. This change implements more methodical parsing logic based on clang lexer and simple recursive parser. Examples: void std::vector<Class, std::allocator<Class>>::_M_emplace_back_aux<Class const&>(Class const&) void (*&std::_Any_data::_M_access<void (*)()>())() Previous version of this change (D31451) was rolled back due to an issue with Objective-C selectors being incorrectly recognized as a C++ identifier. Differential Revision: https://reviews.llvm.org/D31451 llvm-svn: 299721
* Try to fix FreeBSD build after IWYU changes.Zachary Turner2017-04-061-0/+1
| | | | llvm-svn: 299719
* Fix build failure in unit test.Zachary Turner2017-04-061-0/+1
| | | | llvm-svn: 299718
* iwyu fixes for lldbCore.Zachary Turner2017-04-06126-845/+1958
| | | | | | | | | | | | | | This adjusts header file includes for headers and source files in Core. In doing so, one dependency cycle is eliminated because all the includes from Core to that project were dead includes anyway. In places where some files in other projects were only compiling due to a transitive include from another header, fixups have been made so that those files also include the header they need. Tested on Windows and Linux, and plan to address failures on OSX and FreeBSD after watching the bots. llvm-svn: 299714
* Try to fix FreeBSD build after iwyu changes.Zachary Turner2017-04-061-0/+1
| | | | llvm-svn: 299705
* XFAIL TestDataFormatterLibcxxVBool on Linux & AndroidTamas Berghammer2017-04-061-0/+1
| | | | | | | The skipping logic for the test have been fixed recently but the test is very flakey on the buildbot. llvm-svn: 299677
* iwyu fixes on lldbUtility.Zachary Turner2017-04-0666-215/+350
| | | | | | | | | | | | | This patch makes adjustments to header file includes in lldbUtility based on recommendations by the iwyu tool (include-what-you-use). The goal here is to make sure that all files include the exact set of headers which are needed for that file only, to eliminate cases of dead includes (e.g. someone deleted some code but forgot to delete the header includes that that code necessitated), and to eliminate the case where header includes are picked up transitively. llvm-svn: 299676
* Update unittests/Host/SocketTest.cpp to also use the newJason Molenda2017-04-061-7/+4
| | | | | | one-socket API. llvm-svn: 299613
* Some old mach-o core files have an LC_IDENT load command Jason Molenda2017-04-064-3/+84
| | | | | | | | and there's a string in there that can be helpful in locating the kernel binary. Use it. <rdar://problem/31444711> llvm-svn: 299612
* getAsInteger is not a equivalent replacement for strtolJim Ingham2017-04-061-2/+10
| | | | | | | | work around that fact for CommandObjectMemoryWrite. <rdar://problem/31457148> llvm-svn: 299609
* Change how UDP sockets are set up -- use the same one socket forJason Molenda2017-04-065-42/+37
| | | | | | | | | both sending and receiving information, instead of using one socket to send and another to receive. The two socket arrangement fails over when a firewall is between the two systems. <rdar://problem/31286757> llvm-svn: 299608
* Annotate some more libc++ tests with the new categoryPavel Labath2017-04-053-29/+20
| | | | | | This makes sure we are able to run them properly on android. llvm-svn: 299588
* The darwin_log tests are very fragile and currently do not properly assess ↵Sean Callanan2017-04-053-2/+4
| | | | | | | | | | the state of that functionality. I have put them all in their own category, and made that category disabled by default. Differential revision: https://reviews.llvm.org/D31718 llvm-svn: 299587
* Fix a typo introduce in r299200.Nitesh Jain2017-04-051-1/+1
| | | | llvm-svn: 299527
* Reverting r299374 & r299402 due to testsuite failure.Jim Ingham2017-04-057-982/+129
| | | | | | | | | | | | | | This caused a failure in the test case: functionalities/breakpoint/objc/TestObjCBreakpoints.py When we are parsing up names we stick interesting parts of the names in various buckets, one of which is the ObjC selector bucket. The new C++ name parser must be interfering with this process somehow. <rdar://problem/31439305> llvm-svn: 299489
* Tone down the "lldb types" log a bit.Jim Ingham2017-04-041-4/+13
| | | | | | | | | | Change the get shared class info function to only dump its results to the inferior stdout when the log is verbose. This matches the lldb side of the same process, which only logs what it found if the log is on verbose. llvm-svn: 299451
* Enable lldm-mi commands -stack-list-locals -stack-list-variables and ↵Ilia K2017-04-045-3/+111
| | | | | | | | | | | | | | | | -var-create to work only with variables in scope Patch by ayuckhulk Reviewers: abidh, lldb-commits, ki.stfu Reviewed By: ki.stfu Tags: #lldb Differential Revision: https://reviews.llvm.org/D31073 llvm-svn: 299417
* Skip three test cases that are asserting on macosx as of r299199. A quickJason Molenda2017-04-043-0/+10
| | | | | | | | | | | | | | | | | | look showed that the target's arch has no core / byte order and so when AuxVector::AuxVector calls into a dataextractor and sets the byte size to 0, it asserts. e.g. m_arch = { m_triple = (Data = "x86_64--linux", Arch = x86_64, SubArch = NoSubArch, Vendor = UnknownVendor, OS = Linux, Environment = UnknownEnvironment, ObjectFormat = ELF) m_core = kCore_invalid m_byte_order = eByteOrderInvalid m_flags = 0x00000000 m_distribution_id = <no value available> } <rdar://problem/31380097> llvm-svn: 299408
* Add CPlusPlusNameParser to the xcodeprojSean Callanan2017-04-031-0/+6
| | | | llvm-svn: 299402
* The LIBLLDB_LOG_TEMPORARY channel got lost at some point whereJason Molenda2017-04-032-0/+2
| | | | | | Logging.cpp was being changed in the past. Re-add it. llvm-svn: 299394
* New C++ function name parsing logicEugene Zemtsov2017-04-036-129/+976
| | | | | | | | | | | | | | | | | | Current implementation of CPlusPlusLanguage::MethodName::Parse() doesn't get anywhere close to covering full extent of possible function declarations. It causes incorrect behavior in avoid-stepping and sometimes messes printing of thread backtrace. This change implements more methodical parsing logic based on clang lexer and simple recursive parser. Examples: void std::vector<Class, std::allocator<Class>>::_M_emplace_back_aux<Class const&>(Class const&) void (*&std::_Any_data::_M_access<void (*)()>())() Differential Revision: https://reviews.llvm.org/D31451 llvm-svn: 299374
* Back out temporary masking of EXC_SYSCALL mach exceptions.Jason Molenda2017-04-031-1/+1
| | | | | | <rdar://problem/31359720> llvm-svn: 299345
* DisassembleRange can return an empty DisassemblerSPJim Ingham2017-03-311-1/+1
| | | | | | | | check for it. <rdar://problem/31379799> llvm-svn: 299276
* add more RegisterContext files to xcode projectTim Hammerquist2017-03-311-0/+16
| | | | llvm-svn: 299261
* Stop calling ValueObject::SetName from synthetic child providersTamas Berghammer2017-03-316-20/+28
| | | | | | | | | | | | | | | Summary: Calling ValueObject::SetName from a sythetic child provider would change the underying value object used for the non-synthetic child as well what is clearly unintentional. Reviewers: jingham, labath Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D31371 llvm-svn: 299259
* Add support for sythetic operator dereferenceTamas Berghammer2017-03-315-3/+39
| | | | | | | | | | | | | | | | Summary: After this change a sythetic child provider can generate a special child named "$$dereference$$" what if present is used when "operator*" or "operator->" used on a ValueObject. The goal of the change is to make expressions like "up->foo" work inside the "frame variable" command. Reviewers: labath, jingham Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D31368 llvm-svn: 299251
* Do not dereference std::unique_ptr by defaultTamas Berghammer2017-03-313-12/+52
| | | | | | | | | | | | | | | Summary: Displaying the object pointed by the unique_ptr can cause an infinite recursion when we have a pointer loop so this change stops that behavior. Additionally it makes the unique_ptr act more like a class containing a pointer (what is the underlying truth) instead of some "magic" class. Reviewers: labath, jingham Differential Revision: https://reviews.llvm.org/D31366 llvm-svn: 299249
* Verify memory address range validity in GDBRemoteCommunicationClientStephane Sezer2017-03-312-7/+51
| | | | | | | | | | | | | | | | | | | | | Summary: This aims to verify the validity of the response from the debugging server in GDBRemoteCommunicationClient::GetMemoryRegionInfo. I was working with ds2 (https://github.com/facebook/ds2) and encountered a bug that caused the server's response to have a 'size' value of 0, which caused lldb to behave incorrectly. Reviewers: k8stone, labath, clayborg Reviewed By: labath, clayborg Subscribers: clayborg, sas, lldb-commits Differential Revision: https://reviews.llvm.org/D31485 Change by Alex Langford <apl@fb.com> llvm-svn: 299239
* [LLDB][MIPS] Core Dump Support.Nitesh Jain2017-03-3115-245/+443
| | | | | | | | | | Reviewers: labath, emaste Subscribers: jaydeep, bhushan, lldb-commits, slthakur Differential Revision: https://reviews.llvm.org/D30457 llvm-svn: 299200
* [LLDB][MIPS] Fix Core file Architecture and OS information.Nitesh Jain2017-03-319-6/+63
| | | | | | | | | | Reviewers: labath, clayborg Subscribers: jaydeep, bhushan, lldb-commits, slthakur Differential Revision: https://reviews.llvm.org/D31280 llvm-svn: 299199
* [LLDB][MIPS] Check if memory_info.GetName() is empty before finding ↵Nitesh Jain2017-03-311-1/+2
| | | | | | | | | | | | corresponding module. Reviewers: labath, clayborg Subscribers: jaydeep, bhushan, lldb-commits, slthakur Differential Revision: https://reviews.llvm.org/D30454 llvm-svn: 299196
* Don't add a newline if the object description already has one.Jim Ingham2017-03-311-1/+6
| | | | | | <rdar://problem/25755431> llvm-svn: 299147
* add NetBSD files to Xcode project to resolve failure from r299109Tim Hammerquist2017-03-301-0/+6
| | | | llvm-svn: 299116
OpenPOWER on IntegriCloud