self-host linking #4314
Labels
contributor friendly
This issue is limited in scope and/or knowledge of Zig internals.
enhancement
Solving this issue will likely involve adding new logic or components to the codebase.
frontend
Tokenization, parsing, AstGen, Sema, and Liveness.
stage1
The process of building from source via WebAssembly and the C backend.
Milestone
The C++ code in
src/link.cpp
is not really necessary for bootstrapping the self-hosted compiler.stage1 only needs to be able to create
libstage1.a
(stage1.lib
on Windows) static library which then gets linked into stage2. That means linking can be self-hosted!This depends on #4313 being implemented first.
With this issue implemented, self-hosting the drop-in C compiler feature (see #3089) will be possible.
What it means to close this issue is that stage1 will call
stage2_link()
with some set of parameters that does not include a list of linker arguments (the self-hosted code will figure out the set of linker arguments).This issue is not to be confused with #1535, which is to implement a linker in Zig. For this issue, LLD is used, same as in master branch. #1535 takes this a step further and does the actual linking itself in zig code, rather than in a third party dependency.
The text was updated successfully, but these errors were encountered: