rthomas
da371b3780
Fix const-ness
2020-05-23 20:46:35 +02:00
Romain
26ae54a175
Merge pull request #413 from JanuszL/optimization
...
This PR introduces several performance optimizations for the binary write/build process
2020-05-22 10:14:10 +02:00
Janusz Lisiecki
1e0c4e81d4
This PR introduces several performance optimizations for the binary write/build process
...
- it changes the way how the number of symbols is reduced and how offsets to names are calculated.
Instead of n^2 algorithms, it introduces nlog(n) algorithm.
When the symbols optimization step is performed map<symbol_name, offset_to_name>
is created so it saves another n^2 pass
- a couple of performance improvements to filter_iterator - from pre to post incrementation
to save an unneeded copy, memoization of end iterator as the compiler cannot do it on its own
and recreates it every loop iteration, simplified construction of the end iterator
on the test binary that has a couple of hundreds of MB, it reduces the execution time of
elf_add_section example form 20 minutes to a couple of seconds
- adds an ability to modify single value inplace in the sectiton to save coying it just to do that
- the reason behind this patch is to use LIEF as a patchelf replacement so the performance
is one of the factors
Signed-off-by: Janusz Lisiecki <jlisiecki@nvidia.com>
2020-05-22 02:29:59 +02:00
rthomas
a2a1ce6fe3
Fix #412
2020-05-21 18:38:30 +02:00
rthomas
3cee05646c
Fix typo
2020-05-20 16:30:38 +02:00
Romain
2ed4dd0157
Merge pull request #417 from kohnakagawa/fix/empty_fixed_file_version_entry
...
Fix to parse PE files that have empty fixed_file_version entry
2020-05-20 16:27:23 +02:00
Koh M. Nakagawa
2166c91773
fix to parse empty fixed_file_version entry
2020-05-20 16:46:11 +09:00
rthomas
b99e791be6
Prefer unordered_map
2020-05-11 09:44:54 +02:00
rthomas
6fd553114d
Update references
2020-05-11 09:33:03 +02:00
rthomas
8671cc0a97
Fix changelog
2020-05-11 09:25:03 +02:00
Romain
cf2f92fc65
Merge pull request #408 from kohnakagawa/fix/debug_type
...
add IMAGE_DEBUG_TYPE_EX_DLLCHARACTERISTICS
2020-05-11 09:18:09 +02:00
Koh M. Nakagawa
cd05f34bae
add IMAGE_DEBUG_TYPE_EX_DLLCHARACTERISTICS
2020-05-11 09:16:59 +02:00
Romain
e4a3659297
Merge pull request #407 from kohnakagawa/fix/add_json_records
...
Fix to show some missing JSON records
2020-05-11 08:55:36 +02:00
Koh M. Nakagawa
541c38c9e8
add some json records
2020-05-11 08:53:38 +02:00
Romain
b023698df8
Merge pull request #409 from benjamb/bundle-license
...
Add LICENSE to MANIFEST.in
2020-05-11 08:51:23 +02:00
Ben Brown
37f38b3a42
Add LICENSE to MANIFEST.in
2020-05-06 10:29:40 +01:00
Romain
84ffe2d478
Merge pull request #405 from kohnakagawa/fix/reloc_base_types
...
add missing RELOCATIONS_BASE_TYPES
2020-05-03 20:18:24 +02:00
rthomas
a04eb8888a
Enhancement
2020-05-03 11:15:36 +02:00
Koh M. Nakagawa
c03125045e
add missing RELOCATIONS_BASE_TYPES
2020-05-03 11:15:36 +02:00
rthomas
798950d874
Fix memcpy
2020-05-03 11:14:07 +02:00
rthomas
c0d028b4eb
Fix symbol size
2020-05-03 10:51:52 +02:00
rthomas
9b2420d2e4
Fix uninitialized variable
2020-05-02 11:51:23 +02:00
Romain
9a64ced220
Merge pull request #406 from kohnakagawa/fix/machine_type_enum
...
fix machine type enum
2020-05-01 19:29:20 +02:00
Koh M. Nakagawa
6ee808a1e4
fix machine type enum
2020-05-01 10:01:19 +09:00
rthomas
1400144455
Fix python path
2020-04-26 19:29:31 +02:00
rthomas
59fb3b5da5
Update travis
2020-04-26 16:56:07 +02:00
rthomas
faf2067f08
Update travis
2020-04-26 14:45:39 +02:00
Romain
f96d95d718
Merge pull request #400 from intezer/master
...
feature: release the GIL on parse
2020-04-26 11:53:14 +02:00
thetufik
2c85678fb6
feature: release the GIL on parse
2020-04-21 16:54:23 +03:00
Romain
ec8ed4d842
Merge pull request #394 from kohnakagawa/fix/README
...
fix C++ sample in README
2020-04-15 06:08:09 +02:00
Romain
1deb7f945d
Merge pull request #393 from suletm/patch-1
...
To fix documentation issue #392
2020-04-15 06:07:52 +02:00
Koh M. Nakagawa
ee7ccb2863
fix C++ sample in README
2020-04-11 14:07:59 +09:00
suletm
7daff3bf9b
To fix documentation issue #392
...
1. Inconsistent function name fix.
2. Compilation fix as discussed in #392
2020-04-10 20:12:25 -07:00
rthomas
8ac569cb52
Update travis
2020-04-10 14:48:57 +02:00
Romain
43b65f616b
Merge pull request #389 from kohnakagawa/fix/resource-parse-bug
...
fix resource parsing bug
2020-04-07 13:57:13 +02:00
Romain
5d45f8c6cb
Merge pull request #385 from aeflores/always-parse-section-relocs
...
parse section relocations but do not parse dynamic relocations twice.
2020-04-07 13:56:54 +02:00
rthomas
b57f32333a
Consider relative offset when parsing EH frame.
...
Related to #385
2020-04-07 09:28:48 +02:00
Koh Nakagawa
a7254d1ba9
fix resource parsing bug
2020-04-05 15:49:17 +09:00
Antonio Flores Montoya
fe7c725f3b
remove leftover debugging code.
2020-03-23 08:59:03 -04:00
Antonio Flores Montoya
594ea3b356
add test for binary with all relocations.
2020-03-23 08:53:25 -04:00
aeflores
6c53646bb7
parse section relocations but do not parse dynamic relocations twice.
2020-03-14 12:06:56 -04:00
Romain
1014ba0ad1
Merge pull request #384 from lief-project/revert-382-always-parse-section-relocs
...
Revert "Binaries generated with --emit-relocs have dynamic and section relocations"
2020-03-14 07:37:01 +01:00
Romain
e39f939899
Revert "Binaries generated with --emit-relocs have dynamic and section relocations"
2020-03-14 07:36:23 +01:00
Romain
f210e6ba9b
Merge pull request #382 from aeflores/always-parse-section-relocs
...
Binaries generated with --emit-relocs have dynamic and section relocations
2020-03-14 07:35:54 +01:00
Antonio Flores Montoya
a8293b4343
Binaries generated with --emit-relocs have dynamic and section relocations.
2020-03-09 16:47:43 -04:00
rthomas
33d1b894c0
Fix collisions in string optimization
2020-01-04 07:59:13 +01:00
rthomas
0b205665c3
Add package dir
2019-12-27 06:21:51 +01:00
Romain
fb789a8e9a
Merge pull request #368 from newgre/master
...
Use ifstream::read method to read file data instead of std::copy.
2019-12-15 10:53:28 +01:00
newgre
89bd542833
Use ifstream::read method to read file data instead of std::copy.
...
Improves the time to load and parse a large executable (~100MB) on my machine from ~1000ms to ~400ms.
2019-12-14 23:29:18 +01:00
Romain
a26ae60e83
Merge pull request #365 from mingwandroid/FixMissing-typeinfo-symbol
...
Export BuildToolVersion and fix typo
2019-12-11 07:46:31 +01:00