Driver: implement driver automagic support for -lcc_kext
Rewrite linker arguments to use libclang_rt.cc_kext.a
instead of gcc-specific libcc_kext.a
Resolves Radar 7808495
llvm-svn: 114193
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp
index e24f017..86e1161 100644
--- a/clang/lib/Driver/Driver.cpp
+++ b/clang/lib/Driver/Driver.cpp
@@ -158,15 +158,23 @@
continue;
}
- // Rewrite reserved library names, unless -nostdlib is present.
- if (!HasNostdlib && A->getOption().matches(options::OPT_l)) {
+ // Rewrite reserved library names.
+ if (A->getOption().matches(options::OPT_l)) {
llvm::StringRef Value = A->getValue(Args);
- if (Value == "stdc++") {
+ // Rewrite unless -nostdlib is present.
+ if (!HasNostdlib && Value == "stdc++") {
DAL->AddFlagArg(A, Opts->getOption(
options::OPT_Z_reserved_lib_stdcxx));
continue;
}
+
+ // Rewrite unconditionally.
+ if (Value == "cc_kext") {
+ DAL->AddFlagArg(A, Opts->getOption(
+ options::OPT_Z_reserved_lib_cckext));
+ continue;
+ }
}
DAL->append(*it);