Serge Lamikhov-Center
a528c2e99b
Fix formatting
2023-11-23 19:20:53 +02:00
Serge Lamikhov-Center
d950ddbb90
The library artwork added
2023-11-23 18:22:17 +02:00
Serge Lamikhov-Center
eb6882952c
Remove unnecessary files in 'test' directory
2023-10-24 19:26:45 +03:00
Serge Lamikhov-Center
5b2a6ca626
Change relocation type to R_X86_64_32
2023-10-17 17:26:17 +03:00
Serge Lamikhov-Center
e07864463c
Experimental change of section table alignment to 16
2023-10-16 20:19:00 +03:00
Serge Lamikhov-Center
47af3a4ff9
Rename 'free_data' test
2023-10-14 12:44:26 +03:00
Serge Lamikhov-Center
c86883b906
Implement free_data() for sections too
...
free_data() has no effect if is_lazy was not set
2023-10-13 20:03:48 +03:00
Serge Lamikhov-Center
0399b9f8df
Add segment's free_data() description to the doc
2023-10-10 22:29:01 +03:00
Eugene Cohen
23527bd291
Add segment free_data function
...
Allow for segment data to be freed to allow for reduced memory usage
when dealing with large elf segments.
2023-10-10 22:10:57 +03:00
Serge Lamikhov-Center
73a241079a
Refactor the last commit
2023-08-28 19:35:05 +03:00
Serge Lamikhov-Center
089160c40e
Use more portable function memchr()
...
Use more portable memchr() function instead of strnlen() which is not in ISO standard
2023-08-28 18:43:47 +03:00
Serge Lamikhov-Center
8ae6cec5d6
C++17 refactoring
2023-06-02 17:37:37 +03:00
Serge Lamikhov-Center
5a9297b1bd
Use c++17 standard
2023-05-06 16:51:42 +03:00
Nam Cao
d251da09a0
Remove unnecessary initialization that causes GCC warning
2023-02-22 22:25:54 +02:00
Hao Chen
5be0f95443
Update elfio.hpp
...
Fix a memory leak that misuses unique_ptr
2023-02-12 10:06:22 +02:00
scribam
aecc192aa6
Use CodeQL Actions v2
2023-01-17 09:48:31 +02:00
Serge Lamikhov-Center
be202e3107
Minor refactoring
2022-12-31 10:00:30 +02:00
Serge Lamikhov-Center
6fc23e53dd
Increase version number for future release
2022-12-18 00:37:56 +02:00
Serge Lamikhov-Center
d00cc32f8b
Switch to a newer 'googletest' archive
2022-12-15 19:07:46 +02:00
Serge Lamikhov-Center
b2901a51b6
Add missed implementation function for insert_data()
2022-11-30 08:25:01 +02:00
Nam Cao
974e1252ee
Rewrite append_data() to call insert_data()
...
append_data() and insert_data() have almost the same implementation.
Change append_data() to simply call insert_data().
2022-11-29 18:24:32 +02:00
Nam Cao
e533985a3c
Add insert_data() to section
2022-11-29 18:24:27 +02:00
Serge Lamikhov-Center
c7cba1319d
VSCode settings update
2022-11-29 13:10:19 +02:00
Serge Lamikhov-Center
a62b295d51
Generate output of compile commands during generation
2022-11-24 16:07:19 +02:00
Serge Lamikhov-Center
259da37f3a
Remove dispersed 'noexcept' specifier
2022-11-24 15:56:37 +02:00
Serge Lamikhov-Center
413b130341
Revert the change of the previous commit
2022-11-19 18:31:18 +02:00
Sam James
a52cccfd7f
tests: allow using system gtest copy
...
Distributions often do builds with no network access available
for both security reasons and also to ensure reproducibility.
This change tells CMake to query the system for a copy of gtest,
but if it's not available, it'll fall back to downloading via
FetchContent.
2022-11-19 13:03:59 +02:00
Serge Lamikhov-Center
a04810f126
Don't build tests by default. Set ELFIO_BUILD_TESTS=ON
2022-11-18 21:39:46 +02:00
Serge Lamikhov-Center
d8b71ebc91
Make more const variables
2022-11-14 16:33:50 +02:00
Serge Lamikhov-Center
6c5f34ae3e
Add tests for lazy load
2022-11-14 15:17:33 +02:00
Serge Lamikhov-Center
9827eac948
Implement 'lazy' load for sections
2022-11-13 00:05:25 +02:00
Serge Lamikhov-Center
7c0abb1785
'noexcept' is added to section and segment API
2022-11-12 19:03:39 +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
8409f20a7f
Remove output to std::cerr
2022-11-11 01:09:12 +02:00
Serge Lamikhov-Center
705a91c568
Use const referencies in set_xxx arguments
2022-11-10 22:37:55 +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
Nathan Strong
04985836db
fix mismatched allocator warning
2022-11-04 18:12:15 +02:00
Nathan Strong
ac542cbb8b
Add support for writing RPL/RPX
...
== DETAILS
Honor the compression flag and write compressed section data.
2022-11-04 18:12:15 +02:00
Nathan Strong
582d929d9d
Add support for reading Wii U RPX/RPL
...
== DETAILS
The Wii U uses a slightly customized ELF format which uses
zlib compression on certain section types.
This commit adds the following:
- add `SHT_` constants for the custom ELF sections
- add `SHF_RPX_DEFLATE` flag used to denote a compressed section
- add code in the section `load()` method to detect the `SHF_RPX_DEFLATE` flag
and decompress the section
2022-11-04 18:12:15 +02:00
Serge Lamikhov-Center
1df77b2495
A tiny refactoring according to SonarLint
2022-10-16 18:43:18 +03:00
Serge Lamikhov-Center
924732c835
Just VSCode settings
2022-09-29 16:33:35 +03:00
Serge Lamikhov-Center
619c9b6884
Apply advices given by clang-tidy
2022-09-28 20:09:39 +03:00
tgotic
19bfbd5825
Additional SHF flags
2022-09-26 15:34:01 +03:00
Serge Lamikhov-Center
766f5e4dda
Address more warnings reported by SonarLint
2022-09-23 17:54:24 +03:00
tgotic
c546c16222
New types and OS/ABI in dump
...
Added some types and strings, table for OS/ABI, added OS/ABI and ABI version to dump
2022-09-22 16:47:41 +03:00
Serge Lamikhov-Center
cccc78a37b
Add 'explicit' keyword
2022-09-17 09:26:05 +03:00