Yann Rouillard [Tue, 9 Jul 2013 18:22:27 +0000 (20:22 +0200)]
Correctly handle the "multiple string tables" case for string resolution in the dynamic section
The index of the string table section used to resolve various strings in the
dynamic section is given by the sh_link field in the dynamic section header.
As several string tables with the same name can co-exist in an elf file
we must explicitely look for this specific string table instead of
looking for the first string table in the file.
Eli Bendersky [Wed, 19 Jun 2013 12:46:55 +0000 (05:46 -0700)]
Merge pull request #6 from kholia/README-update
Update instructions for getting the current code
Dhiru Kholia [Wed, 19 Jun 2013 08:48:18 +0000 (14:18 +0530)]
Update instructions for getting the current code
Eli Bendersky [Sun, 16 Jun 2013 23:21:11 +0000 (16:21 -0700)]
Merge pull request #4 from yannrouillard/solaris
Fix a mistake in symbol visibility description string table
Yann Rouillard [Sun, 16 Jun 2013 18:43:14 +0000 (20:43 +0200)]
fix a mistake in symbol visibility description string table
Eli Bendersky [Sun, 9 Jun 2013 22:08:45 +0000 (15:08 -0700)]
small fix in todo
Eli Bendersky [Sun, 9 Jun 2013 13:47:11 +0000 (06:47 -0700)]
update changes
Eli Bendersky [Sun, 9 Jun 2013 13:46:48 +0000 (06:46 -0700)]
update readme
Eli Bendersky [Sat, 8 Jun 2013 22:56:26 +0000 (15:56 -0700)]
changed .hgignore to .gitignore
Eli Bendersky [Sat, 8 Jun 2013 22:49:19 +0000 (15:49 -0700)]
changed permission of elf file to -x
Eli Bendersky [Sat, 8 Jun 2013 22:45:58 +0000 (15:45 -0700)]
updated changelog
Eli Bendersky [Sat, 8 Jun 2013 22:39:18 +0000 (15:39 -0700)]
Merge pull request #16
Eli Bendersky [Sat, 8 Jun 2013 16:40:41 +0000 (09:40 -0700)]
Better ARM support (with AArch64). Contributed by Dobromir Stefanov
Eli Bendersky [Sat, 8 Jun 2013 15:47:56 +0000 (08:47 -0700)]
Add some additional GNU forms
Yann Rouillard [Fri, 31 May 2013 20:37:05 +0000 (22:37 +0200)]
rename some methods to be more consistent
Yann Rouillard [Fri, 31 May 2013 20:32:51 +0000 (22:32 +0200)]
more succint code for describer_ver_flags and describe_syminfo_flags
Yann Rouillard [Fri, 31 May 2013 20:15:09 +0000 (22:15 +0200)]
Create a common parent class for Version (Definition|Dependency) section to share common code
Yann Rouillard [Fri, 31 May 2013 19:01:25 +0000 (21:01 +0200)]
Remove Table from GNU version sections class name
Yann Rouillard [Wed, 29 May 2013 21:53:11 +0000 (23:53 +0200)]
add missing unit test
Yann Rouillard [Wed, 29 May 2013 21:52:39 +0000 (23:52 +0200)]
fix versions classes import in readelf
Yann Rouillard [Wed, 29 May 2013 21:51:00 +0000 (23:51 +0200)]
put -V readelf option before dwarf stuff
Yann Rouillard [Wed, 29 May 2013 21:47:50 +0000 (23:47 +0200)]
pep8 fixes
Yann Rouillard [Wed, 29 May 2013 21:34:51 +0000 (23:34 +0200)]
split gnu|sunw versions code in a separate file
Yann Rouillard [Wed, 29 May 2013 21:23:27 +0000 (23:23 +0200)]
rename Ver(def|need|sym)TableSection to GNUVer(Def|Need|Sym)TableSection
Yann Rouillard [Mon, 27 May 2013 20:44:28 +0000 (22:44 +0200)]
added support for version definition, version dependency and version symbol sections in pyelftools and readelf.py
Eli Bendersky [Sat, 25 May 2013 22:47:55 +0000 (15:47 -0700)]
More DWARFv4 parsing goodness. Also added some hookups for parsing .eh_frame
but this isn't enabled yet, because pyelftools can't yet successfully parse
it (have to look at it deeper).
I tweaked the build of the gcc48-simple sample to generate .dwarf_frame
as well.
Eli Bendersky [Sat, 25 May 2013 16:28:12 +0000 (09:28 -0700)]
More tweaks to succesfully parse an object file generated by gcc 4.8 with
DWARFv4
Eli Bendersky [Sat, 25 May 2013 14:21:05 +0000 (07:21 -0700)]
cleanup whitespace
Eli Bendersky [Sat, 25 May 2013 14:03:27 +0000 (07:03 -0700)]
Initial DWARF4 support for Clang-generated DWARF. Based on patch by Stefan Hepp
Eli Bendersky [Sat, 25 May 2013 13:10:23 +0000 (06:10 -0700)]
More renaming & cleaning up
Eli Bendersky [Sat, 25 May 2013 13:05:19 +0000 (06:05 -0700)]
Cosmetic renaming & updated CHANGES file
Eli Bendersky [Sat, 25 May 2013 12:56:37 +0000 (05:56 -0700)]
Explicitly split test files for readelf and test files for unittests.
This is so the readelf tests auto-discovery doens't accidentally find
tests it's not supposed to.
Also fixed some Python 3 compatibility issues in test_solaris_support
Eli Bendersky [Sat, 25 May 2013 12:45:29 +0000 (05:45 -0700)]
Merged in yann_rouillard/pyelftools/syminfo (pull request #13)
Support for Solaris section SUNW_syminfo
Yann Rouillard [Thu, 23 May 2013 22:43:51 +0000 (00:43 +0200)]
remove elfdump script and test
Yann Rouillard [Thu, 23 May 2013 22:40:56 +0000 (00:40 +0200)]
add some comments in the solaris unit test
Yann Rouillard [Sat, 11 May 2013 17:00:45 +0000 (19:00 +0200)]
add syminfo boundto description function
Yann Rouillard [Fri, 10 May 2013 12:43:03 +0000 (14:43 +0200)]
elfdump: handles the extern symbol case in the syminfo table
Yann Rouillard [Fri, 10 May 2013 12:42:39 +0000 (14:42 +0200)]
reorder syminfo flags display to match elfdump display
Yann Rouillard [Fri, 10 May 2013 02:21:03 +0000 (04:21 +0200)]
fix syminfo flags description: S flag (capability) is always first
Yann Rouillard [Fri, 10 May 2013 02:19:06 +0000 (04:19 +0200)]
elfdump now correctly displays syminfo entries with filter attribute
Yann Rouillard [Fri, 10 May 2013 02:18:25 +0000 (04:18 +0200)]
add SUNW filter tag in the list of special tags
Yann Rouillard [Fri, 10 May 2013 02:17:24 +0000 (04:17 +0200)]
add sun specific dynamic tags
Yann Rouillard [Fri, 10 May 2013 02:04:22 +0000 (04:04 +0200)]
fix missing variable initialisation in elfdump
Yann Rouillard [Sun, 19 May 2013 16:44:00 +0000 (18:44 +0200)]
fix comment mistake
Yann Rouillard [Sun, 19 May 2013 16:43:22 +0000 (18:43 +0200)]
simpler check for syminfo entries that are not displayed by elfdump
Yann Rouillard [Sun, 19 May 2013 16:39:43 +0000 (18:39 +0200)]
some pep8 compliance fixes
Yann Rouillard [Sun, 19 May 2013 16:35:32 +0000 (18:35 +0200)]
minor modification in the section search loop of elfdump.py
Yann Rouillard [Sun, 19 May 2013 16:00:00 +0000 (18:00 +0200)]
made a new branch to store syminfo specific patches
Yann Rouillard [Mon, 29 Apr 2013 23:59:27 +0000 (01:59 +0200)]
Fixed a stupid mistake on SYMINFO name (I should change my terminal font)
Yann Rouillard [Mon, 29 Apr 2013 23:40:33 +0000 (01:40 +0200)]
added elfdump comparison test
Yann Rouillard [Mon, 29 Apr 2013 23:40:00 +0000 (01:40 +0200)]
Added unit test for solaris (SUNW_syminfo section only for now)
Yann Rouillard [Mon, 29 Apr 2013 00:07:06 +0000 (02:07 +0200)]
start enumerating syminfo entries at index 1
Yann Rouillard [Sun, 28 Apr 2013 23:39:51 +0000 (01:39 +0200)]
added elfdump clone based on pyelftools, only support -y option currently
Yann Rouillard [Sun, 28 Apr 2013 23:38:40 +0000 (01:38 +0200)]
added support for SUNW_syminfo header
Eli Bendersky [Wed, 17 Apr 2013 12:57:58 +0000 (05:57 -0700)]
Added tag v0.21 for changeset
1038c1604c31
Eli Bendersky [Wed, 17 Apr 2013 12:46:42 +0000 (05:46 -0700)]
updated manifest and changelog
Eli Bendersky [Wed, 17 Apr 2013 12:35:07 +0000 (05:35 -0700)]
Added more enums to ENUM_SH_TYPE
automatthias [Sun, 14 Apr 2013 23:11:03 +0000 (00:11 +0100)]
Updated the e_machine enum, based on an Internet source.
http://www.scs.stanford.edu/11wi-cs140/pintos/specs/sysv-abi-update.html/ch4.eheader.html
Eli Bendersky [Fri, 12 Apr 2013 13:29:37 +0000 (06:29 -0700)]
Issue #8: fix the dwarf_decode_address example (off-by-one error in line reporting)
Eli Bendersky [Wed, 10 Apr 2013 04:25:54 +0000 (21:25 -0700)]
Examples should prefer local pyelftools to installed one
Eli Bendersky [Mon, 8 Apr 2013 13:45:01 +0000 (06:45 -0700)]
better way to check if a dir exists
Eli Bendersky [Mon, 8 Apr 2013 13:41:37 +0000 (06:41 -0700)]
add comment
Eli Bendersky [Mon, 8 Apr 2013 13:38:57 +0000 (06:38 -0700)]
Setup sys.path properly this time (I'll update the hacking guide to
explain what's been done)
Eli Bendersky [Sat, 6 Apr 2013 14:05:35 +0000 (07:05 -0700)]
make readelf.py pick up local elftools before system one
Eli Bendersky [Sat, 6 Apr 2013 14:00:00 +0000 (07:00 -0700)]
Fix sys.path setup to prepend '.', rather than append. Also, remove '..'
and allow running only from the root directory.
Eli Bendersky [Sat, 6 Apr 2013 13:44:33 +0000 (06:44 -0700)]
Clarify how/why we look for binutils's readelf
Eli Bendersky [Sun, 31 Mar 2013 23:57:03 +0000 (16:57 -0700)]
doc fixes
Eli Bendersky [Sun, 31 Mar 2013 21:19:21 +0000 (14:19 -0700)]
Fix some Python 3 goofs and make sure the tests execute with the correct
version of Python (the same the runners themselves were executed with).
Eli Bendersky [Sun, 31 Mar 2013 20:58:10 +0000 (13:58 -0700)]
update docs
Eli Bendersky [Sun, 31 Mar 2013 14:58:21 +0000 (07:58 -0700)]
Fix formatting of some dynamic tag fields to match readelf
Eli Bendersky [Sun, 31 Mar 2013 13:56:56 +0000 (06:56 -0700)]
Tweak dynamic section handling to decipher DT_SONAME + small cleanups
Eli Bendersky [Sun, 31 Mar 2013 03:34:57 +0000 (20:34 -0700)]
remove some dead code
Eli Bendersky [Sun, 31 Mar 2013 00:47:32 +0000 (17:47 -0700)]
Fix some other differences from the output of readelf in binutils 2.23
Eli Bendersky [Sun, 31 Mar 2013 00:23:36 +0000 (17:23 -0700)]
Fix the way an include directory is inferred for a file in line programs.
Applies only to readelf.py at this point, because the Dwarf APIs don't provide
this functionality directly.
Eli Bendersky [Sat, 30 Mar 2013 23:39:30 +0000 (16:39 -0700)]
debug-dump=info should print null DIEs to conform to the new readelf.
Eli Bendersky [Thu, 28 Mar 2013 14:38:59 +0000 (07:38 -0700)]
Cosmetic changes. +added sublime project file
Eli Bendersky [Sat, 23 Mar 2013 13:54:54 +0000 (06:54 -0700)]
Smarter customization of READELF_PATH in run_readelf_tests
Eli Bendersky [Sat, 23 Mar 2013 13:44:19 +0000 (06:44 -0700)]
Convert ordereddict.py line endings to unix
Eli Bendersky [Sat, 23 Mar 2013 13:33:09 +0000 (06:33 -0700)]
Added license snippet to all files in the code. Whitespace cleanup.
Eli Bendersky [Sat, 23 Mar 2013 13:16:56 +0000 (06:16 -0700)]
cleanup & updated CHANGES
Eli Bendersky [Sat, 23 Mar 2013 13:14:21 +0000 (06:14 -0700)]
merge local with pull-request #7 merge
Eli Bendersky [Sat, 23 Mar 2013 13:13:57 +0000 (06:13 -0700)]
slight TODO update
Mike Frysinger [Sat, 23 Mar 2013 06:47:32 +0000 (02:47 -0400)]
add support for parsing of the dynamic section/segment and its tags
Eli Bendersky [Thu, 17 Jan 2013 13:41:22 +0000 (05:41 -0800)]
touching up after pull request 6
Matthew Fernandez [Thu, 17 Jan 2013 05:23:07 +0000 (16:23 +1100)]
Add a test for parsing an ARM ELF file.
Matthew Fernandez [Thu, 17 Jan 2013 01:14:34 +0000 (12:14 +1100)]
Basic support for ARM in machine header.
Eli Bendersky [Mon, 7 Jan 2013 05:10:38 +0000 (21:10 -0800)]
trim trailing whitespace and reorganize a bit of comments
Eli Bendersky [Mon, 7 Jan 2013 00:10:10 +0000 (16:10 -0800)]
cleanups of trailing whitespace
Eli Bendersky [Sun, 6 Jan 2013 22:26:49 +0000 (14:26 -0800)]
Trim trailing whitespace in some code and wrap to 80 cols in README.rst
Eli Bendersky [Sun, 6 Jan 2013 14:12:05 +0000 (06:12 -0800)]
bump version everywhere since the trunk represents an unreleased *next* version
Eli Bendersky [Sun, 6 Jan 2013 14:09:57 +0000 (06:09 -0800)]
Issue #7: be more forgiving to incorrect DWARF that has extra NULLs in DIE trees
Eli Bendersky [Sat, 29 Dec 2012 14:25:18 +0000 (06:25 -0800)]
remove 2.6 in tox.ini
Eli Bendersky [Sat, 29 Dec 2012 14:22:09 +0000 (06:22 -0800)]
rename README->README.rst to render correctly on BB
Eli Bendersky [Thu, 5 Jul 2012 03:32:09 +0000 (06:32 +0300)]
Added dwarf_decode_address.py example
Eli Bendersky [Mon, 30 Jan 2012 17:21:02 +0000 (19:21 +0200)]
Added tag v0.20 for changeset
706dbb8620bd
Eli Bendersky [Mon, 30 Jan 2012 17:20:41 +0000 (19:20 +0200)]
python 3 version and README update
Eli Bendersky [Fri, 27 Jan 2012 08:39:14 +0000 (10:39 +0200)]
Added tag v0.20 for changeset
68b18168051a
Eli Bendersky [Fri, 27 Jan 2012 08:25:47 +0000 (10:25 +0200)]
More changes to port to Python 3
All tox tests pass now!!
Eli Bendersky [Fri, 27 Jan 2012 05:08:05 +0000 (07:08 +0200)]
initial efforts porting pyelftools to python 3. some basic ELF functionality working
Eli Bendersky [Thu, 26 Jan 2012 04:51:59 +0000 (06:51 +0200)]
adding more construct's files