llvm-project
f66f2fe0 - [LLD][COFF] add __{data,bss}_{start,end}__ symbols for Cygwin support (#136180)

Commit
151 days ago
[LLD][COFF] add __{data,bss}_{start,end}__ symbols for Cygwin support (#136180) Cygwin requires these symbols for its fork emulation to know what data to copy into the child. GNU ld defines these symbols for MinGW targets also, so do the same here. Cygwin also has the `.data_cygwin_nocopy` section, which is merged into `.data` outside the `__data_start__` to `__data_end__` range. This excludes it from fork's copying. AFAIK it's only used by the Cygwin DLL itself (which requires a custom linker script to link, that's not supported by LLD), but the section is included in GNU ld's default linker script so handle it here too. Signed-off-by: Jeremy Drake <github@jdrake.com>
Author
Parents
Loading