History log of /llvm-project/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp (Results 276 – 300 of 366)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-3.6.0
# 736888c8 23-Feb-2015 Greg Clayton <gclayton@apple.com>

Avoid crashing by not mmap'ing files on network mounted file systems.

This is implemented by making a new FileSystem function:

bool
FileSystem::IsLocal(const FileSpec &spec)

Then using this in a n

Avoid crashing by not mmap'ing files on network mounted file systems.

This is implemented by making a new FileSystem function:

bool
FileSystem::IsLocal(const FileSpec &spec)

Then using this in a new function:

DataBufferSP
FileSpec::MemoryMapFileContentsIfLocal(off_t file_offset, size_t file_size) const;

This function only mmaps data if the file is a local file since that means we can reliably page in data. We were experiencing crashes where people would use debug info files on network mounted file systems and that mount would go away and cause the next access to a page that wasn't paged in to crash LLDB.

We now avoid this by just copying the data into a heap buffer and keeping a permanent copy to avoid the crash. Updated all previous users of FileSpec::MemoryMapFileContentsIfLocal() in ObjectFile subclasses over to use the new FileSpec::MemoryMapFileContentsIfLocal() function.

<rdar://problem/19470249>

llvm-svn: 230283

show more ...


# 3a8ab6ee 23-Feb-2015 Ed Maste <emaste@freebsd.org>

Exit early from DumpELFProgramHeaders if parse fails

This matches the way DumpELFSectionHeaders is implemented and is
recommended by the LLVM coding conventions.

llvm-svn: 230228


Revision tags: llvmorg-3.6.0-rc4, llvmorg-3.6.0-rc3, llvmorg-3.6.0-rc2, llvmorg-3.6.0-rc1, llvmorg-3.5.1, llvmorg-3.5.1-rc2, llvmorg-3.5.1-rc1
# 6256a0ea 31-Oct-2014 Justin Hibbits <jrh29@alumni.cwru.edu>

First cut of PowerPC(64) support in LLDB.

Summary:
This adds preliminary support for PowerPC/PowerPC64, for FreeBSD. There are
some issues still:

* Breakpoints don't work well on powerpc64.
* Sh

First cut of PowerPC(64) support in LLDB.

Summary:
This adds preliminary support for PowerPC/PowerPC64, for FreeBSD. There are
some issues still:

* Breakpoints don't work well on powerpc64.
* Shared libraries don't yet get loaded for a 32-bit process on powerpc64 host.
* Backtraces don't work. This is due to PowerPC ABI using a backchain pointer
in memory, instead of a dedicated frame pointer register for the backchain.
* Breakpoints on functions without debug info may not work correctly for 32-bit
powerpc.

Reviewers: emaste, tfiala, jingham, clayborg

Reviewed By: clayborg

Subscribers: emaste, lldb-commits

Differential Revision: http://reviews.llvm.org/D5988

llvm-svn: 220944

show more ...


# 6e7b0a08 15-Oct-2014 Matthew Gardiner <mg11@csr.com>

Improve the handling of kalimba ELF file section type recognition.

Recognise the SHT_NOBITS property in kalimba ELF, and determine this to be
of type zerofilled. Subsequently recognise this type to

Improve the handling of kalimba ELF file section type recognition.

Recognise the SHT_NOBITS property in kalimba ELF, and determine this to be
of type zerofilled. Subsequently recognise this type to represent bytes
on the target's DATA address space, and therefore be sized accordingly.

llvm-svn: 219782

show more ...


# f03e6d84 29-Sep-2014 Matthew Gardiner <mg11@csr.com>

Very minimal support 24-bit kalimbas. Vanilla "memory read" for data sections
works, as do breakpoints, run and pause, display zeroth frame.

See
http://reviews.llvm.org/D5503

for a fuller descripti

Very minimal support 24-bit kalimbas. Vanilla "memory read" for data sections
works, as do breakpoints, run and pause, display zeroth frame.

See
http://reviews.llvm.org/D5503

for a fuller description of the changes in this commit.

llvm-svn: 218596

show more ...


# fbd703ad 15-Sep-2014 Todd Fiala <todd.fiala@gmail.com>

ELF: store the thumbness of a function in symbol flags.

This allows us to fixup the address of the symbol as soon as we parse it
so that lldb is not confused thinking there are two different symbols

ELF: store the thumbness of a function in symbol flags.

This allows us to fixup the address of the symbol as soon as we parse it
so that lldb is not confused thinking there are two different symbols in
the binary (one with the thumb bit, one without). Also, differentiating
between THUMB and ARM symbols allows the debugger to place the right
type of breakpoint.

Change by Stephane Sezer.

llvm-svn: 217841

show more ...


# 1a08866a 15-Sep-2014 Todd Fiala <todd.fiala@gmail.com>

Handle ARM ELF symbols properly: skip $t* and $a* symbols in ObjectFileELF.

ELF objects contain marker symbols to differentiate between ARM and
THUMB functions. Instead of storing them internally an

Handle ARM ELF symbols properly: skip $t* and $a* symbols in ObjectFileELF.

ELF objects contain marker symbols to differentiate between ARM and
THUMB functions. Instead of storing them internally and having garbage
show up when symbols are searched for by the user, we can just skip them
and not store them at all, as we never actually need them.

Change by Stephane Sezer.

Tested:
Ubuntu 14.04 x86_64
MacOSX 10.9.4 x86_64

llvm-svn: 217782

show more ...


Revision tags: llvmorg-3.5.0, llvmorg-3.5.0-rc4
# 5f67579f 27-Aug-2014 Matthew Gardiner <mg11@csr.com>

Add support for kalimba architecture variants 3, 4 and 5.
Add entries to core_definitions and elf_arch_entries for
those variants. Select the subtype for the variant by parsing
the e_flags field of t

Add support for kalimba architecture variants 3, 4 and 5.
Add entries to core_definitions and elf_arch_entries for
those variants. Select the subtype for the variant by parsing
the e_flags field of the elf header.

llvm-svn: 216541

show more ...


Revision tags: llvmorg-3.5.0-rc3
# 13b18261 20-Aug-2014 Zachary Turner <zturner@google.com>

Move Host::GetArchitecture to HostInfo::GetArchitecture.

As a side effect, this patch also eliminates all of the
preprocessor conditionals previously used to implement
GetArchitecture().

llvm-svn:

Move Host::GetArchitecture to HostInfo::GetArchitecture.

As a side effect, this patch also eliminates all of the
preprocessor conditionals previously used to implement
GetArchitecture().

llvm-svn: 216074

show more ...


# 97a14e60 19-Aug-2014 Zachary Turner <zturner@google.com>

Move some Host logic into HostInfo class.

This patch creates a HostInfo class, a static class used to answer
basic queries about the host platform. As part of this change,
some functionality is mov

Move some Host logic into HostInfo class.

This patch creates a HostInfo class, a static class used to answer
basic queries about the host platform. As part of this change,
some functionality is moved from Host to HostInfo, and relevant
fixups are performed in the rest of the codebase.

This is part of a larger effort to isolate more code in the Host
layer into platform-specific groups, to make it easier to make
platform specific changes for a particular Host without breaking
other hosts.

Reviewed by: Greg Clayton

Differential Revision: http://reviews.llvm.org/D4963

llvm-svn: 215992

show more ...


Revision tags: llvmorg-3.5.0-rc2
# 71f5b50f 22-Jul-2014 Deepak Panickal <deepak@codeplay.com>

Fix an issue where an entry point of 0x00 would cause LLDB to think that the ELF is not executable without checking for ET_EXEC

llvm-svn: 213644


Revision tags: llvmorg-3.5.0-rc1
# cfee9632 16-Jul-2014 Todd Fiala <todd.fiala@gmail.com>

Add kalimba as a platform.

This change comprises of additions and some minor changes in order that
"kalimba" is listed as a supported platform and that debugging any
kalimbas results in PlatformKali

Add kalimba as a platform.

This change comprises of additions and some minor changes in order that
"kalimba" is listed as a supported platform and that debugging any
kalimbas results in PlatformKalimba being associated with the target.

The changes are as follows:

* The PlatformKalimba implementation itself
* A tweak to ArchSpec
* .note parsing for Kalimba in ObjectFileELF.cpp
* Plugin registration
* Makefile additions

Change by Matthew Gardiner

Minor tweak for cmake and Xcode by Todd Fiala

Tested:
Ubuntu 14.04 x86_64, clang 3.5-built lldb, all tests pass.
MacOSX 10.9.4, Xcode 6.0 Beta 1-built lldb, all tests pass.

llvm-svn: 213158

show more ...


# 44362e06 12-Jul-2014 Greg Clayton <gclayton@apple.com>

Allow generic ARM cores to match any more specific ARM architecture.

<rdar://problem/15932248>

llvm-svn: 212863


# 09512ec2 11-Jul-2014 Todd Fiala <todd.fiala@gmail.com>

Modify ObjectFileELF::GetArchitecture() to avoid calling ParseSectionHeaders() when we have headers.

Change by Matthew Gardiner.

llvm-svn: 212825


# 6477ea87 11-Jul-2014 Todd Fiala <todd.fiala@gmail.com>

Prevent ObjectFileELF::GetSectionHeaderInfo() from reparsing section headers.

If we have any section headers in the collection, we already parsed them.
Therefore, don't reparse the section headers w

Prevent ObjectFileELF::GetSectionHeaderInfo() from reparsing section headers.

If we have any section headers in the collection, we already parsed them.
Therefore, don't reparse the section headers when the section_headers collection
is not empty.

See this thread for more details:
http://lists.cs.uiuc.edu/pipermail/lldb-commits/Week-of-Mon-20140707/011721.html

Change by Matthew Gardiner

llvm-svn: 212822

show more ...


# d93c4a33 01-Jul-2014 Bruce Mitchener <bruce.mitchener@gmail.com>

Fix typos.

llvm-svn: 212132


# b91de786 27-Jun-2014 Todd Fiala <todd.fiala@gmail.com>

Fix ObjectFileELF to determine architectures independent of host.

Previously ObjectFileELF was simplifying and assuming the object file it was
looking at was the same as the host architecture/triple

Fix ObjectFileELF to determine architectures independent of host.

Previously ObjectFileELF was simplifying and assuming the object file it was
looking at was the same as the host architecture/triple. This would break
attempts to run, say, lldb on MacOSX against lldb-gdbserver on Linux since
the MacOSX lldb would say that the linux elf file was really an Apple MacOSX
architecture. Chaos would ensue.

This change allows the elf file to parse ELF notes for Linux, FreeBSD and
NetBSD, and determine the OS appropriately from them. It also initializes
the OS type from the ELF header OSABI if it is set (which it is for FreeBSD
but not for Linux).

Added a test with freebsd and linux images that verify that
'(lldb) image list -t -A' prints out the expected architecture for each.

llvm-svn: 211907

show more ...


# 736d4d85 25-Jun-2014 Zachary Turner <zturner@google.com>

Replace GCC-specific intrinsic with portable alternative.

Not all supported compilers have GCC intrinsics, so this patch
uses the correct portable alternative.

Additionally, this patch fixes an off

Replace GCC-specific intrinsic with portable alternative.

Not all supported compilers have GCC intrinsics, so this patch
uses the correct portable alternative.

Additionally, this patch fixes an off-by-one error. __builtin_ffs
returns the 1-based index of the least-significant 1-bit, but the
function expects the base 2 logarithm of the number, which is
equivalent to the 0-based index of the least-significant 1-bit.

Reviewed by: Keno Fischer

Differential Revision: http://reviews.llvm.org/D4284

llvm-svn: 211669

show more ...


# 48672afb 24-Jun-2014 Greg Clayton <gclayton@apple.com>

Patch from Keno Fischer to enable JITLoaderGDB with mach-o file support.

The patch is as is with the functionality left disabled for apple vendors because of performance regressions. If this is enab

Patch from Keno Fischer to enable JITLoaderGDB with mach-o file support.

The patch is as is with the functionality left disabled for apple vendors because of performance regressions. If this is enabled it ends up searching for symbols in all shared libraries that are loadeded.

llvm-svn: 211638

show more ...


Revision tags: llvmorg-3.4.2, llvmorg-3.4.2-rc1, llvmorg-3.4.1, llvmorg-3.4.1-rc2, llvmorg-3.4.1-rc1
# afcbdb15 25-Mar-2014 Enrico Granata <egranata@apple.com>

<rdar://problem/14515139>

Add a GetFoundationVersion() to AppleObjCRuntime
This API is used to return and cache the major version of Foundation.framework, which is potentially a useful piece of data

<rdar://problem/14515139>

Add a GetFoundationVersion() to AppleObjCRuntime
This API is used to return and cache the major version of Foundation.framework, which is potentially a useful piece of data to key off of to enable or disable certain ObjC related behaviors (especially in data formatters)

llvm-svn: 204756

show more ...


# 4339f3a4 25-Mar-2014 Todd Fiala <tfiala@google.com>

Improve Elf object file UUID calculation performance.

This change makes significant improvements in the performance of
calculating a UUID within ObjectFileELF, and handles both running
processes and

Improve Elf object file UUID calculation performance.

This change makes significant improvements in the performance of
calculating a UUID within ObjectFileELF, and handles both running
processes and core files correctly. This does lazy evaluation of
UUID generation and caches the result when calculated.

Change by Piotr Rak.

llvm-svn: 204749

show more ...


# 62e5f4de 22-Mar-2014 Arnaud A. de Grandmaison <arnaud.adegm@gmail.com>

Cleanup some dead assignements reported by scan-build

No functionnal change.

llvm-svn: 204545


# 17220c18 05-Mar-2014 Andrew MacPherson <andrew.macp@gmail.com>

Add support for JIT debugging on Linux using the GDB JIT interface. Patch written with Keno Fischer.

llvm-svn: 202956


# f561a01a 21-Feb-2014 Sylvestre Ledru <sylvestre@debian.org>

remove dead code + simplify a little

llvm-svn: 201865


# 751caf65 07-Feb-2014 Greg Clayton <gclayton@apple.com>

Modified ObjectFile::SetLoadAddress() to now be:

ObjectFile::SetLoadAddress (Target &target,
lldb::addr_t value,
bool value_is_offset);

Now "

Modified ObjectFile::SetLoadAddress() to now be:

ObjectFile::SetLoadAddress (Target &target,
lldb::addr_t value,
bool value_is_offset);

Now "value" is a slide if "value_is_offset" is true, and "value" is an image base address otherwise. All previous usage of this API was using slides.

Updated the ObjectFileELF and ObjectFileMachO SetLoadAddress methods to do the right thing.

Also updated the ObjectFileMachO::SetLoadAddress() function to not load __LINKEDIT when it isn't needed and to only load sections that belong to the executable object file.

llvm-svn: 201003

show more ...


1...<<1112131415