https://sourceware.org/bugzilla/show_bug.cgi?id=27495
--- Comment #3 from Fangrui Song <i at maskray dot me> --- (In reply to H.J. Lu from comment #2) > FAIL: ld-elf/pr21562a > FAIL: ld-elf/pr21562b Expected. __start_scnfoo references do not retain scnfoo input sections. > FAIL: ld-elf/pr21562c > FAIL: ld-elf/pr21562d Expected. Use KEEP(*(scnfoo)) to mark scnfoo as GC roots. > FAIL: ld-elf/pr21562i > FAIL: ld-elf/pr21562j > FAIL: ld-elf/pr21562k > FAIL: ld-elf/pr21562l > FAIL: ld-elf/pr21562m > FAIL: ld-elf/pr21562n These reuse the other .s files. > So this option generates broken outputs by design. I don't this is a good > idea. I don't think so. I have performed a large scale test internally, everything except Swift and systemd works. > Instead, LLVM should generate __gc_start/__gc_stop instead of __start/__stop. If __start_/__stop_ were broken, creating new magic symbols might be an option. __start_/__stop_ work in 99.9% cases so not sure new symbols need to be invented. bug 27492 tracks the glibc static linking issue related to stdio flushing. -- You are receiving this mail because: You are on the CC list for the bug.