Commit Graph

43 Commits

Author SHA1 Message Date
Romain Thomas 702f4e51b8 Resolve #1310 2026-03-17 15:01:41 +01:00
Romain Thomas e1844d4ecc Add check_layout for ELF
This commit implements the check_layout function for ELF binaries
similar to PE and Mach-O. This function aims to ensure that the
ELF binary is consistent according to various loader (e.g., Linux, Android)
2026-03-17 08:30:21 +01:00
lief-agent 83bdf9c8d4 Add support for ELF DT_AUXILIARY and DT_FILTER
Resolve #1159
2026-03-08 11:33:50 +01:00
Charles Bousseau 63d5500ee7 Add TLSDESC_PLT and TLSDESC_GOT to ELF dynamic tags (#1311)
* Add TLSDESC_PLT and TLSDESC_GOT to ELF dynamic tags

---------

Co-authored-by: Romain Thomas <me@romainthomas.fr>
2026-03-07 20:57:50 +01:00
Romain Thomas c5223bf112 Update nanobind to v2.10.x 2026-01-24 09:39:04 +01:00
Romain Thomas de49dceba9 Update nanobind
Resolve: #1128
2024-11-30 05:30:21 +01:00
Romain Thomas 7a4291bcf1 Improve relocation support 2024-11-09 06:30:58 +01:00
Romain Thomas 3f233e5a95 Add support for eBPF relocations 2024-11-09 06:01:04 +01:00
Romain Thomas 19dd162314 Add RISC-V processor flags 2024-11-01 06:01:26 +01:00
Romain Thomas 27be4e6b2d Add support for GNU_PROPERTY_AARCH64_FEATURE_PAUTH 2024-10-26 15:46:14 +02:00
Romain Thomas 086c49fb7a Add is_targeting_android to determine if an ELF targets Android 2024-10-26 08:48:08 +02:00
Romain Thomas f979004437 Resolve #1086 2024-08-24 04:44:44 +02:00
Romain Thomas ab85865f27 Improve support for RISC-V architecture
Resolve: #1082
2024-08-17 04:57:30 +02:00
Romain Thomas 24d48ad0b5 Fix Mach-O issue 2024-07-27 21:01:04 +02:00
nsurbay f4bf30dfbc Support new Dynamic tags for X86_64 (#1081)
* Add new X86_64 specific Dynamic Tag

See https://sourceware.org/git/?p=glibc.git;a=commit;h=848746e88ec2aa22e8dea25f2110e2b2c59c712e

* Add missing Dynamic Tag in C api

---------

Co-authored-by: Romain Thomas <me@romainthomas.fr>
Co-authored-by: Romain Thomas <7450402+romainthomas@users.noreply.github.com>
2024-07-27 11:00:43 +02:00
Romain Thomas 27d406be96 Resolve #1026 2024-07-20 07:01:19 +02:00
Romain Thomas da6ca93e7d Avoid polluting compilation units with static initializer 2024-07-13 06:45:30 +02:00
Romain Thomas 9c7b9aa81c Add helper to provide a relocated view of **array** dynamic entries.
Close #1058, related to #626
2024-07-13 06:36:39 +02:00
Romain Thomas 62499ca1ab Add support for QNX Notes (QNT_STACK)
Resolve: #1065
2024-06-22 07:08:28 +02:00
Romain Thomas 3f82c9ef82 Resolve #1070 2024-06-15 06:04:13 +02:00
Romain Thomas 839ef18dc0 Fix typo 2024-06-01 05:50:30 +02:00
Leland Jansen ef824c71bc Rename DEBUG enum variants 2024-05-06 16:18:48 +02:00
Romain Thomas 4d8211a2bd Remove ARM_UNWIND (in conflict with ARM_EXIDX) 2024-04-27 05:27:03 +02:00
Romain Thomas b0f421bd5e Allow a static install of the Python bindings (internal usage) 2024-02-17 05:23:58 +01:00
Romain Thomas 00e4a684a3 Add support for DT_RELR/DT_ANDROID_RELA relocations
This commit adds the support for the (new) relative relocations
as well as the Android packed relocation format.

Resolve: #111 #991
2024-02-03 15:52:54 +01:00
Romain Thomas 6217d70643 Resolve #1019 2024-02-03 12:54:32 +01:00
Romain Thomas cddd8dd076 Rename the static_symbol API into symtab_symbol 2024-02-03 06:31:30 +01:00
Romain Thomas 7cd186ddfa Fix #1016 -- Create aliases: ContentInfo::{digest,digest_algorithm} to SpcIndirectData::{digest,digest_algorithm} 2024-01-27 06:11:39 +01:00
Romain Thomas fac0e7840e Add support for ELF NT_GNU_PROPERTY_TYPE_0 (read-only)
See: `tests/elf/test_notes.py` for API usage

Resolve: #975
2023-12-02 08:03:12 +01:00
Romain Thomas 78c3196d67 Refactor the ELF Note support 2023-11-09 06:26:56 +01:00
Romain Thomas 2a2c56a173 Make typing stubs more accurate 2023-10-21 06:36:59 +02:00
Romain Thomas a27bd6a644 Add support for os.PathLike inputs in the parsers
Resolve: #974
2023-10-21 05:23:42 +02:00
Romain Thomas 3ade2736c0 Improve typing stubs 2023-10-15 22:14:28 +02:00
Romain Thomas 1ecfbf1fd8 Add new ELF DT_ enums.
This commit resolves the `UNDEFINED` output mentioned in #954, whilst
not supporting yet the packed relocations.
2023-08-27 21:33:23 +02:00
Romain Thomas 7289bbb01f Refactor and clean PE debug entries 2023-07-22 13:39:11 +02:00
Romain Thomas e37ffa9ec8 Switch the bindings to nanobind (and update the CI) 2023-07-09 21:33:43 +02:00
Romain Thomas 6f04ecd472 Update stubs 2023-06-10 13:13:19 +02:00
Romain Thomas 63f37f5fe2 Update stubs 2023-06-04 10:22:03 +02:00
Romain Thomas c33391222a Update stubs 2023-04-28 06:21:11 +02:00
Romain Thomas 284001d4c1 Update stubs 2023-04-25 19:02:01 +02:00
Romain Thomas 683fc6cea7 Enhance mypy stubs (related to #650) 2023-03-25 10:45:37 +01:00
Romain Thomas 9320303fb3 Enhance the methods to relocate the segments table
This commit resolves #872
2023-03-18 07:30:23 +01:00
Romain Thomas 9da2466609 Improve the LIEF Python build system by using pyproject.toml
- It also provides typing info (close #650)
- Enhance the test suite
- Remove deprecated PE functions
2023-02-19 20:19:03 +01:00