summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/SystemRuntime/MacOSX
Commit message (Collapse)AuthorAgeFilesLines
...
* Final bit of type system cleanup that abstracts declaration contexts into ↵Greg Clayton2015-08-244-19/+19
| | | | | | | | | | | | | | | | | | | | lldb_private::CompilerDeclContext and renames ClangType to CompilerType in many accessors and functions. Create a new "lldb_private::CompilerDeclContext" class that will replace all direct uses of "clang::DeclContext" when used in compiler agnostic code, yet still allow for conversion to clang::DeclContext subclasses by clang specific code. This completes the abstraction of type parsing by removing all "clang::" references from the SymbolFileDWARF. The new "lldb_private::CompilerDeclContext" class abstracts decl contexts found in compiler type systems so they can be used in internal API calls. The TypeSystem is required to support CompilerDeclContexts with new pure virtual functions that start with "DeclContext" in the member function names. Converted all code that used lldb_private::ClangNamespaceDecl over to use the new CompilerDeclContext class and removed the ClangNamespaceDecl.cpp and ClangNamespaceDecl.h files. Removed direct use of clang APIs from SBType and now use the abstract type systems to correctly explore types. Bulk renames for things that used to return a ClangASTType which is now CompilerType: "Type::GetClangFullType()" to "Type::GetFullCompilerType()" "Type::GetClangLayoutType()" to "Type::GetLayoutCompilerType()" "Type::GetClangForwardType()" to "Type::GetForwardCompilerType()" "Value::GetClangType()" to "Value::GetCompilerType()" "Value::SetClangType (const CompilerType &)" to "Value::SetCompilerType (const CompilerType &)" "ValueObject::GetClangType ()" to "ValueObject::GetCompilerType()" many more renames that are similar. llvm-svn: 245905
* ClangASTType is now CompilerType.Greg Clayton2015-08-119-23/+23
| | | | | | This is more preparation for multiple different kinds of types from different compilers (clang, Pascal, Go, RenderScript, Swift, etc). llvm-svn: 244689
* First step in getting LLDB ready to support multiple different type systems.Greg Clayton2015-08-111-6/+7
| | | | | | | | This is the work done by Ryan Brown from http://reviews.llvm.org/D8712 that makes a TypeSystem class and abstracts types to be able to use a type system. All tests pass on MacOSX and passed on linux the last time this was submitted. llvm-svn: 244679
* Fix warnings found by -Wextra-semiPavel Labath2015-07-221-1/+1
| | | | | | patch by Eugene Zelenko. llvm-svn: 242875
* Resubmitting 240466 after fixing the linux test suite failures.Greg Clayton2015-06-251-3/+3
| | | | | | | | | | | | | | | A few extras were fixed - Symbol::GetAddress() now returns an Address object, not a reference. There were places where people were accessing the address of a symbol when the symbol's value wasn't an address symbol. On MacOSX, undefined symbols have a value zero and some places where using the symbol's address and getting an absolute address of zero (since an Address object with no section and an m_offset whose value isn't LLDB_INVALID_ADDRESS is considered an absolute address). So fixing this required some changes to make sure people were getting what they expected. - Since some places want to access the address as a reference, I added a few new functions to symbol: Address &Symbol::GetAddressRef(); const Address &Symbol::GetAddressRef() const; Linux test suite passes just fine now. <rdar://problem/21494354> llvm-svn: 240702
* Revert "Introduce a TypeSystem interface to support adding non-clang languages."Pavel Labath2015-06-081-7/+6
| | | | | | This seems to break expression evaluation on the linux build. llvm-svn: 239366
* Introduce a TypeSystem interface to support adding non-clang languages.Pavel Labath2015-06-081-6/+7
| | | | | | | | | | | | | Reviewers: clayborg Reviewed By: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D8712 Original Author: Ryan Brown <ribrdb@google.com> llvm-svn: 239360
* Don't #include ClangASTContext.h from Module.hZachary Turner2015-03-031-0/+1
| | | | | | | | | | | | This is part of a larger effort to reduce header file footprints. Combined, these patches reduce the build time of LLDB locally by over 30%. However, they touch many files and make many changes, so will be submitted in small incremental pieces. Reviewed By: Greg Clayton Differential Revision: http://reviews.llvm.org/D8022 llvm-svn: 231097
* Change SystemRuntimeMacOSX::ReadLibdispatchTSDIndexes to use theJason Molenda2014-09-121-50/+26
| | | | | | | | ProcessStructReader instead of reading the structure out of libdispatch by hand. I will convert more of the struct readers in SystemRuntimeMacOSX over to use this class eventually. llvm-svn: 217649
* Fix error handling for the AppleGetQueues and AppleGetPendingItemsJason Molenda2014-06-232-0/+2
| | | | | | | ClangFunctions if the clang function compilation fails for any reason. <rdar://problem/16793965> llvm-svn: 211549
* Initial merge of some of the iOS 8 / Mac OS X Yosemite specificJason Molenda2014-06-132-3/+272
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lldb support. I'll be doing more testing & cleanup but I wanted to get the initial checkin done. This adds a new SBExpressionOptions::SetLanguage API for selecting a language of an expression. I added adds a new SBThread::GetInfoItemByPathString for retriving information about a thread from that thread's StructuredData. I added a new StructuredData class for representing key-value/array/dictionary information (e.g. JSON formatted data). Helper functions to read JSON and create a StructuredData object, and to print a StructuredData object in JSON format are included. A few Cocoa / Cocoa Touch data formatters were updated by Enrico to track changes in iOS 8 / Yosemite. Before we query a thread's extended information, the system runtime may provide hints to the remote debug stub that it will use to retrieve values out of runtime structures. I added a new SystemRuntime method AddThreadExtendedInfoPacketHints which allows the SystemRuntime to add key-value type data to the initial request that we send to the remote stub. The thread-format formatter string can now retrieve values out of a thread's extended info structured data. The default thread-format string picks up two of these - thread.info.activity.name and thread.info.trace_messages. I added a new "jThreadExtendedInfo" packet in debugserver; I will add documentation to the lldb-gdb-remote.txt doc soon. It accepts JSON formatted arguments (most importantly, "thread":threadnum) and it returns a variety of information regarding the thread to lldb in JSON format. This JSON return is scanned into a StructuredData object that is associated with the thread; UI layers can query the thread's StructuredData to see if key-values are present, and if so, show them to the user. These key-values are likely to be specific to different targets with some commonality among many targets. For instance, many targets will be able to advertise the pthread_t value for a thread. I added an initial rough cut of "thread info" command which will print the information about a thread from the jThreadExtendedInfo result. I need to do more work to make this format reasonably. Han Ming added calls into the pmenergy and pmsample libraries if debugserver is run on Mac OS X Yosemite to get information about the inferior's power use. I added support to debugserver for gathering the Genealogy information about threads, if it exists, and returning it in the jThreadExtendedInfo JSON result. llvm-svn: 210874
* Add a new SBThread::SafeToCallFunctions API; this calls over toJason Molenda2014-05-136-0/+50
| | | | | | | | | | the SystemRuntime to check if a thread will have any problems performing an inferior function call so the driver can skip making that function call on that thread. Often the function call can be executed on another thread instead. <rdar://problem/16777874> llvm-svn: 208732
* Rename eExecution*** to eExpression*** to be consistent with the result type.Jim Ingham2014-05-054-4/+4
| | | | llvm-svn: 207945
* Make the Expression Execution result enum available to the SB API layer.Jim Ingham2014-05-054-8/+8
| | | | | | | | | Add a callback that will allow an expression to be cancelled between the expression evaluation stages (for the ClangUserExpressions.) <rdar://problem/16790467>, <rdar://problem/16573440> llvm-svn: 207944
* Only allow on thread to run when calling libBacktraceRecording.Jason Molenda2014-04-254-0/+8
| | | | | | | Make sure the timeout is set to 0.5s for these. <rdar://problem/16719510> llvm-svn: 207163
* Add a new SBThread::GetQueue() method to get the queue that is Jason Molenda2014-04-251-20/+21
| | | | | | | | | | currently associated with a given thread, on relevant targets. Change the queue detection code to verify that the queues associated with all live threads are included in the list. <rdar://problem/16411314> llvm-svn: 207160
* Give the clang functions names. This is only for logging.Jim Ingham2014-04-224-6/+10
| | | | llvm-svn: 206836
* Workaround for collision between enum members in LLVM's MachO.h and system ↵Jim Ingham2014-04-021-0/+1
| | | | | | | | | | headers on Mac OS X (in particular mach/machine.h). <rdar://problem/16494607> llvm-svn: 205480
* Don’t #include "llvm/Support/MachO.h” as it isn’t needed here.Greg Clayton2014-04-021-2/+0
| | | | llvm-svn: 205462
* sanitise sign comparisonsSaleem Abdulrasool2014-04-021-2/+4
| | | | | | | | This is a mechanical change addressing the various sign comparison warnings that are identified by both clang and gcc. This helps cleanup some of the warning spew that occurs during builds. llvm-svn: 205390
* Add a SBQueue::GetKind() method to retrieve the type of libdispatch queue ↵Jason Molenda2014-03-132-0/+49
| | | | | | | | (serial or concurrent). <rdar://problem/7964505> llvm-svn: 203748
* Minor fix for a logging message.Jason Molenda2014-03-101-1/+1
| | | | llvm-svn: 203512
* Correctly add the QueueID to a pending block's extended thread backtrace thread.Jason Molenda2014-03-102-34/+37
| | | | | | | | | Seed the QueueItem objects with the item_refs and addresses when they are fetched in one batch. If additional information is needed from the QueueItem, fetch it lazily one pending item per function call. <rdar://problem/16270007>, <rdar://problem/16032150> llvm-svn: 203449
* libBacktraceRecording __introspection_dispatch_queue_get_pending_items isJason Molenda2014-03-092-49/+108
| | | | | | | | | | | changing the data it returns; this change accepts either the old format or the new format. It doesn't yet benefit from the new format's additions - but I need to get this checked in so we aren't rev-locked. Also add a missing .i entry for SBQueue::GetNumRunningItems() missing from the last checkin. <rdar://problem/16272115> llvm-svn: 203421
* Fix a small inferior process memory leak in ↵Jason Molenda2014-03-071-0/+2
| | | | | | SystemRuntimeMacOSX::PopulatePendingItemsForQueue(). llvm-svn: 203312
* Fixed configure-based build on OS X.Todd Fiala2014-02-281-0/+1
| | | | | | | | | | | | | This change adds a missing include path to the ObjC LanguageRuntime path to the MacOSX SystemRuntime plugin's Makefile. It also adds the panel and curses library to the liblldb shared library linkage step. Changes by Jevin Sweval with a minor tweak. llvm-svn: 202547
* Small fix for i386 extended backtraces; wasn't skipping aJason Molenda2014-02-261-5/+6
| | | | | | | | 4-byte reserved area when reading the libBacktraceRecording API results. Also, add a little logging about queues being created. <rdar://problem/16127752> llvm-svn: 202306
* Add some additional logging to the Mac OS X SystemRuntime. Fix a bug where ↵Jason Molenda2014-02-155-6/+22
| | | | | | lldb could free an inferior's vm_page. llvm-svn: 201447
* Fix cmake compilation on Mac OS X.Filipe Cabecinhas2014-02-121-0/+3
| | | | llvm-svn: 201200
* Adjust the calls to __introspection_dispatch_thread_get_item_info toJason Molenda2014-02-113-9/+24
| | | | | | | | use a system-wide unique thread ID instead of a pthread_t to identify the thread we want debug info for. Also, free some more memory regions that needed to be freed. llvm-svn: 201117
* Change the Mac OS X SystemRuntime plugin from using the placeholderJason Molenda2014-02-0511-335/+2651
| | | | | | | | | | | | | | libldi library to collect extended backtrace information; switch to the libBacktraceRecording library and its APIs. Complete the work of adding QueueItems to Queues and allow for the QueueItems to be interrogated about their extended backtraces in turn. There's still cleanup and documentation to do on this code but the code is functional and I it's a good time to get the work-in-progress checked in. <rdar://problem/15314027> llvm-svn: 200822
* Make lldb build with Makefiles on OS X.Todd Fiala2014-01-181-0/+14
| | | | | | | | | | | | | | | | | | This change does the following: * Adds Makefile build scripts to debug server. * Fixes a few small mistakes in the other makefiles. * Modifies generate-vers.pl slightly to also work for debugserver. * Changes the OS X, non-framework python search path from libdir to libdir/python2.X/site-packages where it is installed by the build system (also where it is installed on other operating systems). Patch by Keno Fischer. llvm-svn: 199543
* Add new Queue, QueueItem, Queuelist, SBQueue, SBQueueItem classes to representJason Molenda2013-12-132-1/+25
| | | | | | | | | libdispatch aka Grand Central Dispatch (GCD) queues. Still fleshing out the documentation and testing of these but the overall API is settling down so it's a good time to check it in. <rdar://problem/15600370> llvm-svn: 197190
* Add logging for the SB API which creates extendedJason Molenda2013-11-192-8/+40
| | | | | | | | | | threads. Take a stab at fixing the too-soon freeing of the extended backtrace thread list in Process. <rdar://problem/15496603> llvm-svn: 195104
* Add a new SBThread::GetExtendedBacktraceOriginatingIndexID() methodJason Molenda2013-11-162-2/+47
| | | | | | | | | | (and same thing to Thread base class) which can be used when looking at an ExtendedBacktrace thread; it will try to find the IndexID() of the original thread that was executing this backtrace when it was recorded. If lldb can't find a record of that thread, it will return the same value as IndexID() for the ExtendedBacktrace thread. llvm-svn: 194912
* Commit a work-in-progress system runtime for Mac OS X which won'tJason Molenda2013-11-153-0/+601
do anything right now. Add a few new methods to the Thread base class which HistoryThread needs. I think I updated all the CMakeLists files correctly for the new plugin. llvm-svn: 194756
OpenPOWER on IntegriCloud