summaryrefslogtreecommitdiffstats
path: root/lldb/scripts/build-llvm.pl
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove libEnhancedDisassembly.dylibGreg Clayton2011-08-021-32/+1
| | | | llvm-svn: 136713
* Updated LLVM to pick up a few new ARM targets.Sean Callanan2011-08-011-1/+1
| | | | llvm-svn: 136622
* This change brings in the latest LLVM/Clang, andSean Callanan2011-07-301-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | completes the support in the LLDB expression parser for incomplete types. Clang now imports types lazily, and we complete those types as necessary. Changes include: - ClangASTSource now supports three APIs which it passes to ClangExpressionDeclMap. CompleteType completes a TagDecl or an ObjCInterfaceDecl when needed; FindExternalVisibleDecls finds named entities that are visible in the expression's scope; and FindExternalLexicalDecls performs a (potentially restricted) search for entities inside a lexical scope like a namespace. These changes mean that entities in namespaces should work normally. - The SymbolFileDWARF code for searching a context for a specific name is now more general, and can search arbitrary contexts. - We are continuing to adapt our calls into LLVM from interfaces that take start and end iterators when accepting multiple items to interfaces that use ArrayRef. - I have cleaned up some code, especially our use of namespaces. This change is neutral for our testsuite and greatly improves correctness for large programs (like Clang) with complicated type systems. It should also lay the groundwork for improving the expression parser's performance as we are lazier and lazier about providing type information. llvm-svn: 136555
* This commit integrates support for the LLVM MCJITSean Callanan2011-05-231-1/+4
| | | | | | | | | | | | | | | | | | | | | | | into the mainline LLDB codebase. MCJIT introduces API improvements and better architectural support. This commit adds a new subsystem, the ProcessDataAllocator, which is responsible for performing static data allocations on behalf of the IR transformer. MCJIT currently does not support the relocations required to store the constant pool in the same allocation as the function body, so we allocate a heap region separately and redirect static data references from the expression to that heap region in a new IR modification pass. This patch also fixes bugs in the IR transformations that were exposed by the transition to the MCJIT. Finally, the patch also pulls in a more recent revision of LLVM so that the MCJIT is available for use. llvm-svn: 131923
* Updated to use the latest LLVM/Clang, to pick up JITSean Callanan2011-05-151-1/+1
| | | | | | changes. llvm-svn: 131391
* Did some work on the "register read" command to only show the first registerGreg Clayton2011-04-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | set by default when dumping registers. If you want to see all of the register sets you can use the "--all" option: (lldb) register read --all If you want to just see some register sets, you can currently specify them by index: (lldb) register read --set 0 --set 2 We need to get shorter register set names soon so we can specify the register sets by name without having to type too much. I will make this change soon. You can also have any integer encoded registers resolve the address values back to any code or data from the object files using the "--lookup" option. Below is sample output when stopped in the libc function "puts" with some const strings in registers: Process 8973 stopped * thread #1: tid = 0x2c03, 0x00007fff828fa30f libSystem.B.dylib`puts + 1, stop reason = instruction step into frame #0: 0x00007fff828fa30f libSystem.B.dylib`puts + 1 (lldb) register read --lookup General Purpose Registers: rax = 0x0000000100000e98 "----------------------------------------------------------------------" rbx = 0x0000000000000000 rcx = 0x0000000000000001 rdx = 0x0000000000000000 rdi = 0x0000000100000e98 "----------------------------------------------------------------------" rsi = 0x0000000100800000 rbp = 0x00007fff5fbff710 rsp = 0x00007fff5fbff280 r8 = 0x0000000000000040 r9 = 0x0000000000000000 r10 = 0x0000000000000000 r11 = 0x0000000000000246 r12 = 0x0000000000000000 r13 = 0x0000000000000000 r14 = 0x0000000000000000 r15 = 0x0000000000000000 rip = 0x00007fff828fa30f libSystem.B.dylib`puts + 1 rflags = 0x0000000000000246 cs = 0x0000000000000027 fs = 0x0000000000000000 gs = 0x0000000000000000 As we can see, we see two constant strings and the PC (register "rip") is showing the code it resolves to. I fixed the register "--format" option to work as expected. Added a setting to disable skipping the function prologue when setting breakpoints as a target settings variable: (lldb) settings set target.skip-prologue false Updated the user settings controller boolean value handler funciton to be able to take the default value so it can correctly respond to the eVarSetOperationClear operation. Did some usability work on the OptionValue classes. Fixed the "image lookup" command to correctly respond to the "--verbose" option and display the detailed symbol context information when looking up line table entries and functions by name. This previously was only working for address lookups. llvm-svn: 129977
* Updated LLVM to pick up fixes to the ARM instructionSean Callanan2011-04-141-1/+1
| | | | | | tables. llvm-svn: 129500
* Modified the ArchSpec to take an optional "Platform *" when setting the triple.Greg Clayton2011-04-071-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | This allows you to have a platform selected, then specify a triple using "i386" and have the remaining triple items (vendor, os, and environment) set automatically. Many interpreter commands take the "--arch" option to specify an architecture triple, so now the command options needed to be able to get to the current platform, so the Options class now take a reference to the interpreter on construction. Modified the build LLVM building in the Xcode project to use the new Xcode project level user definitions: LLVM_BUILD_DIR - a path to the llvm build directory LLVM_SOURCE_DIR - a path to the llvm sources for the llvm that will be used to build lldb LLVM_CONFIGURATION - the configuration that lldb is built for (Release, Release+Asserts, Debug, Debug+Asserts). I also changed the LLVM build to not check if "lldb/llvm" is a symlink and then assume it is a real llvm build directory versus the unzipped llvm.zip package, so now you can actually have a "lldb/llvm" directory in your lldb sources. llvm-svn: 129112
* Updated LLDB to use a recent LLVM/Clang, pullingSean Callanan2011-03-261-1/+1
| | | | | | in stability fixes for the ARM and Thumb disassemblers. llvm-svn: 128316
* Updated LLVM/Clang to the latest release, to pickSean Callanan2011-03-151-1/+1
| | | | | | up AVX disassembly support. llvm-svn: 127695
* Updated to LLVM/Clang revision 127600.Sean Callanan2011-03-151-1/+2
| | | | llvm-svn: 127634
* Updated Clang to a version that supports propagatingSean Callanan2011-01-271-1/+1
| | | | | | | | the "virtual" flag when importing a C++ function declaration. Made changes to LLDB to support other changes in Clang. llvm-svn: 124355
* Updated to revision 123723 of LLVM, to bring inSean Callanan2011-01-181-3/+1
| | | | | | support for minimal type import functionality. llvm-svn: 123787
* Updated to latest Clang revision. This involvedSean Callanan2010-12-131-1/+1
| | | | | | | | very minor changes, changing how we get the target type from a TypedefType, adding a parameter to EnumDecl::Create(), and other minor tweaks. llvm-svn: 121663
* Updated to latest LLVM/Clang for external AST source changes that allowGreg Clayton2010-12-021-1/+1
| | | | | | | TagDecl subclasses and Objective C interfaces to complete themselves through the ExternalASTSource class. llvm-svn: 120749
* Updated to latest and greatest clang for a "print cvr-qualifiers on function Greg Clayton2010-11-191-1/+1
| | | | | | declarations" fix. llvm-svn: 119847
* Updated to the LLVM/Clang of 2010-11-17 at 3:30pm.Sean Callanan2010-11-181-1/+1
| | | | llvm-svn: 119677
* Updated LLVM to latest version as of 10/28 atSean Callanan2010-10-291-1/+1
| | | | | | 7pm, and made minor integration fixes. llvm-svn: 117680
* Modified the "breakpoint set --name NAME" to be the auto breakpoint set Greg Clayton2010-10-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | function. It will inspect NAME and do the following: - if the name contains '(' or starts with "-[" or "+[" then a full name search will happen to match full function names with args (C++ demangled names) or full objective C method prototypes. - if the name contains "::" and no '(', then it is assumed to be a qualified function name that is in a namespace or class. For "foo::bar::baz" we will search for any functions with the basename or method name of "baz", then filter the results to only those that contain "foo::bar::baz". This allows setting breakpoint on C++ functions and methods without having to fully qualify all of the types that would appear in C++ mangled names. - if the name contains ":" (not "::"), then NAME is assumed to be an ObjC selector. _ otherwise, we assume just a plain function basename. Now that "--name" is our "auto" mode, I introduced the new "--basename" option ("breakpoint set --basename NAME") to allow for function names that aren't methods or selectors, just basenames. This can also be used to ignore C++ namespaces and class hierarchies for class methods. Fixed clang enumeration promotion types to be correct. llvm-svn: 116293
* Update to the latest Clang, which fixes a problemSean Callanan2010-10-021-1/+1
| | | | | | with importing class/struct types. llvm-svn: 115394
* Updated LLVM to: --revision '{2010-09-28T19:30}'Greg Clayton2010-09-291-1/+1
| | | | | | | | | | | | | | | | This gets us the new clang::CXXRecordDecl improvments in clang so that when we add fields, methods and other things to the clang::CXXRecordDecl, the correct bits are automatically set by clang::CXXRecordDecl itself instead of having SEMA and our lldb_private::ClangASTContext functions that create types for DWARF do it all manually. This allows the clang::ASTContext deep copying of types to work correctly and it means that the expression parser can now evaluate expressions in the context of a class method correctly. Previously when a class was copied from the DWARF generated ASTContext over into the expression ASTContext, we were losing CXXRecordDecl bits in the conversion which caused all classes to think they were at offset zero because the the bools for empty, POD, and others would end up being incorrect. llvm-svn: 115023
* Updated to latest LLVM. Major LLVM changes:Sean Callanan2010-09-231-3/+4
| | | | | | | | | | - Sema is now exported (and there was much rejoicing.) - Storage classes are now centrally defined. Also fixed some bugs that the new LLVM picked up. llvm-svn: 114622
* Added support for objective C built-in types: id, Class, and SEL. This Greg Clayton2010-08-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | involved watching for the objective C built-in types in DWARF and making sure when we convert the DWARF types into clang types that we use the appropriate ASTContext types. Added a way to find and dump types in lldb (something equivalent to gdb's "ptype" command): image lookup --type <TYPENAME> This only works for looking up types by name and won't work with variables. It also currently dumps out verbose internal information. I will modify it to dump more appropriate user level info in my next submission. Hookup up the "FindTypes()" functions in the SymbolFile and SymbolVendor so we can lookup types by name in one or more images. Fixed "image lookup --address <ADDRESS>" to be able to correctly show all symbol context information, but it will only show this extra information when the new "--verbose" flag is used. Updated to latest LLVM to get a few needed fixes. llvm-svn: 110089
* Updated to llvm/clang from July 30, 2010 at 08:00.Greg Clayton2010-07-301-1/+1
| | | | llvm-svn: 109887
* Updated LLVM and Clang to July 20 at 16:00.Greg Clayton2010-07-211-1/+6
| | | | llvm-svn: 109016
* Removed unused variable "log".Greg Clayton2010-07-131-0/+4
| | | | | | | Fixed the llvm build for Mac OS X builds to look in llvm/lib/Release+Asserts output directory for all configurations (Debug, Release, BuildAndIntegration). llvm-svn: 108289
* Updated to latest llvm from July 13th, 2010 at 13:00.Greg Clayton2010-07-131-1/+1
| | | | llvm-svn: 108285
* Updated to build against the latest LLVM release.Sean Callanan2010-07-081-2/+2
| | | | | | | | | Also fixed our build to define NDEBUG; code that uses LLVM headers without NDEBUG is binary-incompatible with libraries built with NDEBUG. llvm-svn: 107853
* Updated to llvm/clang from July 2, 2010 at 8:00AM.Greg Clayton2010-07-021-1/+1
| | | | llvm-svn: 107494
* Updated LLVM/Clang to revision from 2010-06-13T06:00.Greg Clayton2010-06-131-1/+1
| | | | llvm-svn: 105918
* Initial checkin of lldb code from internal Apple repo.Chris Lattner2010-06-081-0/+409
llvm-svn: 105619
OpenPOWER on IntegriCloud