diff options
author | Chris Lattner <sabre@nondot.org> | 2010-01-23 07:21:06 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-01-23 07:21:06 +0000 |
commit | 76bdea32900ab533b0c059ec8b71fff59c919632 (patch) | |
tree | 2251dacb7d096950344e3ac66269bf2b071110dd /llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | |
parent | e244ff35d851cbb3386e13274b80f3f01ebe2c45 (diff) | |
download | bcm5719-llvm-76bdea32900ab533b0c059ec8b71fff59c919632.tar.gz bcm5719-llvm-76bdea32900ab533b0c059ec8b71fff59c919632.zip |
resolve a fixme: the "nonexecutable stack directive" is actually
a .section. Switch to it with SwitchSection.
However, I think that this directive should be safe on any ELF target.
If so, we should hoist it up out of the X86 and SystemZ targets.
llvm-svn: 94298
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index 7238a52f039..fc2c5a00dae 100644 --- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -345,11 +345,8 @@ bool AsmPrinter::doFinalization(Module &M) { // to be executable. Some targets have a directive to declare this. Function *InitTrampolineIntrinsic = M.getFunction("llvm.init.trampoline"); if (!InitTrampolineIntrinsic || InitTrampolineIntrinsic->use_empty()) - // FIXME: This is actually a section switch on linux/x86 and systemz, use - // switch section. - if (MAI->getNonexecutableStackDirective()) - O << MAI->getNonexecutableStackDirective() << '\n'; - + if (MCSection *S = MAI->getNonexecutableStackSection(OutContext)) + OutStreamer.SwitchSection(S); // Allow the target to emit any magic that it wants at the end of the file, // after everything else has gone out. |