Revision tags: llvmorg-3.7.0, llvmorg-3.7.0-rc4 |
|
#
c178d4c0 |
| 25-Aug-2015 |
Tamas Berghammer <tberghammer@google.com> |
Add support for DW_FORM_GNU_[addr,str]_index
These are 2 new value currently in experimental status used when split debug info is enabled.
Differential revision: http://reviews.llvm.org/D12238
llv
Add support for DW_FORM_GNU_[addr,str]_index
These are 2 new value currently in experimental status used when split debug info is enabled.
Differential revision: http://reviews.llvm.org/D12238
llvm-svn: 245931
show more ...
|
#
42ecef3b |
| 24-Aug-2015 |
Tamas Berghammer <tberghammer@google.com> |
Add absolute load address support for the DynamicLoader plugins
The POSIX linker generally reports the load bias for the loaded libraries but in some case it is useful to handle a library based on a
Add absolute load address support for the DynamicLoader plugins
The POSIX linker generally reports the load bias for the loaded libraries but in some case it is useful to handle a library based on absolute load address. Example usecases: * Windows linker uses absolute addresses * Library list came from different source (e.g. /proc/<pid>/maps)
Differential revision: http://reviews.llvm.org/D12233
llvm-svn: 245834
show more ...
|
Revision tags: llvmorg-3.7.0-rc3, studio-1.4, llvmorg-3.7.0-rc2 |
|
#
d00438e8 |
| 30-Jul-2015 |
Tamas Berghammer <tberghammer@google.com> |
Fix issues with separate symbolfile handling
Differential revision: http://reviews.llvm.org/D11595
llvm-svn: 243637
|
#
e171da5c |
| 22-Jul-2015 |
Bruce Mitchener <bruce.mitchener@gmail.com> |
Fix typos.
Summary: Fix a bunch of typos.
Reviewers: clayborg
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D11386
llvm-svn: 242856
|
Revision tags: llvmorg-3.7.0-rc1 |
|
#
501a7819 |
| 16-Jul-2015 |
Jaydeep Patil <jaydeep.patil@imgtec.com> |
[LLDB][MIPS] Detect MIPS application specific extensions like micromips SUMMARY: The patch detects MIPS application specific extensions (ASE) like micromips by reading ELF header.e_flags
[LLDB][MIPS] Detect MIPS application specific extensions like micromips SUMMARY: The patch detects MIPS application specific extensions (ASE) like micromips by reading ELF header.e_flags and SHT_MIPS_ABIFLAGS section. MIPS triple does not contain ASE information like micromips, mips16, DSP, MSA etc. These can be read from header.e_flags or SHT_MIPS_ABIFLAGS section. Reviewers: clayborg Subscribers: mohit.bhakkad, sagar, lldb-commits Differential Revision: http://reviews.llvm.org/D11133
llvm-svn: 242381
show more ...
|
#
c9627aea |
| 13-Jul-2015 |
Tamas Berghammer <tberghammer@google.com> |
Skip oatdata and oatexec symbols in system@framework@boot.oat
On Android the oatdata and the oatexec symbols in system@framework@boot.oat covers the full .text section what causes issues with displa
Skip oatdata and oatexec symbols in system@framework@boot.oat
On Android the oatdata and the oatexec symbols in system@framework@boot.oat covers the full .text section what causes issues with displaying unusable symbol name to the user and very slow unwinding speed because the instruction emulation based unwind plans try to emulate all instructions in these symbols. Don't add these symbols to the symbol list as they have no use for the debugger and they are causing a lot of trouble.
Differential revision: http://reviews.llvm.org/D11065
llvm-svn: 242017
show more ...
|
#
ddaf6a72 |
| 08-Jul-2015 |
Greg Clayton <gclayton@apple.com> |
Make many mangled functions that might demangle a name be allowed to specify a language to use in order to soon support Pascal and Java demangling. Dawn Perchik will take care of making this so.
llv
Make many mangled functions that might demangle a name be allowed to specify a language to use in order to soon support Pascal and Java demangling. Dawn Perchik will take care of making this so.
llvm-svn: 241751
show more ...
|
#
0b6ba7c6 |
| 04-Jul-2015 |
Bruce Mitchener <bruce.mitchener@gmail.com> |
Use string::find(char) for single character strings.
Summary: Use string::find(char) for single character strings.
Reviewers: abidh, ki.stfu, clayborg
Subscribers: lldb-commits
Differential Revis
Use string::find(char) for single character strings.
Summary: Use string::find(char) for single character strings.
Reviewers: abidh, ki.stfu, clayborg
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D10943
llvm-svn: 241390
show more ...
|
#
f2561846 |
| 30-Jun-2015 |
Tamas Berghammer <tberghammer@google.com> |
Fix [vdso] handling on Android (x86 and aarch64)
* Add in-memory object file handling to the core dynamic loader * Fix in memory object file handling in ObjectFileELF (previously only part of the
Fix [vdso] handling on Android (x86 and aarch64)
* Add in-memory object file handling to the core dynamic loader * Fix in memory object file handling in ObjectFileELF (previously only part of the file was loaded before parsing) * Fix load address setting in ObjectFileELF for 32-bit targets when the load bias is negative * Change hack in DYLDRendezvous.cpp to be more specific and not to interfere with object files with fixed load address
Differential revision: http://reviews.llvm.org/D10800
llvm-svn: 241057
show more ...
|
#
358cf1ea |
| 25-Jun-2015 |
Greg Clayton <gclayton@apple.com> |
Resubmitting 240466 after fixing the linux test suite failures.
A few extras were fixed
- Symbol::GetAddress() now returns an Address object, not a reference. There were places where people were ac
Resubmitting 240466 after fixing the linux test suite failures.
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
show more ...
|
Revision tags: llvmorg-3.6.2 |
|
#
2480fe06 |
| 24-Jun-2015 |
Tamas Berghammer <tberghammer@google.com> |
Fix location of symbol size calculation in ObjectFileELF
Bug introduced by r240533
llvm-svn: 240537
|
#
44ff9cce |
| 24-Jun-2015 |
Tamas Berghammer <tberghammer@google.com> |
Improve instruction emulation based stack unwinding on ARM
* Add and fix the emulation of several instruction. * Disable frame pointer usage on Android. * Specify return address register for the unw
Improve instruction emulation based stack unwinding on ARM
* Add and fix the emulation of several instruction. * Disable frame pointer usage on Android. * Specify return address register for the unwind plan instead of explict tracking the value of RA. * Replace prologue detection heuristics (unreliable in several cases) with a logic to follow the branch instructions and restore the CFI value based on them. The target address for a branch should have the same CFI as the source address (if they are in the same function). * Handle symbols in ELF files where the symbol size is not specified with calcualting their size based on the next symbol (already done in MachO files). * Fix architecture in FuncUnwinders with filling up the inforamtion missing from the object file with the architecture of the target. * Add code to read register wehn the value is set to "IsSame" as it meanse the value of a register in the parent frame is the same as the value in the current frame.
Differential revision: http://reviews.llvm.org/D10447
llvm-svn: 240533
show more ...
|
Revision tags: llvmorg-3.6.2-rc1 |
|
#
f6a1312f |
| 05-Jun-2015 |
Ed Maste <emaste@freebsd.org> |
Improve OSType initialization in elf object file's arch_spec
Setting the OSType in the ArchSpec triple is needed to correctly setup up the register context plugin. ArchSpec::SetArchitecture, for Mac
Improve OSType initialization in elf object file's arch_spec
Setting the OSType in the ArchSpec triple is needed to correctly setup up the register context plugin. ArchSpec::SetArchitecture, for Mach-O only, sets the OSType. For ELF it was left to the ObjectFileELF to fill in the missing OSType.
This change moves the ObjectFileELF logic into ArchSpec.
A new optional 'os' parameter has been added to SetArchitecture. For ELF, this value is the from the ELF header.e_ident[EI_OSABI]. The default value is 0 or ELFOSABI_NONE.
The real work of determining the OSType was done by the ObjectFileELF helper function GetOsFromOSABI. This logic has been moved SetArchitecture.
GetOsFromOSABI has been commented as being deprectated. It is left in to support asserts.
For ELF the vendor value returned from SetArchitecture should be UnknownVendor. An unneeded resetting in ObjectFileELF has been removed and replaced with an assert.
This fixes a problem reading a core file on FreeBSD/ARM because the spec triple was arm-unknown-unknown.
Patch by Tom Rix.
Differential Revision: http://reviews.llvm.org/D9292
llvm-svn: 239148
show more ...
|
#
5f2d0c3c |
| 28-May-2015 |
Aidan Dodds <aidan@codeplay.com> |
Fix THUMB function detection when function name is not prefixed.
Differential Revision: http://reviews.llvm.org/D10062
llvm-svn: 238433
|
Revision tags: llvmorg-3.6.1, llvmorg-3.6.1-rc1 |
|
#
85fadd9f |
| 08-May-2015 |
Tamas Berghammer <tberghammer@google.com> |
Fix parsing of the plt section for android-arm
The ELF data contains two different errors in some ELF files on android. * The link field of the symbol table don't point to the plt section or to th
Fix parsing of the plt section for android-arm
The ELF data contains two different errors in some ELF files on android. * The link field of the symbol table don't point to the plt section or to the dynsym section even when it is present in the ELF files. * The size of the plt entries aren't specified in the section header of the plt section.
This CL adds some workarounds for these two issue with finding the sections by name if the link field is empty and by using a heuristic to calculate the size and offset of the plt entries.
Differential revision: http://reviews.llvm.org/D9560
llvm-svn: 236818
show more ...
|
#
e8659b5d |
| 23-Apr-2015 |
Mohit K. Bhakkad <mohit.bhakkad@gmail.com> |
[LLDB][MIPS] Add MIPS32 and MIPS64 core revisions Patch by Jaydeep Patil
Added MIPS32 and MIPS64 core revisions. This would be followed by register context and emulate-instruction for MIPS32.
DYLDR
[LLDB][MIPS] Add MIPS32 and MIPS64 core revisions Patch by Jaydeep Patil
Added MIPS32 and MIPS64 core revisions. This would be followed by register context and emulate-instruction for MIPS32.
DYLDRendezvous.cpp: On Linux link map struct does not contain extra load offset field.
Reviewers: clayborg Subscribers: bhushan, mohit.bhakkad, sagar, lldb-commits. Differential Revision: http://reviews.llvm.org/D9190
llvm-svn: 235574
show more ...
|
#
985c9f0c |
| 18-Apr-2015 |
Oleksiy Vyalov <ovyalov@google.com> |
Remove usages of host architecture within ELF object file for unknown parts of ArchSpec.
http://reviews.llvm.org/D9078
llvm-svn: 235255
|
#
b52bbd17 |
| 17-Apr-2015 |
Tamas Berghammer <tberghammer@google.com> |
Fix mapping symbol handling on arm 32/64
The debug info section contains some $d mapping symbol what is overlapping with code sections in other sections of the object file causing problem in the add
Fix mapping symbol handling on arm 32/64
The debug info section contains some $d mapping symbol what is overlapping with code sections in other sections of the object file causing problem in the address class detection. This CL ignores these symboles from the address class map as the debug info sections don't use this map.
Differential revision: http://reviews.llvm.org/D9050
llvm-svn: 235171
show more ...
|
#
1b222b14 |
| 16-Apr-2015 |
Tamas Berghammer <tberghammer@google.com> |
Fix thumb symbol value fixup in ObjectFileELF
llvm-svn: 235098
|
#
83544cf6 |
| 07-Apr-2015 |
Tamas Berghammer <tberghammer@google.com> |
Ignore mapping symbols on aarch64
ELF symbol tables on aarch64 may contains some mapping symbols. They provide information about the underlying data but interfere with symbol look-up of lldb. They a
Ignore mapping symbols on aarch64
ELF symbol tables on aarch64 may contains some mapping symbols. They provide information about the underlying data but interfere with symbol look-up of lldb. They are already ignored on arm32. With this CL they will be ignored on aarch64 also.
Differential revision: http://reviews.llvm.org/D8776
llvm-svn: 234307
show more ...
|
#
db037d9c |
| 18-Mar-2015 |
Tamas Berghammer <tberghammer@google.com> |
Parse .note.android.ident header from elf files
In android a .note.android.ident section header is added to the elf files to provide information for the debuggers that it is an android specific modu
Parse .note.android.ident header from elf files
In android a .note.android.ident section header is added to the elf files to provide information for the debuggers that it is an android specific module. This CL add logic to parse it out from the elf files and set the module specification based on it.
Differential revision: http://reviews.llvm.org/D8377
llvm-svn: 232625
show more ...
|
Revision tags: llvmorg-3.5.2, llvmorg-3.5.2-rc1 |
|
#
3df471c3 |
| 17-Mar-2015 |
Mohit K. Bhakkad <mohit.bhakkad@gmail.com> |
[MIPS] - Register Context for MIPS64
Patch by Jaydeep Patil
Summery: 1. Add MIPS variants by parsing e_flags of the ELF 2. Create RegisterInfoInterface and RegisterContext for MIPS64 and MIPS64EL
[MIPS] - Register Context for MIPS64
Patch by Jaydeep Patil
Summery: 1. Add MIPS variants by parsing e_flags of the ELF 2. Create RegisterInfoInterface and RegisterContext for MIPS64 and MIPS64EL
Reviewers: clayborg
Subscribers: tberghammer, bhushan, mohit.bhakkad, sagar
Differential Revision: http://reviews.llvm.org/D8166
llvm-svn: 232467
show more ...
|
#
63acdfde |
| 10-Mar-2015 |
Oleksiy Vyalov <ovyalov@google.com> |
Add Utility/ModuleCache class and integrate it with PlatformGDBRemoteServer - in order to allow modules caching from remote targets.
http://reviews.llvm.org/D8037
llvm-svn: 231734
|
#
783cbdcd |
| 04-Mar-2015 |
Pavel Labath <labath@google.com> |
Use the unified section list when generating a symbol table
Summary: Symbol table generation code was failing to take into account the debug symbols because the object file was looking only into its
Use the unified section list when generating a symbol table
Summary: Symbol table generation code was failing to take into account the debug symbols because the object file was looking only into its own section list when doing the generation, even though the debug symbols from another object file were correctly detected and loaded by the SymbolVendor. This changes the code to use the unified section list, which fixes this problem.
Test Plan: I do not intend do submit this yet since it causes (or more like, exposes) the issue in D7884, but I wanted to put this out here, so that anyone who wants to take a look at it can do so. (And I also wanted to know if this is the right approach to the problem :).
Reviewers: clayborg, zturner
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D7913
llvm-svn: 231229
show more ...
|
#
c6ae7eaa |
| 04-Mar-2015 |
Pavel Labath <labath@google.com> |
Correctly resolve symbol names containing linker annotations
Summary: Symbols in ELF files can be versioned, but LLDB currently does not understand these. This problem becomes apparent once one load
Correctly resolve symbol names containing linker annotations
Summary: Symbols in ELF files can be versioned, but LLDB currently does not understand these. This problem becomes apparent once one loads glibc with debug info. Here (in the .symtab section) the versions are embedded in the name (name@VERSION), which causes issues when evaluating expressions referencing memcpy for example (current glibc contains memcpy@@GLIBC_2.14 and memcpy@GLIBC_2.2.5).
This problem was not evident without debug symbols as the .dynsym section stores the bare names and the actual versions are present in a separate section (.gnu.version_d), which LLDB ignores. This resulted in two definitions of memcpy in the symbol table.
This patch adds support for storing annotated names to the Symbol class. If Symbol.m_contains_linker_annotations is true then this symbol is annotated. Unannotated name can be obtained by calling StripLinkerAnnotations on the corresponding ObjectFile. ObjectFileELF implements this to strip @VERSION suffixes when requested. Symtab uses this function to add the bare name as well as the annotated name to the name lookup table.
To preserve the size of the Symbol class, I had to steal one bit from the m_type field.
Test Plan: This fixes TestExprHelpExamples.py when run with a glibc with debug symbols. Writing an environment agnostic test case would require building a custom shared library with symbol versions and testing symbol resolution against that, which is somewhat challenging.
Reviewers: clayborg, jingham
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D8036
llvm-svn: 231228
show more ...
|