Commit Graph

363 Commits

Author SHA1 Message Date
Brendan Hansknecht
7a944113a0
move build_file and related functions to roc_build
This is needed of glue to be able to call build_file.
Also does some other changes to avoid circular dependencies.
2023-03-04 10:00:43 -08:00
Folkert
180187e5af
get old examples to work 2023-03-01 21:56:14 +01:00
Folkert
fa05c49693
correct the name of the size() exposed function 2023-02-26 14:23:10 +01:00
Folkert
454f3c603e
give the new exposed symbols to the surgical linker 2023-02-25 19:35:46 +01:00
Anton-4
6d115af11a
update tutorial basic-cli release 2023-01-23 20:11:32 +01:00
Anton-4
cc67c75d39
update to rm2 2023-01-21 19:02:40 +01:00
Brendan Hansknecht
7d6426b280
surgical linker: remove none relocations
Simply setting relocations to None does not always work.
If the linker runs a none relocation, it may cause the application to crash.
To fix this, we fully remove all of the none relocations.
2023-01-18 23:19:23 +01:00
Brendan Hansknecht
7c08520e0e
surgical linker: remove jump slot relocations and update static symbols 2023-01-18 23:19:22 +01:00
Folkert
479caaf0a9
clean up path usage 2022-12-29 16:50:21 +01:00
Folkert
e44bf59334
remove argument from load_and_monomorphize 2022-12-29 16:50:19 +01:00
Richard Feldman
5958f50728
Drop obsolete mentions of roc_send_signal 2022-12-08 06:36:12 -05:00
Folkert
ac1fce1a17
put in more section headers and make sure the .dynamic section is in the right segments 2022-12-02 15:19:15 +01:00
Folkert
2d8ba79034
turns out the symtab/strtab are important 2022-12-02 15:19:15 +01:00
Brendan Hansknecht
4329b08fae
fix stub lib path
platform-path is relative to the execution folder, not the input path
2022-11-29 10:03:27 -08:00
Folkert
a9bd01be87
simplify to only the required changes 2022-11-29 09:03:42 +01:00
Folkert
5a62eaa662
commit test version with elfcopy object example 2022-11-29 09:03:42 +01:00
Anton-4
91266a03c6
change matadata filename based on target 2022-11-28 15:18:15 +01:00
Richard Feldman
b2beeb770e
Merge remote-tracking branch 'origin/main' into https-packages 2022-11-25 19:50:06 -05:00
Folkert
f2ad4848db
print the path that the linker writes on error 2022-11-25 19:57:39 +01:00
Richard Feldman
f5cb2d73a1
Merge branch 'precompiled-legacy' into https-packages 2022-11-24 04:29:56 -05:00
Richard Feldman
28bccb792f
Merge remote-tracking branch 'origin/main' into precompiled-legacy 2022-11-24 02:20:50 -05:00
Richard Feldman
0b73ea69af
Make sure tempfiles don't get dropped too early 2022-11-22 20:22:08 -05:00
Richard Feldman
87ad2cdf82
Fix linux surgical linker tests 2022-11-22 14:27:53 -05:00
Richard Feldman
721841fa1f
Provide roc_cache_dir everywhere 2022-11-20 19:53:48 -05:00
Richard Feldman
571844fc27
Change preprocessedhost filename 2022-11-19 23:46:27 -05:00
Richard Feldman
062ecce84c
Change preprocessedhost filename 2022-11-18 23:54:21 -05:00
Folkert de Vries
de472015f6
Merge pull request #4505 from roc-lang/fix-web-repl-palette
Fix web REPL error formatting by routing the active Palette everywhere
2022-11-15 15:49:37 +01:00
Folkert
662bf1de99
more workspace dependencies 2022-11-13 16:10:02 +01:00
Brian Carroll
b64514d7e4
Fix web REPL error formatting by routing the active Palette everywhere 2022-11-11 23:38:08 +00:00
Richard Feldman
58ea07f14f
Merge pull request #4503 from roc-lang/windows-cli-tests
Windows rust platforms
2022-11-11 09:42:06 -08:00
Folkert
21a1434680
support 64-bit relocations on PE 2022-11-11 12:00:19 +01:00
Folkert
9840cd53df
cleanup 2022-11-10 23:11:22 +01:00
Folkert
761891a5a1
implement implicit addends (used for .rdata relocations by rust) 2022-11-10 22:58:54 +01:00
Folkert
ccc69c2f16
add debug info 2022-11-10 22:30:07 +01:00
Richard Feldman
e29c914def
Merge pull request #4449 from roc-lang/windows-cli-tests
cli-platform compile on windows
2022-11-09 14:41:46 -08:00
Folkert
2b6ddc990c
more error info when zig command fails 2022-11-09 19:17:05 +01:00
Luke Boswell
cec67721e6
merge upstream/main 2022-11-06 09:27:46 +11:00
Luke Boswell
2c2a70b8e7 Merge remote-tracking branch 'upstream/main' into rust-docs 2022-11-06 09:15:57 +11:00
Folkert
92cc120c7f
Merge remote-tracking branch 'origin/main' into roc-dev-inline-expects 2022-11-05 12:21:37 +01:00
Folkert
134de80150
various updates 2022-11-03 17:18:27 +01:00
Folkert
66a1ba00eb
1.65 clippy fixes 2022-11-03 16:20:37 +01:00
Luke Boswell
a3f901427a
correct formatting and removed duplicate image 2022-11-03 20:02:10 +11:00
Luke Boswell
f3bdb5f321
updating rust package documentation 2022-11-03 20:00:06 +11:00
Folkert
0c9b49f5cd
Merge remote-tracking branch 'origin/main' into roc-dev-inline-expects 2022-11-02 23:02:22 +01:00
Folkert
a44cd68419
update comments 2022-10-31 23:56:53 +01:00
Folkert
bb893a70a0
actually put in the chkstk helper 2022-10-31 23:47:06 +01:00
Folkert
708de4136b
add assembly bytes for ___chkstk_ms 2022-10-31 23:28:14 +01:00
Folkert
dbd0d30893
Merge remote-tracking branch 'origin/main' into roc-dev-inline-expects 2022-10-30 15:57:07 +01:00
Folkert
bbab077b16
make ret instruction finding more robust 2022-10-30 14:53:17 +01:00
Folkert
69fe0464f5
round up reloc image if on boundary 2022-10-30 11:15:01 +01:00
Folkert
748b2cf23a
make condition stricter 2022-10-30 00:51:42 +02:00
Folkert
21a2f6f103
remove relocation entry logic 2022-10-30 00:46:58 +02:00
Folkert
5a67687bba
deal with a stack probe symbol on windows 2022-10-29 23:19:45 +02:00
Folkert
a9d36431ba
don't put in relocations ?! 2022-10-29 17:01:51 +02:00
Folkert de Vries
9f62e65892
Merge pull request #4406 from roc-lang/windows-effect-loop
Windows effects.roc
2022-10-29 00:29:35 +02:00
Folkert
548ef1358d
remove debug print 2022-10-26 19:09:16 +02:00
Folkert
7c91aa79c9
when encountering memcpy, actually look for roc_memcpy 2022-10-26 16:37:59 +02:00
Folkert
5311d9a02b
Revert "redirect libc functions to their roc equivalents"
This reverts commit 4a75b5ad5827999592ebc0f66debe90f09e87bf5.
2022-10-26 16:36:10 +02:00
Folkert
73796f2b05
rename 2022-10-26 16:34:04 +02:00
Folkert
e6c75ea3b6
make relocation calculation more robust 2022-10-26 16:33:10 +02:00
Folkert
2ad7dc0ca0
redirect libc functions to their roc equivalents 2022-10-26 16:32:37 +02:00
Brendan Hansknecht
7189d79572
remove clap from linker deps 2022-10-25 15:41:00 -07:00
Brendan Hansknecht
e25475e7a1
dummy -> stub. Also minor help message update. 2022-10-24 18:52:11 -07:00
Brendan Hansknecht
dead264798
add macho dummy lib generation with ld 2022-10-24 18:47:12 -07:00
Brendan Hansknecht
d6bdd2aec7
create a roc sub command for generating a dummy lib 2022-10-24 18:47:11 -07:00
Folkert
b4878e5550
Merge remote-tracking branch 'origin/main' into roc-dev-inline-expects 2022-10-24 18:39:30 +02:00
Folkert
1d45b7d1b5
remove a copy 2022-10-23 22:59:25 +02:00
Folkert
43c3095337
fix bug in loop 2022-10-23 22:55:01 +02:00
Folkert
0071c9aa04
update the dynhost file (dll name is now different) 2022-10-23 21:30:52 +02:00
Folkert
c4e407f703
remove subtraction of image base; value is already an rva 2022-10-23 20:19:34 +02:00
Folkert
28665abc96
use libapp.dll as the dll name 2022-10-23 20:18:09 +02:00
Folkert
ca90b00588
correctly update the size of the base relocations (round up to multiple of 8) 2022-10-23 20:16:46 +02:00
Folkert
f0f94107d5
deal with imports being stored in .idata or .rdata 2022-10-23 20:15:35 +02:00
Folkert
9c9e495e14
deal with our dummy dll not being the last import in the file 2022-10-23 20:10:38 +02:00
Folkert
215cacb260
add .lib file generation for windows 2022-10-23 20:06:31 +02:00
Folkert
0d3c039341
refactor dll symbol name generation 2022-10-23 20:06:30 +02:00
Folkert
e3df138c45
fix typo 2022-10-23 20:05:24 +02:00
Folkert
c55a3e7b37
resize reloc section when required 2022-10-22 14:49:59 +02:00
Folkert
ebac056814
Merge remote-tracking branch 'origin/main' into roc-dev-inline-expects 2022-10-21 23:05:34 +02:00
Folkert
d0492327e8
Revert "re-enable"
This reverts commit 644a12e7aa.
2022-10-19 17:41:46 +02:00
Folkert
644a12e7aa
re-enable 2022-10-19 16:52:51 +02:00
Folkert
4de148456c
stop updating reloc data directory 2022-10-19 15:32:34 +02:00
Folkert
e2128a55f4
add assert to check we fit in the reloc section 2022-10-19 15:12:51 +02:00
Folkert
a572622ff7
update basereloc dir size 2022-10-19 14:12:41 +02:00
Folkert
5e10dddd6f
support multiple app relocations per symbol 2022-10-18 18:43:40 +02:00
Folkert
27aaaf9c26
remove debug logs 2022-10-17 21:25:30 +02:00
Folkert
58c7a21569
make relocations work when the .rdata section is bigger than a 4kb page 2022-10-17 21:21:27 +02:00
Folkert
7143abdedb
remove unused import on windows 2022-10-16 14:28:01 +02:00
Folkert
323210c547
Merge remote-tracking branch 'origin/main' into roc-dev-inline-expects 2022-10-16 13:56:30 +02:00
Folkert
a063bfcd30
changes after review 2022-10-16 13:26:48 +02:00
Folkert
73e48c9b7c
add better comments 2022-10-16 01:03:03 +02:00
Folkert
b822c1c617
basics test now works! 2022-10-15 20:45:20 +02:00
Folkert
c15ab0461a
Merge remote-tracking branch 'origin/main' into windows-program-loading-scratchpad 2022-10-15 20:39:53 +02:00
Folkert
0e08ccdc0c
enable test that works 2022-10-15 20:34:24 +02:00
Folkert
ebc3e770de
more cleanup 2022-10-15 20:33:01 +02:00
Folkert
a5935b262b
cleanup 2022-10-15 20:31:36 +02:00
Folkert
e8dc02d578
remove unused import on windows 2022-10-15 20:30:59 +02:00
Folkert
b5fb200a91
ensure sections never have 0 virtual size 2022-10-15 20:29:50 +02:00
Folkert
b3cf1c6812
extract .dll relocation logic into function 2022-10-15 20:24:14 +02:00
Folkert
4c51893632
get rid of constants 2022-10-15 20:16:31 +02:00