diff options
author | Chad Rosier <mcrosier@apple.com> | 2012-08-21 16:16:06 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@apple.com> | 2012-08-21 16:16:06 +0000 |
commit | a7afeb040416c0eaac19b92db914913a788044f5 (patch) | |
tree | 4baf595ec629f9c340df9055ec6641ba21121653 /lib/Driver/Tools.cpp | |
parent | 05c5ebc9bafe5613204eefb59a47ab878e4fbd0b (diff) |
[driver] Add support for the --param ssp-buffer-size= driver option.
PR9673
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162285 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Driver/Tools.cpp')
-rw-r--r-- | lib/Driver/Tools.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index e9f1aab90b..11429131d7 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -2353,6 +2353,18 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, if (StackProtectorLevel) { CmdArgs.push_back("-stack-protector"); CmdArgs.push_back(Args.MakeArgString(Twine(StackProtectorLevel))); + + // --param ssp-buffer-size= + for (arg_iterator it = Args.filtered_begin(options::OPT__param), + ie = Args.filtered_end(); it != ie; ++it) { + StringRef Str((*it)->getValue(Args)); + if (Str.startswith("ssp-buffer-size=")) { + CmdArgs.push_back("-stack-protector-buffer-size"); + // FIXME: Verify the argument is a valid integer. + CmdArgs.push_back(Args.MakeArgString(Str.drop_front(16))); + (*it)->claim(); + } + } } // Translate -mstackrealign |