Commit graph

293 commits

Author SHA1 Message Date
Folkert
5dbd119391
WIP 2022-10-03 21:19:09 +02:00
Folkert
c3d49ab38b
improve write_dummy_sections style 2022-10-02 18:21:30 +02:00
Folkert
7a04c1e801
preprocess itself produces a functioning binary 2022-10-02 17:19:19 +02:00
Folkert
355bbcb3a7
improve comment 2022-10-02 15:48:36 +02:00
Folkert
57e67f9878
ignore a test that does not yet work on windows 2022-10-02 15:43:39 +02:00
Folkert
675092db17
add a test for preprocessing 2022-10-02 15:41:15 +02:00
Folkert
78a5902261
on windows, run the .exe with the full path 2022-10-02 15:40:34 +02:00
Folkert
06e24fb44f
bump image size 2022-10-02 15:39:24 +02:00
Folkert
a798552dee
write valid dummy sections 2022-10-02 15:37:53 +02:00
Folkert
cf23feb996
track section alignment 2022-10-02 15:33:00 +02:00
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 de Vries
2b91154b93
Merge pull request #4128 from roc-lang/static-relocations
PE inter-section relocations
2022-10-01 00:01:56 +02:00
Folkert
28eb6cc498
remove absolute again; this test does not actually test it 2022-09-29 21:37:35 +02:00
Folkert
1a7025b20c
clippy things 2022-09-29 00:27:28 +02:00
Folkert
1254c9f8db
clippy 2022-09-28 20:39:16 +02:00
Folkert
4780144e38
simplify PE tests 2022-09-28 20:36:00 +02:00
Folkert
ba704d731f
do inter-app relocations (PE) 2022-09-28 20:35:27 +02:00
Folkert
d70625b21b
improved symbol debugging output from the surgical linker 2022-09-28 14:11:54 +02:00
Brian Carroll
173a4ec8ab
Define roc_memmove in case LLVM decides to use memmove 2022-09-27 21:24:23 +01:00
Folkert
b725b36697
add support for absolute relocations 2022-09-25 19:09:56 +02:00
Folkert
fdbb0c8e3c
rename LittleEndian -> LE 2022-09-25 13:54:52 +02:00
Folkert
65fd6e9e86
add a zig-based elf linker test 2022-09-25 13:46:03 +02:00
Folkert
9ba0103715
only pass endianness down 2022-09-25 13:09:58 +02:00
Folkert
fbe3f359e2
fix a test 2022-09-25 01:51:16 +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
3f87c1b60c
cleanup 2022-09-24 16:09:55 +02:00
Folkert
c220f0c296
open host with an mmap 2022-09-24 15:46:08 +02:00
Folkert
cbc04acc2c
remove a magic constant 2022-09-24 15:14:04 +02:00
Folkert
f1e05f6d13
centralize metadata file IO 2022-09-24 14:49:23 +02:00
Folkert
51f8bf496f
remove magic constant 2022-09-24 14:40:36 +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
1251769eb5
add comment to metadata 2022-09-24 13:55:51 +02:00
Folkert
0b4682a73f
remove a magic offset 2022-09-24 13:48:58 +02:00
Folkert
228e5d831d
remove dead_code pragmas 2022-09-24 13:32:07 +02:00
Folkert
baed73d9f2
renaming 2022-09-23 20:57:57 +02:00
Folkert
f7a2eff34b
refactor 2022-09-23 20:48:41 +02:00
Folkert
3131bd1a2f
Merge remote-tracking branch 'origin/pe-host-to-app' into windows-surgical-linker-first-roc-file 2022-09-23 20:17:42 +02:00
Folkert
f632e299cd
cross-compile C for windows with zig 2022-09-23 19:46:27 +02:00
Folkert
aae2dbf17c
remove test we don't need any more 2022-09-23 18:29:27 +02:00
Folkert
d871e2a14f
add the -rdynamic flag 2022-09-23 14:52:52 +02:00
Folkert
8811123811
add .exe extension when target is windows 2022-09-23 14:52:52 +02:00
Folkert
8634f284b5
call host functions from the app 2022-09-23 14:52:51 +02:00
Folkert
78e1328064
remove magic constant 2022-09-23 14:52:51 +02:00