Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

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)