<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Hi Bill,<div><br></div><div>This breaks some buildbots:</div><div><a href="http://lab.llvm.org:8013/builders/clang-x86_64-darwin11-nobootstrap-RAincremental/builds/4328">http://lab.llvm.org:8013/builders/clang-x86_64-darwin11-nobootstrap-RAincremental/builds/4328</a></div><div><pre style="font-family: 'Courier New', courier, monotype; font-size: medium;"><span class="stdout">******************** TEST 'LLVM :: DebugInfo/X86/dbg_value_direct.ll' FAILED ********************
Script:
--
/Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin11-nobootstrap-RAincremental/clang-build/Release+Asserts/bin/llc -filetype=obj -O0 -stack-protector-buffer-size=1 < /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin11-nobootstrap-RAincremental/llvm/test/DebugInfo/X86/dbg_value_direct.ll
--
Exit Code: 1
Command Output (stderr):
--
llc: Unknown command line argument '-stack-protector-buffer-size=1'. Try: '/Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin11-nobootstrap-RAincremental/clang-build/Release+Asserts/bin/llc -help'
llc: Did you mean '-debug-buffer-size=1'?
--
********************</span></pre><div><br></div><div><br></div><div apple-content-edited="true">
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">-Quentin</div>
</div>
<br><div><div>On Jul 12, 2013, at 3:25 PM, Bill Wendling <<a href="mailto:isanbard@gmail.com">isanbard@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">Author: void<br>Date: Fri Jul 12 17:25:20 2013<br>New Revision: 186217<br><br>URL:<span class="Apple-converted-space"> </span><a href="http://llvm.org/viewvc/llvm-project?rev=186217&view=rev">http://llvm.org/viewvc/llvm-project?rev=186217&view=rev</a><br>Log:<br>Use the function attributes to pass along the stack protector buffer size.<br><br>Now that we have robust function attributes, don't use a command line option to<br>specify the stack protecto buffer size.<br><br>Modified:<br> llvm/trunk/include/llvm/CodeGen/CommandFlags.h<br> llvm/trunk/include/llvm/Target/TargetOptions.h<br> llvm/trunk/lib/CodeGen/StackProtector.cpp<br> llvm/trunk/tools/llc/llc.cpp<br> llvm/trunk/tools/lto/LTOModule.cpp<br> llvm/trunk/tools/opt/opt.cpp<br><br>Modified: llvm/trunk/include/llvm/CodeGen/CommandFlags.h<br>URL:<span class="Apple-converted-space"> </span><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/CommandFlags.h?rev=186217&r1=186216&r2=186217&view=diff">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/CommandFlags.h?rev=186217&r1=186216&r2=186217&view=diff</a><br>==============================================================================<br>--- llvm/trunk/include/llvm/CodeGen/CommandFlags.h (original)<br>+++ llvm/trunk/include/llvm/CodeGen/CommandFlags.h Fri Jul 12 17:25:20 2013<br>@@ -220,8 +220,4 @@ cl::opt<std::string> StartAfter("start-a<br> cl::value_desc("pass-name"),<br> cl::init(""));<br><br>-cl::opt<unsigned><br>-SSPBufferSize("stack-protector-buffer-size", cl::init(8),<br>- cl::desc("Lower bound for a buffer to be considered for "<br>- "stack protection"));<br>#endif<br><br>Modified: llvm/trunk/include/llvm/Target/TargetOptions.h<br>URL:<span class="Apple-converted-space"> </span><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Target/TargetOptions.h?rev=186217&r1=186216&r2=186217&view=diff">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Target/TargetOptions.h?rev=186217&r1=186216&r2=186217&view=diff</a><br>==============================================================================<br>--- llvm/trunk/include/llvm/Target/TargetOptions.h (original)<br>+++ llvm/trunk/include/llvm/Target/TargetOptions.h Fri Jul 12 17:25:20 2013<br>@@ -48,7 +48,7 @@ namespace llvm {<br> UseSoftFloat(false), NoZerosInBSS(false),<br> JITEmitDebugInfo(false), JITEmitDebugInfoToDisk(false),<br> GuaranteedTailCallOpt(false), DisableTailCalls(false),<br>- StackAlignmentOverride(0), RealignStack(true), SSPBufferSize(0),<br>+ StackAlignmentOverride(0), RealignStack(true),<br> EnableFastISel(false), PositionIndependentExecutable(false),<br> EnableSegmentedStacks(false), UseInitArray(false), TrapFuncName(""),<br> FloatABIType(FloatABI::Default), AllowFPOpFusion(FPOpFusion::Standard)<br>@@ -151,10 +151,6 @@ namespace llvm {<br> /// automatically realigned, if needed.<br> unsigned RealignStack : 1;<br><br>- /// SSPBufferSize - The minimum size of buffers that will receive stack<br>- /// smashing protection when -fstack-protection is used.<br>- unsigned SSPBufferSize;<br>-<br> /// EnableFastISel - This flag enables fast-path instruction selection<br> /// which trades away generated code quality in favor of reducing<br> /// compile time.<br>@@ -224,7 +220,6 @@ inline bool operator==(const TargetOptio<br> ARE_EQUAL(DisableTailCalls) &&<br> ARE_EQUAL(StackAlignmentOverride) &&<br> ARE_EQUAL(RealignStack) &&<br>- ARE_EQUAL(SSPBufferSize) &&<br> ARE_EQUAL(EnableFastISel) &&<br> ARE_EQUAL(PositionIndependentExecutable) &&<br> ARE_EQUAL(EnableSegmentedStacks) &&<br><br>Modified: llvm/trunk/lib/CodeGen/StackProtector.cpp<br>URL:<span class="Apple-converted-space"> </span><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/StackProtector.cpp?rev=186217&r1=186216&r2=186217&view=diff">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/StackProtector.cpp?rev=186217&r1=186216&r2=186217&view=diff</a><br>==============================================================================<br>--- llvm/trunk/lib/CodeGen/StackProtector.cpp (original)<br>+++ llvm/trunk/lib/CodeGen/StackProtector.cpp Fri Jul 12 17:25:20 2013<br>@@ -33,6 +33,7 @@<br>#include "llvm/Pass.h"<br>#include "llvm/Support/CommandLine.h"<br>#include "llvm/Target/TargetLowering.h"<br>+#include <cstdlib><br>using namespace llvm;<br><br>STATISTIC(NumFunProtected, "Number of functions protected");<br>@@ -53,6 +54,10 @@ namespace {<br><br> DominatorTree *DT;<br><br>+ /// \brief The minimum size of buffers that will receive stack smashing<br>+ /// protection when -fstack-protection is used.<br>+ unsigned SSPBufferSize;<br>+<br> /// VisitedPHIs - The set of PHI nodes visited when determining<br> /// if a variable's reference has been taken. This set<span class="Apple-converted-space"> </span><br> /// is maintained to ensure we don't visit the same PHI node multiple<br>@@ -85,11 +90,12 @@ namespace {<br> bool RequiresStackProtector();<br> public:<br> static char ID; // Pass identification, replacement for typeid.<br>- StackProtector() : FunctionPass(ID), TM(0), TLI(0) {<br>+ StackProtector() : FunctionPass(ID), TM(0), TLI(0), SSPBufferSize(0) {<br> initializeStackProtectorPass(*PassRegistry::getPassRegistry());<br> }<br> StackProtector(const TargetMachine *TM)<br>- : FunctionPass(ID), TM(TM), TLI(0), Trip(TM->getTargetTriple()) {<br>+ : FunctionPass(ID), TM(TM), TLI(0), Trip(TM->getTargetTriple()),<br>+ SSPBufferSize(8) {<br> initializeStackProtectorPass(*PassRegistry::getPassRegistry());<br> }<br><br>@@ -117,6 +123,12 @@ bool StackProtector::runOnFunction(Funct<br><br> if (!RequiresStackProtector()) return false;<br><br>+ Attribute Attr =<br>+ Fn.getAttributes().getAttribute(AttributeSet::FunctionIndex,<br>+ "ssp-buffer-size");<br>+ if (Attr.isStringAttribute())<br>+ SSPBufferSize = atoi(Attr.getValueAsString().data());<br>+<br> ++NumFunProtected;<br> return InsertStackProtectors();<br>}<br>@@ -132,7 +144,6 @@ bool StackProtector::ContainsProtectable<br> // protector<br> if (Strong)<br> return true;<br>- const TargetMachine &TM = TLI->getTargetMachine();<br> if (!AT->getElementType()->isIntegerTy(8)) {<br> // If we're on a non-Darwin platform or we're inside of a structure, don't<br> // add stack protectors unless the array is a character array.<br>@@ -142,7 +153,7 @@ bool StackProtector::ContainsProtectable<br><br> // If an array has more than SSPBufferSize bytes of allocated space, then we<br> // emit stack protectors.<br>- if (TM.Options.SSPBufferSize <= TLI->getDataLayout()->getTypeAllocSize(AT))<br>+ if (SSPBufferSize <= TLI->getDataLayout()->getTypeAllocSize(AT))<br> return true;<br> }<br><br>@@ -230,13 +241,14 @@ bool StackProtector::RequiresStackProtec<br><br> if (const ConstantInt *CI =<br> dyn_cast<ConstantInt>(AI->getArraySize())) {<br>- unsigned BufferSize = TLI->getTargetMachine().Options.SSPBufferSize;<br>- if (CI->getLimitedValue(BufferSize) >= BufferSize)<br>+ if (CI->getLimitedValue(SSPBufferSize) >= SSPBufferSize)<br> // A call to alloca with size >= SSPBufferSize requires<br> // stack protectors.<br> return true;<br>- } else // A call to alloca with a variable size requires protectors.<br>+ } else {<br>+ // A call to alloca with a variable size requires protectors.<br> return true;<br>+ }<br> }<br><br> if (ContainsProtectableArray(AI->getAllocatedType(), Strong))<br><br>Modified: llvm/trunk/tools/llc/llc.cpp<br>URL:<span class="Apple-converted-space"> </span><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llc/llc.cpp?rev=186217&r1=186216&r2=186217&view=diff">http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llc/llc.cpp?rev=186217&r1=186216&r2=186217&view=diff</a><br>==============================================================================<br>--- llvm/trunk/tools/llc/llc.cpp (original)<br>+++ llvm/trunk/tools/llc/llc.cpp Fri Jul 12 17:25:20 2013<br>@@ -280,7 +280,6 @@ static int compileModule(char **argv, LL<br> Options.PositionIndependentExecutable = EnablePIE;<br> Options.EnableSegmentedStacks = SegmentedStacks;<br> Options.UseInitArray = UseInitArray;<br>- Options.SSPBufferSize = SSPBufferSize;<br><br> OwningPtr<TargetMachine><br> target(TheTarget->createTargetMachine(TheTriple.getTriple(),<br><br>Modified: llvm/trunk/tools/lto/LTOModule.cpp<br>URL:<span class="Apple-converted-space"> </span><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lto/LTOModule.cpp?rev=186217&r1=186216&r2=186217&view=diff">http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lto/LTOModule.cpp?rev=186217&r1=186216&r2=186217&view=diff</a><br>==============================================================================<br>--- llvm/trunk/tools/lto/LTOModule.cpp (original)<br>+++ llvm/trunk/tools/lto/LTOModule.cpp Fri Jul 12 17:25:20 2013<br>@@ -151,11 +151,6 @@ UseInitArray("use-init-array",<br> cl::desc("Use .init_array instead of .ctors."),<br> cl::init(false));<br><br>-static cl::opt<unsigned><br>-SSPBufferSize("stack-protector-buffer-size", cl::init(8),<br>- cl::desc("Lower bound for a buffer to be considered for "<br>- "stack protection"));<br>-<br>LTOModule::LTOModule(llvm::Module *m, llvm::TargetMachine *t)<br> : _module(m), _target(t),<br> _context(_target->getMCAsmInfo(), _target->getRegisterInfo(), NULL),<br>@@ -261,7 +256,6 @@ void LTOModule::getTargetOptions(TargetO<br> Options.PositionIndependentExecutable = EnablePIE;<br> Options.EnableSegmentedStacks = SegmentedStacks;<br> Options.UseInitArray = UseInitArray;<br>- Options.SSPBufferSize = SSPBufferSize;<br>}<br><br>LTOModule *LTOModule::makeLTOModule(MemoryBuffer *buffer,<br><br>Modified: llvm/trunk/tools/opt/opt.cpp<br>URL:<span class="Apple-converted-space"> </span><a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/opt/opt.cpp?rev=186217&r1=186216&r2=186217&view=diff">http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/opt/opt.cpp?rev=186217&r1=186216&r2=186217&view=diff</a><br>==============================================================================<br>--- llvm/trunk/tools/opt/opt.cpp (original)<br>+++ llvm/trunk/tools/opt/opt.cpp Fri Jul 12 17:25:20 2013<br>@@ -510,7 +510,6 @@ static TargetOptions GetTargetOptions()<br> Options.PositionIndependentExecutable = EnablePIE;<br> Options.EnableSegmentedStacks = SegmentedStacks;<br> Options.UseInitArray = UseInitArray;<br>- Options.SSPBufferSize = SSPBufferSize;<br> return Options;<br>}<br><br><br><br>_______________________________________________<br>llvm-commits mailing list<br><a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a></div></blockquote></div><br></div></body></html>