Aleksei Romanov
e656f75767
Fix possible nullptr dereference
2024-11-06 20:18:27 +02:00
Alan Jowett
b13dc75783
Replace non-ansi with ansi characters
...
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
2024-10-29 07:37:13 +02:00
Kirill Okhotnikov
647aba7a29
Added support for ".gnu.version_d"
2024-10-23 09:05:58 +03:00
Serge Lamikhov-Center
41f4012d49
Just formatting
2024-06-15 10:58:36 +03:00
Serge Lamikhov-Center
bb3a08a4b9
Relate TLS sections to TLS segments only
2024-06-14 22:44:22 +03:00
Serge Lamikhov-Center
5dd192cce6
Output Section to Segment mapping
2024-06-14 19:53:10 +03:00
Serge Lamikhov-Center
a872f7cdde
Add test that verifies that get_symbols_num() returns increased value after add_symbol()
2024-06-14 17:07:43 +03:00
Michael Agun
92b9b67df6
check that stream is big enough, accounting for overflow
2024-06-14 17:07:43 +03:00
Epifanov Ivan
3bc66a0e50
Add arm relocation types
2024-06-14 17:07:43 +03:00
Serge Lamikhov-Center
d33fadb34a
Just reformatting
2024-04-28 19:36:59 +03:00
RoboSchmied
73020740eb
Fix: 32 typos
...
Signed-off-by: RoboSchmied <github@roboschmie.de>
2024-03-26 18:02:24 +02:00
Serge Lamikhov-Center
a428b72acb
Check file offset doesn't exceed file size
2024-03-22 18:21:56 +02:00
Eugen Wissner
e361316ce4
Add RISC-V relocation types
2024-03-03 16:33:23 +02:00
Alan Jowett
182248f364
Validate size of entries before accessing members
...
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>
2024-01-20 19:21:59 +02:00
Jatin Chaudhary
9814eaaa76
Fix warning shown up with clang compiler
2024-01-12 15:24:56 +02:00
Serge Lamikhov-Center
36c45301d4
Increase the library version number
2023-12-14 20:22:49 +02:00
Serge Lamikhov-Center
a528c2e99b
Fix formatting
2023-11-23 19:20:53 +02:00
Serge Lamikhov-Center
e07864463c
Experimental change of section table alignment to 16
2023-10-16 20:19:00 +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
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
Serge Lamikhov-Center
6fc23e53dd
Increase version number for future release
2022-12-18 00:37:56 +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
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
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
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