Rev 34 | Rev 36 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 34 | Rev 35 | ||
---|---|---|---|
Line 504... | Line 504... | ||
504 | # of loadable segments (PT_LOAD): whereas GNU ld generate usually two (one for code, one for data), LLD generates a lot more, |
504 | # of loadable segments (PT_LOAD): whereas GNU ld generate usually two (one for code, one for data), LLD generates a lot more, |
505 | # with different access permissions - and while this is technically correct ELF format (and even more secure), this unusual |
505 | # with different access permissions - and while this is technically correct ELF format (and even more secure), this unusual |
506 | # program header layout can be refused by QNX ("can't load xxx: exec format error"). Same if you use ld with '-z separate-code'. |
506 | # program header layout can be refused by QNX ("can't load xxx: exec format error"). Same if you use ld with '-z separate-code'. |
507 | # Also, it is likely that GCC's crti.o/crtn.o being filtered out by LLD from the output executables prevent them to run on QNX. |
507 | # Also, it is likely that GCC's crti.o/crtn.o being filtered out by LLD from the output executables prevent them to run on QNX. |
508 | # https://stackoverflow.com/questions/18091463/why-does-an-assembly-program-only-work-when-linked-with-crt1-o-crti-o-and-crtn-o |
508 | # https://stackoverflow.com/questions/18091463/why-does-an-assembly-program-only-work-when-linked-with-crt1-o-crti-o-and-crtn-o |
- | 509 | # CAVEAT: well worth the read if you intend to use LLD: https://maskray.me/blog/2020-12-19-lld-and-gnu-linker-incompatibilities |
|
509 | 510 | ||
510 | # TODO optional: port compiler_rt sanitizer bindings and build sanitizers, xray, memprof, libfuzzer and profile |
511 | # TODO optional: port compiler_rt sanitizer bindings and build sanitizers, xray, memprof, libfuzzer and profile |
511 | # TODO optional: port lldb bindings and build lldb (implement ptrace) |
512 | # TODO optional: port lldb bindings and build lldb (implement ptrace) |