Commit Graph

75 Commits

Author SHA1 Message Date
Serge Lamikhov-Center
4c4e774cd8
Advance Google Test commit # 2023-12-13 18:24:31 +02:00
Serge Lamikhov-Center
eb6882952c Remove unnecessary files in 'test' directory 2023-10-24 19:26:45 +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
d00cc32f8b Switch to a newer 'googletest' archive 2022-12-15 19:07:46 +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
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
4320ea915e 'noexept' added to upper level API members 2022-11-12 17:00:08 +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
1df77b2495 A tiny refactoring according to SonarLint 2022-10-16 18:43:18 +03:00
Serge Lamikhov-Center
619c9b6884 Apply advices given by clang-tidy 2022-09-28 20:09:39 +03:00
Serge Lamikhov-Center
dd425d83c6 Modernize more files 2022-09-01 18:50:02 +03:00
Serge Lamikhov-Center
af080f739e Use unique_ptr instead of raw pointers 2022-08-29 08:20:07 +03:00
Serge Lamikhov-Center
91017d3edb Add ASAN sanitizer to the fuzzer 2022-06-21 16:41:20 +03:00
Serge Lamikhov-Center
ef2fa127c0 Add elfio_fuzzer to tests' compilation 2022-06-21 09:49:46 +03:00
Serge Lamikhov-Center
cf954a8d42 Prevent memory access to data out the notes' section 2022-06-19 17:37:22 +03:00
Serge Lamikhov-Center
07ef317550 Check out of the file boundary access attemps 2022-06-16 17:30:22 +03:00
Richard Chien
01f8fed8ad Change relocation type to unsigned 2022-05-21 22:55:03 +03:00
Serge Lamikhov-Center
1e6d24d40e Address warnings reported by Windows compilation 2022-02-26 01:56:52 +02:00
Serge Lamikhov-Center
068cb76a3f Most of the tests are passing 2022-02-11 23:15:39 +02:00
Serge Lamikhov-Center
33fe3ac8c8 Remove autoconf tasks from GitHub actions 2022-02-08 17:42:05 +02:00
Serge Lamikhov-Center
c058e34b90 ELFIO moved to CMake completely. Remove all autotools files 2022-02-08 10:38:40 +02:00
Serge Lamikhov-Center
ed2523f095 Adjust stream size when section data changes 2022-01-19 01:24:46 +02:00
Serge Lamikhov-Center
25ac047ff7 Add an example of damaged ELF file 2022-01-15 16:57:41 +02:00
Serge Lamikhov-Center
f7cd33ad14 Add -Wall options. Address the warnings 2022-01-01 17:49:44 +02:00
Serge Lamikhov-Center
e4c945a343 Newer versions of autotools 2022-01-01 17:48:52 +02:00
Serge Lamikhov-Center
daa1a17390 Version Requirements accessor (modifier) was added 2021-12-01 17:38:18 +02:00
Serge Lamikhov-Center
7ba15e0549 Version Requirements accessor (reader) was added 2021-12-01 17:10:35 +02:00
Serge Lamikhov-Center
056846723a Change order and meaning of address_translation structure 2021-09-21 00:31:47 +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
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
4dc38f0f34 modernize-use-using 2021-09-07 10:03:19 +03:00
Serge Lamikhov-Center
1f79600cec Refactoring 2021-08-16 23:19:47 +03:00
Serge Lamikhov-Center
7dcfe3d86d Add default template parameter to array accessor 2021-08-14 16:09:51 +03:00
Serge Lamikhov-Center
95eec4f592 Changes of clang-format formatting 2021-08-13 09:53:53 +03:00
Serge Lamikhov-Center
fc0293ebbd Explicit element size for array accessor 2021-08-13 09:40:49 +03:00
Serge Lamikhov-Center
ef262285dc Add support for GNU hash lookup algorithm 2021-07-27 16:30:41 +03:00
Serge Lamikhov-Center
0fac6ce45b Add a convinience function 'add_section()' to segment class
It is not clear why this hasn't been done initially
2021-04-08 17:03:05 +03: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
00c1192ea2 Added testcase for offset/address mismatch detection 2021-01-07 12:43:21 +02:00
Martin Bickel
3e55690e6d Added new check for section/progHeader consistency 2021-01-07 12:43:21 +02:00
Serge Lamikhov-Center
def3653abc Increase version number to 3.9 2020-12-22 14:30:16 +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
95de7faaa7 Remove MS VS project files 2020-10-30 19:16:20 +02:00