Commit graph

53 commits

Author SHA1 Message Date
Folkert
249901c73c
add libc functions to the linker crate, so we can run tests on windows 2022-10-02 15:29:24 +02:00
Folkert
1a7025b20c
clippy things 2022-09-29 00:27:28 +02:00
Folkert
b725b36697
add support for absolute relocations 2022-09-25 19:09:56 +02:00
Folkert
65fd6e9e86
add a zig-based elf linker test 2022-09-25 13:46:03 +02:00
Folkert
49eff224bc
split elf and macho linking into their own files 2022-09-25 01:14:03 +02:00
Folkert
89938cc80e
pass the roc app bytes into the linker
as opposed to opening a file 'within' the linker
2022-09-24 23:03:43 +02:00
Folkert
320aa504cd
fix underflow in duration calculation 2022-09-24 22:53:54 +02:00
Folkert
1d875a32fb
bubble up Path 2022-09-24 17:41:11 +02:00
Folkert
55aee0c6ab
extract metadata collection 2022-09-24 17:17:00 +02:00
Folkert
764637594e
centralize mmap logic 2022-09-24 16:55:53 +02:00
Folkert
baa0dcc359
more paths 2022-09-24 16:26:36 +02:00
Folkert
c220f0c296
open host with an mmap 2022-09-24 15:46:08 +02:00
Folkert
f1e05f6d13
centralize metadata file IO 2022-09-24 14:49:23 +02:00
Folkert
f88dc0308b
restructure the preprocessing entry point 2022-09-24 14:40:24 +02:00
Folkert
71a26d32d2
remove unused argument 2022-09-24 14:16:58 +02:00
Folkert
540d3c29f9
enable the windows surgical linker, for now 2022-09-22 21:53:48 +02:00
Folkert
1c95fd3761
a functional windows surgical linker 2022-09-22 21:28:27 +02:00
Folkert
e88b61734c
add .exe extension when target is windows 2022-09-21 18:11:59 +02:00
Folkert
af8f54bfbd
find and decode the dynamic relocations in .exe files 2022-09-07 17:52:19 +02:00
Folkert de Vries
bdbaa9dda2
Merge pull request #3956 from roc-lang/refactor-surgery
minor cleanup of surgery
2022-09-06 19:17:02 +02:00
Folkert de Vries
33ae4c2655
Merge branch 'main' into windows-surgical-dll
Signed-off-by: Folkert de Vries <folkert@folkertdev.nl>
2022-09-05 11:31:19 +02:00
Folkert
af74f72f8a
minor tweaks 2022-09-03 14:45:22 +02:00
Folkert
ff7df65f36
simplify slices 2022-09-03 13:24:21 +02:00
Folkert de Vries
7e31f67910
Merge pull request #3919 from roc-lang/surgical-no-break-caching
surgical linker: don't generate dynhost if it's unchanged
2022-08-31 09:04:13 +02:00
Folkert
ab2163b800
sort symbols 2022-08-30 15:00:58 +02:00
Folkert
3e78395237
changes after review 2022-08-30 12:32:19 +02:00
Brendan Hansknecht
ed7f066d33
Merge pull request #3916 from roc-lang/surgical-text-surgeries
surgical linker: extract finding surgeries in text
2022-08-30 03:00:26 +00:00
Folkert
d9db0b7096
fix shared object file extension 2022-08-30 00:15:48 +02:00
Folkert
62a818883a
generate a minimal, fake .dll with the host-exposed symbols 2022-08-29 23:58:05 +02:00
Brendan Hansknecht
3895abd540
Merge pull request #3915 from roc-lang/surgical-use-struct-syntax
surgical linker: use struct initialization syntax
2022-08-29 03:00:34 +00:00
Folkert
d433448d6f
don't regenerate the dynhost file if it is unchanged 2022-08-28 13:17:50 +02:00
Richard Feldman
3ca9202e3b
Merge pull request #3834 from roc-lang/rust-1.63-clippy
rust 1.63 clippy
2022-08-27 21:15:36 -04:00
Folkert
0ca79c7a60
add some comments 2022-08-28 00:12:48 +02:00
Folkert
764b9f656e
simplify pattern 2022-08-28 00:08:07 +02:00
Folkert
2bc809503a
extract looking at the text sections 2022-08-28 00:07:29 +02:00
Folkert
e009f7888e
prettify 2022-08-27 23:30:00 +02:00
Folkert
476521e7b7
use struct initialization syntax 2022-08-27 23:23:08 +02:00
Folkert
57c12b009b
find the undefined symbols 2022-08-27 12:21:49 +02:00
Folkert
0238471241
add a test for extracting symbols from a dynhost 2022-08-27 12:19:06 +02:00
Folkert
c4d25e0180
extract symbol collecting logic 2022-08-27 12:17:29 +02:00
Folkert de Vries
a8b83cfe37
Merge pull request #3858 from roc-lang/surgical-generate-dylib
Surgical generate dylib
2022-08-25 09:03:52 +02:00
Folkert
87988a301b
cleanup 2022-08-24 12:34:08 +02:00
Folkert
f3f6f58d09
clippy fixes 2022-08-21 16:43:57 +02:00
Folkert
5261005096
more cleanup 2022-08-21 15:50:12 +02:00
Folkert
0a2d976d50
store just the sections that we actually want 2022-08-18 22:32:38 +02:00
Folkert
61ae913972
attempt at generating the dylib without an external linker 2022-08-17 23:40:19 +02:00
Anton-4
72e60bceea
valgrind fix for newer intel processors 2022-08-12 12:06:31 +02:00
Richard Feldman
c6eff66f4b
Merge remote-tracking branch 'origin/trunk' into use-instant-over-system-time 2022-07-22 21:01:09 -04:00
Folkert
da6a6dcf1c
shorten file lifetime, maybe that helps? 2022-07-22 15:23:36 +02:00
Christoph Rüßler
c4f141b735 Use Instant over SystemTime to record timings
Closes #3575.
2022-07-22 10:03:47 +02:00