Commit Graph

106 Commits

Author SHA1 Message Date
Semi Malinen
5000c533ba Add const 2014-10-30 14:47:14 +02:00
Semi Malinen
695a05dc5d Do not index past the end of the chain table 2014-10-30 14:29:33 +02:00
Serge Lamikhov-Center
7dd7dade6f Non-significant formatting 2014-08-09 10:56:18 +03:00
Vincent Huang
6d713f4d0a Added iterator for segments and sections
segments and sections were already stored as std::vector<T>.
This change simply exposes the std::vector<T>::iterator functions.
2014-08-07 23:12:35 -04:00
Serge Lamikhov-Center
33dcaf063f Use [i|o]stream instead of [i|o]fstream; The patch was provided by Jason Hiser
Test's fixes
2014-02-26 18:02:30 +02:00
Serge Lamikhov-Center
e8afffece9 Dump for section and segment data added 2014-02-26 17:35:20 +02:00
Serge Lamikhov-Center
17f03740e6 Using macros for header fields access functions
Set segment's index upon its creation
Move to VS2013 projects
2014-02-26 17:30:43 +02:00
Mario Werner
1d2930abc7 redesigned save_segments_and_their_sections
We have some elf files where a section (.ARM.exidx) is located in multiple segments.
To keep this property it is necessary to keep track of the emitted sections.
Furthermore, the correct sequence for the segment emission has to be determined.
This is done by postponing segments which are actually a subsequence of another segment.

Additionally the alignment is not considered as part of the file size of a segment anymore.
2014-02-17 11:52:25 +01:00
Mario Werner
5dd8ba29bd assign sections to the segments during load based on the offsets 2014-02-13 18:59:16 +01:00
Mario Werner
f78a519522 removed const from the segment load function 2014-02-13 18:45:17 +01:00
Serge Lamikhov-Center
ed600e64f3 Ticket #10: Fix section type SHT_NOBITS file_size calculation 2013-05-16 17:58:09 +03:00
Serge Lamikhov-Center
ed6a40ada1 Proper calculate size difference between file_size/memory_size in case of section type SHT_NOBITS 2013-04-21 16:54:07 +03:00
Serge Lamikhov-Center
ec5ca1fa17 Ticket #9: Segment offset written in wrong endianess. 2013-04-20 01:27:29 +03:00
Serge Lamikhov-Center
2ced96026d Remove 'mutable' specification in 'section' class 2013-03-21 02:13:50 +02:00
Serge Lamikhov-Center
79ecb3fabc Data size boundary check for dynamic section reader
Permit section data allocation for size equal to 0
2013-01-30 14:45:35 +02:00
Serge Lamikhov-Center
cde39c9d45 Add a validation for the case when dynamic section has no data
Signed-off-by: Serge Lamikhov-Center <to_serge@users.sourceforge.net>
2013-01-30 01:06:00 +02:00
Serge Lamikhov-Center
b217a8a993 Remove extra ";" to prevent warnings at compilation with GCC -pedantic option 2013-01-30 01:05:32 +02:00
Serge Lamikhov-Center
1e82ef11b4 add_entry() functions are implemented for dynamic_section_accessor class
Signed-off-by: Serge Lamikhov-Center <to_serge@users.sourceforge.net>
2013-01-13 19:59:15 +02:00
Serge Lamikhov-Center
4b7061dc92 Dynamic section accessor is implemented
Fix segment header position when no segments are present
Dumper - dynamic section output added
Dynamic section reader tests are added

Signed-off-by: Serge Lamikhov-Center <to_serge@users.sourceforge.net>
2013-01-13 04:29:43 +02:00
Serge Lamikhov-Center
0953467246 Added output for 64-bit ELF files 2012-12-02 19:01:05 +02:00
Serge Lamikhov-Center
b78c0aca3d Convert all files to UNIX EOL 2012-11-27 11:45:28 +02:00
Serge Lamikhov-Center
001833f402 Don't print \0 at the end of notes 2012-11-26 01:17:00 +02:00
Serge Lamikhov-Center
b74f44443d 'add_entry' in symbol_section_accessor was renamed to 'add_symbol'
documentation update
<elfio.hpp> was modified to be <elfio/elfio.hpp>
2012-11-25 19:58:07 +02:00
Serge Lamikhov-Center
d3a0732983 Use <elfio/> prefix for \#include files 2012-11-25 14:37:09 +02:00
Serge Lamikhov-Center
647aa544be Remove tabs; Fix line endianess 2012-11-25 00:23:05 +02:00
Serge Lamikhov-Center
16e9c36e28 Document updates; Small refactoring 2012-11-20 19:58:28 +02:00
Serge Lamikhov-Center
2d514544fc - Add const attribute to several functions of section interface
- Doc change
2012-09-18 14:21:21 +03:00
Serge Lamikhov-Center
ac33c1e4de Output section names at the end of line
Increase width of Nr field
Refactor format_assoc() implementation
2012-08-23 09:12:03 +03:00
Serge Lamikhov-Center
3aa0cc1751 Align format_assoc() implementation to its specialization version 2012-08-22 22:50:03 +03:00
Serge Lamikhov-Center
f0211fa620 Use 'const' instance when working with dumper
Use a template for tabled functions
2012-08-22 19:56:35 +03:00
Serge Lamikhov-Center
3b43ddd6b9 ELFDump is using ELFIO::dump class now 2012-08-19 23:26:47 +03:00
Serge Lamikhov-Center
d8a7e8ccca ELFDump is using ELFIO::dump class now 2012-08-19 22:06:01 +03:00
Serge Lamikhov-Center
8ded746bc3 Symbol tables and notes output added 2012-08-19 22:01:18 +03:00
Serge Lamikhov-Center
02696b9e7f Segment dump implemented 2012-08-19 18:48:02 +03:00
Serge Lamikhov-Center
e62b2b38cb Section flags output added 2012-08-19 15:07:54 +03:00
Serge Lamikhov-Center
4a2b8c1e85 Section output started 2012-08-18 21:05:11 +03:00
Serge Lamikhov-Center
ca0609fa4f Type and Machine tables added to dumper 2012-08-18 13:08:35 +03:00
Serge Lamikhov-Center
cb56843e26 Headers dump is implemented by using tables 2012-08-18 08:50:03 +03:00
Serge Lamikhov-Center
e04476791a Another change 2012-07-29 22:24:45 +03:00
Serge Lamikhov-Center
6d60be2dfd A test program added; str_elf_class output implemented 2012-07-29 17:49:16 +03:00
Serge Lamikhov-Center
daa8c81bfb Add dumper file 2012-07-29 17:49:16 +03:00
Serge Lamikhov-Center
3203483e34 Prevent compilation warnings when compiled x64 target with VS2008 2012-07-24 12:10:16 +03:00
Serge Lamikhov-Center
bf2efcc32f Don't pass NULL pointer to set_name function 2012-07-24 00:00:11 +03:00
Serge Lamikhov-Center
d439d83458 Fix header.e_ident initialization 2012-07-21 09:17:18 +03:00
Serge Lamikhov-Center
e1d554978d Trim trailing space and remove tabs 2012-06-24 09:02:32 +03:00
Serge Lamikhov-Center
2cddbab258 To make memory_size bigger than file_size, set memory_size prior calling 'save' function 2012-06-24 08:50:29 +03:00
Serge Lamikhov-Center
b3b7aed245 Declaration uses macro for section and segment 2012-06-23 19:41:42 +03:00
Serge Lamikhov-Center
00e37476c0 - Fix a reported problem with section data size not updating at 'load' time 2012-06-20 09:09:20 +03:00
Serge Lamikhov-Center
1a957edfba Don't calculate section address if it was already initialized 2012-06-03 23:19:33 +03:00
Serge Lamikhov-Center
8e3eedac9a Cosmetic 2012-03-11 22:39:27 +02:00
Serge Lamikhov-Center
9705f1ac35 Documentation update 2012-03-11 06:16:31 +02:00
Serge Lamikhov-Center
626ccc6cbd Make load/save functions of section/segment - private 2012-03-10 20:41:00 +02:00
Serge Lamikhov-Center
185d87c138 Try to avoid -std=c++0x compilation flag 2012-03-09 22:42:53 +02:00
Serge Lamikhov-Center
03da533493 Starting new site building 2012-03-09 12:01:14 +02:00
Serge Lamikhov-Center
91832c584a Use C++ type header 2012-03-03 10:58:19 +02:00
Serge Lamikhov-Center
493549e030 Initial 2012-02-18 12:01:36 +02:00