summaryrefslogtreecommitdiffstats
path: root/lldb/source/Core
Commit message (Collapse)AuthorAgeFilesLines
...
* <rdar://problem/15319880>Enrico Granata2013-10-251-0/+10
| | | | | | | | | | Introduce a new boolean setting enable-auto-oneliner This setting if set to false will force LLDB to not use the new compact one-line display By default, one-line mode stays on, at least until we can be confident it works. But now if it seriously impedes your workflow while it evolves/it works wonders but you still hate it, there's a way to turn it off llvm-svn: 193450
* <rdar://problem/15235492>Enrico Granata2013-10-151-3/+3
| | | | | | | | | Extend DummySyntheticProvider to actually use debug-info vended children as the source of information Make Python synthetic children either be valid, or fallback to the dummy, like their C++ counterparts This allows LLDB to actually stop bailing out upon encountering an invalid synthetic children provider front-end, and still displaying the non synthetized ivar info llvm-svn: 192741
* <rdar://problem/15191078>Greg Clayton2013-10-111-0/+32
| | | | | | Fixed Module::ResolveSymbolContextForAddress() to be able to also look in the SymbolVendor's SymbolFile's ObjectFile for a more meaningful symbol when a symbol lookup finds a synthetic symbol from the main object file. This will help lookups on MacOSX as the main executable might be stripped, but the dSYM file always has a full symbol table. llvm-svn: 192510
* Update comment (MIPS also has 32-bit opcodes)Ed Maste2013-10-101-2/+2
| | | | llvm-svn: 192388
* POSIX RegisterContext for mips64Ed Maste2013-10-101-2/+4
| | | | | | | | | Based on the POSIX x86_64 register context. This is sufficient for opening a mips64 (big endian) core file. Subsequent changes will connect the disassembler, dynamic loader support, ABI, etc. Review: http://llvm-reviews.chandlerc.com/D1873 llvm-svn: 192335
* Fix endianness in ObjectFile::CopyDataEd Maste2013-10-091-0/+15
| | | | | | | | | | | | ObjectFile::CopyData is used to copy a block of target memory to the caller's buffer (e.g. for "memory read"). This should be a straight memcpy, and not byte-swapped if the target and host have different endianness. Add a new DataExtractor::CopyData() method that performs this straight copy and use it in ObjectFile::CopyData(). llvm-svn: 192323
* Fixed a bug where variables' byte sizes would notSean Callanan2013-10-092-9/+27
| | | | | | | | | respect their Clang types if the variables' values were represented by DWARF constu values. <rdar://problem/14636499> llvm-svn: 192267
* <rdar://problem/14923930>Enrico Granata2013-10-091-6/+5
| | | | | | | | Constant ValueObjects should clear their description as well as their summary. Rationale being that both can depend on deeper-than-constified data so both are subject to changes in "unpredictable" ways To see this consider repeatedly po'ing a persistent variable of a type whose -description result changes at each invocation llvm-svn: 192259
* <rdar://problem/11778815>Enrico Granata2013-10-081-1/+1
| | | | | | | Formats (as in "type format") are now included in categories The only bit missing is caching formats along with synthetic children and summaries, which might be now desirable llvm-svn: 192217
* Add entries for arm6m to ArchSpec's g_macho_arch_entries.Jason Molenda2013-10-081-0/+2
| | | | | | <rdar://problem/15099306> llvm-svn: 192161
* Made all other "operator bool"s explicit and ensuredSean Callanan2013-10-041-8/+8
| | | | | | | | | | that all clients use them explicitly. This will hopefully prevent any future confusion where things get cast to types we don't expect. <rdar://problem/15146458> llvm-svn: 191984
* Remove EOL whitespace and redundant break statementEd Maste2013-10-041-11/+11
| | | | llvm-svn: 191960
* Changed the bool conversion operator on ConstStringSean Callanan2013-10-034-7/+7
| | | | | | | | | | | | | | | to be explicit, to prevent horrid things like std::string a = ConstString("foo") from taking the path ConstString -> bool -> char -> std::string. This fixes, among other things, ClangFunction. <rdar://problem/15137989> llvm-svn: 191934
* <rdar://problem/14393032>Enrico Granata2013-09-302-304/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DumpValueObject() 2.0 This checkin restores pre-Xcode5 functionality to the "po" (expr -O) command: - expr now has a new --description-verbosity (-v) argument, which takes either compact or full as a value (-v is the same as -vfull) When the full mode is on, "po" will show the extended output with type name, persistent variable name and value, as in (lldb) expr -O -v -- foo (id) $0 = 0x000000010010baf0 { 1 = 2; 2 = 3; } When -v is omitted, or -vcompact is passed, the Xcode5-style output will be shown, as in (lldb) expr -O -- foo { 1 = 2; 2 = 3; } - for a non-ObjectiveC object, LLDB will still try to retrieve a summary and/or value to display (lldb) po 5 5 -v also works in this mode (lldb) expr -O -vfull -- 5 (int) $4 = 5 On top of that, this is a major refactoring of the ValueObject printing code. The functionality is now factored into a ValueObjectPrinter class for easier maintenance in the future DumpValueObject() was turned into an instance method ValueObject::Dump() which simply calls through to the printer code, Dump_Impl has been removed Test case to follow llvm-svn: 191694
* Mark armv6m as "compatible" with armv7 - that's theJason Molenda2013-09-271-1/+1
| | | | | | | | closest ISA. armv6 wouldn't have the handful of T32 instructions that the Cortex-M0 ISA specifies. <rdar://problem/15099306> llvm-svn: 191588
* Add definitions for "armv6m", which indicates a Cortex-M0 processor.Jason Molenda2013-09-271-0/+11
| | | | | | | It uses the T16 and a few T32 instructions from the ARMv7-A ISA. <rdar://problem/15099306> llvm-svn: 191587
* missed one Close () call in 191446 overload fix for Posix only code.Carlo Kok2013-09-261-1/+1
| | | | llvm-svn: 191455
* On Windows MapViewOfFile requires the offset to be aligned on the system ↵Carlo Kok2013-09-261-8/+28
| | | | | | dwAllocationGranularity llvm-svn: 191447
* On windows a socket and file descriptor aren't the same kind of handle, pass ↵Carlo Kok2013-09-261-9/+13
| | | | | | the type to Close so it uses the right api to close it. llvm-svn: 191446
* NetBSD also has a size field in socket addresses.Joerg Sonnenberger2013-09-251-2/+2
| | | | llvm-svn: 191387
* Convert to UNIX line endings.Joerg Sonnenberger2013-09-251-76/+76
| | | | llvm-svn: 191367
* Target::m_suppress_synthetic_value was a hack required to disable synthetic ↵Enrico Granata2013-09-241-1/+1
| | | | | | | | | | values while passing an SBValue to a synthetic child provider, or incur an endless recursion Now that SBValues can be setup to ignore synthetic values, this is no longer necessary, and so m_suppress_synthetic_value can go away Another Hack Bites the Dust llvm-svn: 191338
* Adds an option to resolve a symbol from an address that can be usedAshok Thirumurthi2013-09-241-4/+14
| | | | | | | | | | | | | | | | | to build out the symbol table as addresses are used, and implements the mechanism for ELF to add stripped symbols from eh_frame. Uses this mechanism to allow disassembly for addresses corresponding to stripped symbols for ELF, and provide hooks to implement this for PE COFF. Also removes eSymbolContextTailCall in favor of an option for ResolveSymbolContextForAddress for consistency with the documentation for eSymbolContextEverything. Essentially, this is just an option for interpreting the so_addr. llvm-svn: 191307
* Fix lldb regressions due to r190812 in the case where debug info is present.Ashok Thirumurthi2013-09-201-2/+2
| | | | | | | | | | | | Specifically, allows the unwinder to handle the case where sc.function gets resolved with a pc that is one past the address range of the function (consistent with a tail call). However, there is no matching symbol. Adds eSymbolContextTailCall to provide callers with control over the scope of symbol resolution and to allow ResolveSymbolContextForAddress to handle tail calls since this routine is common to unwind and disassembly. llvm-svn: 191102
* Assert that only reg- or word-sized values are byte swappedEd Maste2013-09-191-1/+10
| | | | | | | | | | | | | Targets and hosts today are little-endian (arm, x86), so this change should be a no-op as they will not encounter the byte swapping cases. Byte swapping will happen when cross debugging of big endian-targets (e.g. MIPS, PPC) on a little-endian host (x86). Register- or word- sized data copies need to be swapped, but calls to ExtractBytes or CopyByteOrderedData that would invoke the swapping case are presumably in error. llvm-svn: 191005
* Fixed a logic error in Module::ResolveSymbolContextForAddress(). Asking an ↵Greg Clayton2013-09-181-2/+2
| | | | | | address if its offet is greater than zero doesn't actually correctly tell us wether the address is section offset or not. A symbol could be the first symbol in a section and its offset can be zero. Also, a non-section offset lldb_private::Address can have a NULL section and calling GetOffset() will return the absolute address. To really test if an address is section offset clients should use Address::IsSectionOffset(). Also simplified the code that backs the address up by one to use the Address::Slide() function. llvm-svn: 190955
* Visual Studio 2013 compilation support: added some #ifdef _MSC_VER for ↵Virgile Bello2013-09-183-0/+21
| | | | | | unsupported code in MSVC. llvm-svn: 190924
* Fix a typo in DataExtractor.cpp causing build breakageAshok Thirumurthi2013-09-171-0/+1
| | | | | | that was introduced by r190873. llvm-svn: 190879
* Don't output a stray 0x if GetData fails for memory read -f hexEd Maste2013-09-171-1/+1
| | | | llvm-svn: 190875
* Avoid abort on "memory read -s N" for N=3,5,6,7Ed Maste2013-09-171-18/+23
| | | | | | | | We cannot use "GetMaxU64Bitfield" for non-power-of-two sizes, so just use the same code that handles N > 8 for these. Review: http://llvm-reviews.chandlerc.com/D1699 llvm-svn: 190873
* Logging enhancements to ConnectionFileDescriptorAndrew Kaylor2013-09-171-5/+25
| | | | llvm-svn: 190872
* Fixes symbol resolution for a function with a tail call because the PCAshok Thirumurthi2013-09-161-11/+41
| | | | | | | | | | | | | | | for the frame is one past the address range of the calling function. - Lowers the fix from RegisterContextLLDB for use with disassembly - Fixes one of three issues in the disassembly test in TestInferiorAssert.py Also adds documentation that explains the resolution depths and interface. Note: This change affects the resolution scope for eSymbolContextFunction without impacting the performance of eSymbolContextSymbol. Thanks to Matt Kopec for his review. llvm-svn: 190812
* Disassembler::DisassembleRange() currently calls Target::ReadMemoryJason Molenda2013-09-121-2/+2
| | | | | | | | | | | | | with prefer_file_cache == false. This is what we want to do when the user is doing a disassemble command -- show the actual memory contents in case the memory has been corrupted or something -- but when we're profiling functions for stepping or unwinding (ThreadPlanStepRange::GetInstructionsForAddress, UnwindAssemblyInstEmulation::GetNonCallSiteUnwindP) we can read __TEXT instructions directly out of the file, if it exists. <rdar://problem/14397491> llvm-svn: 190638
* Added a 'jump' command, similar to GDBs.Richard Mitton2013-09-123-4/+42
| | | | | | | | | This allows the PC to be directly changed to a different line. It's similar to the example python script in examples/python/jump.py, except implemented as a builtin. Also this version will track the current function correctly even if the target line resolves to multiple addresses. (e.g. debugging a templated function) llvm-svn: 190572
* <rdar://problem/14071463>Enrico Granata2013-09-121-0/+80
| | | | | | | | SVN r189964 provided a sample Python script to inspect unordered(multi){set|map} with synthetic children, contribued by Jared Grubb This checkin converts that sample script to a C++ provider built into LLDB A test case is also provided llvm-svn: 190564
* Change a printf() formatter to use %d for a uint32_t.Jason Molenda2013-09-111-1/+1
| | | | llvm-svn: 190548
* Include file cleanup.Jim Ingham2013-09-051-1/+0
| | | | llvm-svn: 190084
* Remove spurious reference to radars in code (we try not to put Radar numbers ↵Jim Ingham2013-09-051-2/+0
| | | | | | into the sources.) llvm-svn: 190023
* Remove <windows.h> from lldb-types.h.Virgile Bello2013-09-042-10/+18
| | | | llvm-svn: 189934
* Fix a bunch of compile time warnings and a build failure on ubuntu.Eric Christopher2013-08-303-7/+7
| | | | llvm-svn: 189683
* Cleanup/rearrange includes:Virgile Bello2013-08-281-1/+0
| | | | | | | - factorize unistd.h and stdbool.h in lldb-types.h. - Add <functional> and <string> where required. llvm-svn: 189477
* Core: Fix non-Darwin build.Charles Davis2013-08-271-0/+2
| | | | | | More fallout from my mass-Mach-O-renaming. llvm-svn: 189323
* Fix some names in the wake of my Mach-O changes to LLVM.Charles Davis2013-08-273-54/+54
| | | | llvm-svn: 189317
* Plugins/ObjectFile/PECOFF: Use enums from LLVM, and don't use Mach-O ↵Charles Davis2013-08-271-1/+21
| | | | | | | | | | definitions. Since I renamed most of the LLVM Mach-O enums in r189314, I had to go fix LLDB to use the new names. While I was here, I decided that a COFF plugin really shouldn't be using Mach-O enums. llvm-svn: 189316
* merge lldb-platform-work branch (and assorted fixes) into trunkDaniel Malea2013-08-263-1/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This merge brings in the improved 'platform' command that knows how to interface with remote machines; that is, query OS/kernel information, push and pull files, run shell commands, etc... and implementation for the new communication packets that back that interface, at least on Darwin based operating systems via the POSIXPlatform class. Linux support is coming soon. Verified the test suite runs cleanly on Linux (x86_64), build OK on Mac OS X Mountain Lion. Additional improvements (not in the source SVN branch 'lldb-platform-work'): - cmake build scripts for lldb-platform - cleanup test suite - documentation stub for qPlatform_RunCommand - use log class instead of printf() directly - reverted work-in-progress-looking changes from test/types/TestAbstract.py that work towards running the test suite remotely. - add new logging category 'platform' Reviewers: Matt Kopec, Greg Clayton Review: http://llvm-reviews.chandlerc.com/D1493 llvm-svn: 189295
* MingW compilation (windows). Includes various refactoring to improve ↵Virgile Bello2013-08-237-23/+123
| | | | | | portability. llvm-svn: 189107
* Fixed DataExtractor to correctly display Intel extended doubles.Richard Mitton2013-08-191-19/+7
| | | | | | | | This means that "register read stmm0 --format f" actually works now. This is a little messy but LLDB assumes 'long double' is portable, when it is not. llvm-svn: 188698
* Add a new Section::SetFileAddress method to change a Section's fileJason Molenda2013-08-161-0/+18
| | | | | | | | | | | | | | | | | | | | | address. When loading a dSYM, and the file addresses of the dSYM Sections are different than the executable binary Sections' file addresses, the debug info won't be remapped to the actual load addresses correctly. This only happens with binaries on the in-memory shared cache binaries where their File addresses have been set to their actual load address (outside an offset value) whereas the original executable and dSYM have 0-based File addresses. I think this patch will not be activated for other cases -- this is the only case we know of where the dSYM and the executable's File addresses differ -- but if this causes other problems we can restrict it more carefully. <rdar://problem/12335086> llvm-svn: 188532
* When adding a dSYM file, don't remove all sections for the Module's object ↵Greg Clayton2013-08-131-1/+3
| | | | | | file if the symbol vendor used the same object file. llvm-svn: 188289
* <rdar://problem/14717184>Greg Clayton2013-08-131-1/+4
| | | | | | | | | | | | LLDB needs in memory module load level settings to control how much information is read from memory when loading in memory modules. This change adds a new setting: (lldb) settings set target.memory-module-load-level [minimal|partial|complete] minimal will load only sections (no symbols, or function bounds via function starts or EH frame) partial will load sections + bounds complete will load sections + bounds + symbols llvm-svn: 188246
OpenPOWER on IntegriCloud