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
Serge Lamikhov-Center
f21f8ad533
More refactoring
2022-09-16 20:51:20 +03:00
Serge Lamikhov-Center
b57b08409b
More refactoring reported by SonarLint
2022-09-16 20:47:27 +03:00
bladchan
b996977925
fix alloc-dealloc-mismatch reported in ASAN
2022-09-04 21:20:43 +03:00
Serge Lamikhov-Center
5468d90e06
Adapt to the new notes interface
2022-09-01 18:56:29 +03:00
Serge Lamikhov-Center
dd425d83c6
Modernize more files
2022-09-01 18:50:02 +03:00
Serge Lamikhov-Center
fc4df31fc2
Delete cmake.yml
...
It is a duplication of existing Action CI
2022-09-01 16:27:22 +03:00
Serge Lamikhov-Center
bd2673db1f
Add missing <array> include
2022-09-01 16:20:42 +03:00
Serge Lamikhov-Center
d7c21907e7
Update codeql-analysis.yml
2022-09-01 08:53:50 +03:00
Serge Lamikhov-Center
95edc7bf71
Update c-cpp.yml
2022-09-01 08:52:22 +03:00
Serge Lamikhov-Center
c22276ec1a
Modernize 'segment' implementation
2022-08-31 22:14:32 +03:00
Serge Lamikhov-Center
847249dd27
Create cmake.yml
2022-08-31 20:01:37 +03:00
Serge Lamikhov-Center
3e8c0c8002
Update c-cpp.yml
2022-08-31 20:00:20 +03:00
Serge Lamikhov-Center
156cac5fa1
Modernize the section implementation
2022-08-30 19:42:28 +03:00
Serge Lamikhov-Center
d4295a5ec9
Change 'launch' arguments
2022-08-29 08:21:17 +03:00
Serge Lamikhov-Center
af080f739e
Use unique_ptr instead of raw pointers
2022-08-29 08:20:07 +03:00
Serge Lamikhov-Center
a3e2a1f07f
Change placement of the fuzzer executable
2022-07-28 17:53:21 +03:00
Kamay Xutax
7227a0913f
Fix sign-compare error
...
I just noticed that on my compiler;
probably due to recent version, not sure.
2022-07-18 19:01:22 +03:00
Serge Lamikhov-Center
eeb00b60b2
Initial attempt for lazy load - segment loading
2022-07-17 19:13:49 +03:00
Serge Lamikhov-Center
92658df379
In case of the top project, build examples and tests by default
2022-07-09 16:25:29 +03:00
Serge Lamikhov-Center
bc2532bd33
Remove Travis badge
2022-07-04 04:46:39 +00:00
Kamay Xutax
e633e80886
Added auxiliary vectors
...
TODO: We might add examples run-time one day.
2022-07-01 20:13:04 +03:00
Serge Lamikhov-Center
91017d3edb
Add ASAN sanitizer to the fuzzer
2022-06-21 16:41:20 +03:00
Serge Lamikhov-Center
1b4dc7be42
Travis is not used any longer
2022-06-21 14:45:30 +03:00
Serge Lamikhov-Center
ef2fa127c0
Add elfio_fuzzer to tests' compilation
2022-06-21 09:49:46 +03:00
Serge Lamikhov-Center
9d6984a59b
An attempt to address unusual case where 'note' size is larger than Elf_Word
2022-06-21 08:07:06 +03:00