#
9e02dacd |
| 06-Feb-2014 |
Steve Pucci <spucci@google.com> |
Factor some methods that were in DynamicLoaderPOSIXDYLD.
Move some code that was in DynamicLoaderPOSIXDLYD into the base class DynamicLoader. In the case of UpdateLoadedSections(), the test to see
Factor some methods that were in DynamicLoaderPOSIXDYLD.
Move some code that was in DynamicLoaderPOSIXDLYD into the base class DynamicLoader. In the case of UpdateLoadedSections(), the test to see whether a file is loadable (its address is zero) is not generally applicable so that test is changed to a more universally applicable check for the SHF_ALLOC flag on the section.
Also make it explicit that the reading of the module_id in DynamicLoaderPOSIXDYLD::GetThreadLocalData() is using a hardcoded size (of module_id) of 4, which might not be appropriate on big-endian 64-bit systems, leaving a FIXME comment in place.
llvm-svn: 200939
show more ...
|
Revision tags: llvmorg-3.4.0, llvmorg-3.4.0-rc3, llvmorg-3.4.0-rc2 |
|
#
c113ff8c |
| 02-Dec-2013 |
Ed Maste <emaste@freebsd.org> |
elf: Move elf note parsing to ObjectFileELF.cpp
Separate ELF note implementations were introduced for core files and GNU build-id. Move the more general one from elf-core to ObjectFileELF and use i
elf: Move elf note parsing to ObjectFileELF.cpp
Separate ELF note implementations were introduced for core files and GNU build-id. Move the more general one from elf-core to ObjectFileELF and use it for build-id as well.
Review: http://llvm-reviews.chandlerc.com/D1902 llvm-svn: 196125
show more ...
|
Revision tags: llvmorg-3.4.0-rc1 |
|
#
5480365b |
| 11-Oct-2013 |
Ed Maste <emaste@freebsd.org> |
Simplify indirect rld_map for mips (rework r192408).
Just pass a Target* into ObjectFileELF::GetImageInfoAddress so that it can do the extra dereference necessary on MIPS, instead of passing a flag
Simplify indirect rld_map for mips (rework r192408).
Just pass a Target* into ObjectFileELF::GetImageInfoAddress so that it can do the extra dereference necessary on MIPS, instead of passing a flag back to the caller.
Review: http://llvm-reviews.chandlerc.com/D1899 llvm-svn: 192469
show more ...
|
#
04a8bab0 |
| 11-Oct-2013 |
Ed Maste <emaste@freebsd.org> |
Support mips shared object debug info
MIPS's .dyanamic section is read-only. Instead of using DT_DEBUG for the pointer to dyld information it uses a separate tag DT_MIPS_RLD_MAP which points to sto
Support mips shared object debug info
MIPS's .dyanamic section is read-only. Instead of using DT_DEBUG for the pointer to dyld information it uses a separate tag DT_MIPS_RLD_MAP which points to storage in the read-write .rld_map section, which in turn points to the dyld information.
Review: http://llvm-reviews.chandlerc.com/D1890 llvm-svn: 192408
show more ...
|
#
35729bb1 |
| 24-Sep-2013 |
Ashok Thirumurthi <ashok.thirumurthi@intel.com> |
Adds an option to resolve a symbol from an address that can be used to build out the symbol table as addresses are used, and implements the mechanism for ELF to add stripped symbols from eh_frame.
U
Adds an option to resolve a symbol from an address that can be used 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
show more ...
|
#
f7899545 |
| 22-Aug-2013 |
Michael Sartain <mikesart@valvesoftware.com> |
Round plt entsize to addralign
llvm-svn: 189066
|
#
3cf443dd |
| 17-Jul-2013 |
Michael Sartain <mikesart@valvesoftware.com> |
simple plugin now works with Linux fix assert in SetPluginInfo implement Linux ePathTypeLLDBSystemPlugins and ePathTypeLLDBUserPlugins implement Linux Host::Backtrace and Host::GetEnvironment add .gn
simple plugin now works with Linux fix assert in SetPluginInfo implement Linux ePathTypeLLDBSystemPlugins and ePathTypeLLDBUserPlugins implement Linux Host::Backtrace and Host::GetEnvironment add .gnu_debugdata comment
Differential Revision: http://llvm-reviews.chandlerc.com/D1159
llvm-svn: 186475
show more ...
|
#
4822d926 |
| 11-Jul-2013 |
Ashok Thirumurthi <ashok.thirumurthi@intel.com> |
Adds methods to ObjectFileELF to access data in ELF segments in preparation to add support for ELF core files.
Patch by Samuel Jacob!
llvm-svn: 186114
|
#
3046e668 |
| 10-Jul-2013 |
Greg Clayton <gclayton@apple.com> |
Cleanup on the unified section list changes. Main changes are: - ObjectFile::GetSymtab() and ObjectFile::ClearSymtab() no longer takes any flags - Module coordinates with the object files and contain
Cleanup on the unified section list changes. Main changes are: - ObjectFile::GetSymtab() and ObjectFile::ClearSymtab() no longer takes any flags - Module coordinates with the object files and contain a unified section list so that object file and symbol file can share sections when they need to, yet contain their own sections.
Other cleanups: - Fixed Symbol::GetByteSize() to not have the symbol table compute the byte sizes on the fly - Modified the ObjectFileMachO class to compute symbol sizes all at once efficiently - Modified the Symtab class to store a file address lookup table for more efficient lookups - Removed Section::Finalize() and SectionList::Finalize() as they did nothing - Improved performance of the detection of symbol files that have debug maps by excluding stripped files and core files, debug files, object files and stubs - Added the ability to tell if an ObjectFile has been stripped with ObjectFile::IsStripped() (used this for the above performance improvement)
llvm-svn: 185990
show more ...
|
Revision tags: llvmorg-3.3.1-rc1 |
|
#
9f4517a7 |
| 03-Jul-2013 |
Michael Sartain <mikesart@valvesoftware.com> |
Fix ObjectFileELF crc32 code used when no build id is present.
Differential Revision: http://llvm-reviews.chandlerc.com/D1081
llvm-svn: 185494
|
#
a7499c98 |
| 01-Jul-2013 |
Michael Sartain <mikesart@valvesoftware.com> |
Split symbol support for ELF and Linux.
llvm-svn: 185366
|
Revision tags: llvmorg-3.3.0, llvmorg-3.3.0-rc3 |
|
#
477d86d8 |
| 23-May-2013 |
Filipe Cabecinhas <me@filcab.net> |
Adds PT_TLS and PT_GNU_EH_FRAME names to DumpELFProgramHeaders
llvm-svn: 182619
|
#
c836ae7d |
| 23-May-2013 |
Michael Sartain <mikesart@valvesoftware.com> |
ObjectFileELF::GetModuleSpecifications on Linux should work now. Which means "platform process list" should work and list the architecture. We are now parsing the elf build-id if it exists, which sho
ObjectFileELF::GetModuleSpecifications on Linux should work now. Which means "platform process list" should work and list the architecture. We are now parsing the elf build-id if it exists, which should allow us to load stripped symbols (looking at that next).
llvm-svn: 182610
show more ...
|
Revision tags: llvmorg-3.3.0-rc2 |
|
#
adeab508 |
| 17-May-2013 |
Michael Sartain <mikesart@valvesoftware.com> |
Comment out ObjectFileELF::GetModuleSpecifications() function until I can debug where it's causing tests to fail.
llvm-svn: 182069
|
#
9f0013d8 |
| 17-May-2013 |
Michael Sartain <mikesart@valvesoftware.com> |
Implement ObjectFileELF::GetModuleSpecifications(), and add PlatformLinux code to deal with unknown arch properties.
CR: Greg Clayton llvm-svn: 182065
|
#
22b40f7b |
| 16-May-2013 |
Filipe Cabecinhas <me@filcab.net> |
Fix ObjectFileELF to not use the file_offset twice.
llvm-svn: 182061
|
#
57abc5d6 |
| 10-May-2013 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/13854277> <rdar://problem/13594769>
Main changes in this patch include: - cleanup plug-in interface and use ConstStrings for plug-in names - Modfiied the BSD Archive plug-in to be ab
<rdar://problem/13854277> <rdar://problem/13594769>
Main changes in this patch include: - cleanup plug-in interface and use ConstStrings for plug-in names - Modfiied the BSD Archive plug-in to be able to pick out the correct .o file when .a files contain multiple .o files with the same name by using the timestamp - Modified SymbolFileDWARFDebugMap to properly verify the timestamp on .o files it loads to ensure we don't load updated .o files and cause problems when debugging
The plug-in interface changes:
Modified the lldb_private::PluginInterface class that all plug-ins inherit from:
Changed:
virtual const char * GetPluginName() = 0;
To:
virtual ConstString GetPluginName() = 0;
Removed:
virtual const char * GetShortPluginName() = 0;
- Fixed up all plug-in to adhere to the new interface and to return lldb_private::ConstString values for the plug-in names. - Fixed all plug-ins to return simple names with no prefixes. Some plug-ins had prefixes and most ones didn't, so now they all don't have prefixed names, just simple names like "linux", "gdb-remote", etc.
llvm-svn: 181631
show more ...
|
Revision tags: llvmorg-3.3.0-rc1 |
|
#
f4d6de6a |
| 24-Apr-2013 |
Greg Clayton <gclayton@apple.com> |
Added the ability to extract a ModuleSpecList (a new class) from an ObjectFile. This is designed to be used when you have an object file that contains one or more architectures (MacOSX universal (fat
Added the ability to extract a ModuleSpecList (a new class) from an ObjectFile. This is designed to be used when you have an object file that contains one or more architectures (MacOSX universal (fat) files) and/or one or more objects (BSD archive (.a files)).
There is a new static ObjectFile function you can call:
size_t ObjectFile::GetModuleSpecifications (const FileSpec &file, lldb::offset_t file_offset, ModuleSpecList &specs)
This will fill in "specs" which the details of all the module specs (file + arch + UUID (if there is one) + object name (for BSD archive objects eventually) + file offset to the object in question).
This helps us when a user specifies a file that contains a single architecture, and also helps us when we are given a debug symbol file (like a dSYM file on MacOSX) that contains one or more architectures and we need to be able to match it up to an existing Module that has no debug info.
llvm-svn: 180224
show more ...
|
#
7b0992d9 |
| 18-Apr-2013 |
Greg Clayton <gclayton@apple.com> |
After discussing with Chris Lattner, we require C++11, so lets get rid of the macros and just use C++11.
llvm-svn: 179805
|
#
e01e07b6 |
| 18-Apr-2013 |
Greg Clayton <gclayton@apple.com> |
Since we use C++11, we should switch over to using std::unique_ptr when C++11 is being used. To do this, we follow what we have done for shared pointers and we define a STD_UNIQUE_PTR macro that can
Since we use C++11, we should switch over to using std::unique_ptr when C++11 is being used. To do this, we follow what we have done for shared pointers and we define a STD_UNIQUE_PTR macro that can be used and it will "do the right thing". Due to some API differences in std::unique_ptr and due to the fact that we need to be able to compile without C++11, we can't use move semantics so some code needed to change so that it can compile with either C++.
Anyone wanting to use a unique_ptr or auto_ptr should now use the "STD_UNIQUE_PTR(TYPE)" macro.
llvm-svn: 179779
show more ...
|
#
9594f4c8 |
| 13-Apr-2013 |
Greg Clayton <gclayton@apple.com> |
Fixed issues with the way ELF symbols are parsed: - Do not add symbols with no names - Make sure that symbols from ELF symbol tables know that the byte size is correct. Previously the symbols would c
Fixed issues with the way ELF symbols are parsed: - Do not add symbols with no names - Make sure that symbols from ELF symbol tables know that the byte size is correct. Previously the symbols would calculate their sizes by looking for the next symbol and take symbols that had zero size and make them have invalid sizes. - Added the ability to dump raw ELF symbols by adding a Dump method to ELFSymbol
Also removed some unused code from lldb_private::Symtab.
llvm-svn: 179466
show more ...
|
#
9422dd64 |
| 04-Mar-2013 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/13338643>
DWARF with .o files now uses 40-60% less memory!
Big fixes include: - Change line table internal representation to contain "file addresses". Since each line table is owned
<rdar://problem/13338643>
DWARF with .o files now uses 40-60% less memory!
Big fixes include: - Change line table internal representation to contain "file addresses". Since each line table is owned by a compile unit that is owned by a module, it makes address translation into lldb_private::Address easy to do when needed. - Removed linked address members/methods from lldb_private::Section and lldb_private::Address - lldb_private::LineTable can now relink itself using a FileRangeMap to make it easier to re-link line tables in the future - Added ObjectFile::ClearSymtab() so that we can get rid of the object file symbol tables after we parse them once since they are not needed and kept memory allocated for no reason - Moved the m_sections_ap (std::auto_ptr to section list) and m_symtab_ap (std::auto_ptr to the lldb_private::Symtab) out of each of the ObjectFile subclasses and put it into lldb_private::ObjectFile. - Changed how the debug map is parsed and stored to be able to: - Lazily parse the debug map for each object file - not require the address map for a .o file until debug information is linked for a .o file
llvm-svn: 176454
show more ...
|
#
00049b8b |
| 27-Feb-2013 |
Matt Kopec <Matt.Kopec@intel.com> |
Add GNU indirect function support in expressions for Linux.
llvm-svn: 176206
|
#
92dd5cfe |
| 12-Feb-2013 |
Matt Kopec <Matt.Kopec@intel.com> |
Fix ELF parsing where undefined symbols were being added to the symbol table with the incorrect symbol type.
llvm-svn: 174984
|
#
64ff6c70 |
| 07-Feb-2013 |
Greg Clayton <gclayton@apple.com> |
Be sure to set the data offset to zero if we actually mmap the entire ELF file.
llvm-svn: 174668
|