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) |