Serge Lamikhov-Center
e07864463c
Experimental change of section table alignment to 16
2023-10-16 20:19:00 +03:00
Serge Lamikhov-Center
8ae6cec5d6
C++17 refactoring
2023-06-02 17:37:37 +03:00
Hao Chen
5be0f95443
Update elfio.hpp
...
Fix a memory leak that misuses unique_ptr
2023-02-12 10:06:22 +02:00
Serge Lamikhov-Center
259da37f3a
Remove dispersed 'noexcept' specifier
2022-11-24 15:56:37 +02:00
Serge Lamikhov-Center
9827eac948
Implement 'lazy' load for sections
2022-11-13 00:05:25 +02:00
Serge Lamikhov-Center
94505dd637
Add 'lazy' load for own opened streams
2022-11-12 18:19:48 +02:00
Serge Lamikhov-Center
4320ea915e
'noexept' added to upper level API members
2022-11-12 17:00:08 +02:00
Serge Lamikhov-Center
ad8b641f96
Lazy load segment data - load data upon request
2022-11-11 17:49:59 +02:00
Serge Lamikhov-Center
ef56f39379
Remove redundant member initialization
2022-11-11 16:46:49 +02:00
Serge Lamikhov-Center
755f81351f
Generilize the section compression calls
2022-11-10 19:26:05 +02:00
Nathan Strong
7608269069
Externalize zlib dependency
...
== DETAILS
- define an interface/abstract class for zlib implementation
- update the code to reference the implementation, remove zlib dependency
- use constructor injection to provide implementations to elfio
- add a test to validate the injected object gets used properly
`
2022-11-04 18:12:15 +02:00
Serge Lamikhov-Center
bd2673db1f
Add missing <array> include
2022-09-01 16:20:42 +03:00
Serge Lamikhov-Center
156cac5fa1
Modernize the section implementation
2022-08-30 19:42:28 +03:00
Serge Lamikhov-Center
af080f739e
Use unique_ptr instead of raw pointers
2022-08-29 08:20:07 +03:00
Serge Lamikhov-Center
eeb00b60b2
Initial attempt for lazy load - segment loading
2022-07-17 19:13:49 +03:00
Serge Lamikhov-Center
cb61d172bb
Prevent a memory leak
2022-06-19 17:34:28 +03:00
Serge Lamikhov-Center
3aad501f5b
Add check for incorrect section/segment entry size
2022-06-18 22:47:37 +03:00
Serge Lamikhov-Center
07ef317550
Check out of the file boundary access attemps
2022-06-16 17:30:22 +03:00
Serge Lamikhov-Center
cfa213d646
Reduce complexity of 'if' nesting
2022-06-11 05:59:51 +00:00
Alan Jowett
3e6809cf13
Stop parsing ELF if segment header is beyond end of file
...
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-06-10 20:54:00 +03:00
Serge Lamikhov-Center
722077d4f7
Initialize local var
2022-02-02 23:31:49 +02:00
Serge Lamikhov-Center
0c841c7ed4
No need to disable warnings in a newer VS C++ compiler
2022-02-02 23:28:01 +02:00
Serge Lamikhov-Center
48e78fe1b9
No need to disable warnings in a newer VS C++ compiler
2022-02-02 23:19:15 +02:00
Serge Lamikhov-Center
7ba15e0549
Version Requirements accessor (reader) was added
2021-12-01 17:10:35 +02:00
Serge Lamikhov-Center
83d1f9b28a
Don't clean() address_translation table
2021-09-20 23:45:50 +03:00
Serge Lamikhov-Center
53d3bb407c
Rename 'end' field of address translation to 'size'
2021-09-20 20:44:19 +03:00
Serge Lamikhov-Center
dad4b434c8
Use a different notation for the address translation
2021-09-20 00:03:21 +03:00
Serge Lamikhov-Center
511086598a
Implement address translation for segments
2021-09-19 23:26:58 +03:00
Serge Lamikhov-Center
b527ea992a
An attempt to implement memory translation for sections
2021-09-19 11:28:35 +03:00
Serge Lamikhov-Center
0a15ec0aea
Header dump shows correct values
2021-09-19 11:28:26 +03:00
Serge Lamikhov-Center
24d29a213a
Move constructor and assignment has been implemented
2021-09-19 11:16:30 +03:00
Serge Lamikhov-Center
3a76e30a92
Rename a local variable
2021-09-18 01:16:25 +03:00
Serge Lamikhov-Center
33089a021a
Make 'explicit' constructor
2021-09-14 18:35:54 +03:00
Serge Lamikhov-Center
162fd7a9a0
modernize-loop-convert
2021-08-26 13:11:46 +03:00
Serge Lamikhov-Center
4a84319bb8
modernize-use-nullptr
2021-08-26 12:52:23 +03:00
Serge Lamikhov-Center
1f79600cec
Refactoring
2021-08-16 23:19:47 +03:00
Serge Lamikhov-Center
79fcd11595
Add check for data endianess flags
2021-06-05 16:46:24 +03:00
Serge Lamikhov-Center
f591a3b74e
Add explicit declaration of move constructor and move assignment
2021-03-30 00:59:06 +03:00
Serge Lamikhov-Center
29114f6538
Explicetly delete the copy constructor and assignment operator
2021-03-29 21:17:57 +03:00
Serge Lamikhov-Center
57e614a486
Remove postfix underscore in parameter names
2021-02-05 10:40:18 +02:00
Serge Lamikhov-Center
762c59a2bb
Change copyright period
2021-01-19 09:43:01 +02:00
Serge Lamikhov-Center
8037e5a42a
Add 'validate' function to C language wrapper
2021-01-08 00:11:20 +02:00
Martin Bickel
3e55690e6d
Added new check for section/progHeader consistency
2021-01-07 12:43:21 +02:00
Serge Lamikhov-Center
22ff134363
Address array section accessor added
...
The accessor is useful for manipulation of such sections as .ctors,
.dtors, .init_array and .fini_array
2020-12-22 14:10:16 +02:00
Serge Lamikhov-Center
e18e5bc261
Use a header for version information
2020-08-24 10:24:09 -07:00
Serge Lamikhov-Center
b4c245f5a8
Add .modinfo section accessor
2020-08-22 15:11:58 -07:00
Serge Lamikhov-Center
9c739b49a0
Reformat sources by using clang-format
...
It is not perfect (and, probably, it is worser than it was before), but, it is automatic
2020-08-21 07:56:08 -07:00
Serge Lamikhov-Center
c6e5eb0aad
Update Copyright period
2020-08-19 13:47:20 -07:00
Serge Lamikhov-Center
d2c3fb6a14
Refactoring - remove unnecessary check
2020-08-15 18:56:13 +03:00
Serge Lamikhov-Center
a59cbf6674
Alighn code with whitespaces
2020-08-08 09:55:42 -07:00