File tree Expand file tree Collapse file tree 1 file changed +7
-1
lines changed Expand file tree Collapse file tree 1 file changed +7
-1
lines changed Original file line number Diff line number Diff line change @@ -567,6 +567,13 @@ bool DarwinAsmPrinter::doFinalization(Module &M) {
567
567
<< " \t .long\t " << *i << ' \n ' ;
568
568
}
569
569
570
+ // Funny Darwin hack: This flag tells the linker that no global symbols
571
+ // contain code that falls through to other global symbols (e.g. the obvious
572
+ // implementation of multiple entry points). If this doesn't occur, the
573
+ // linker can safely perform dead code stripping. Since LLVM never generates
574
+ // code that does this, it is always safe to set.
575
+ O << " \t .subsections_via_symbols\n " ;
576
+
570
577
AsmPrinter::doFinalization (M);
571
578
return false ; // success
572
579
}
@@ -711,7 +718,6 @@ bool AIXAsmPrinter::doFinalization(Module &M) {
711
718
O << " _section_.text:\n "
712
719
<< " \t .csect .data[RW],3\n "
713
720
<< " \t .llong _section_.text\n " ;
714
-
715
721
delete Mang;
716
722
return false ; // success
717
723
}
You can’t perform that action at this time.
0 commit comments