mgorny created this revision.
mgorny added reviewers: rafael, theraven, ismail.
mgorny added a subscriber: cfe-commits.
Assume OpenSUSE distribution only when /etc/SuSE-release indicates OpenSUSE,
rather than for any SUSE distribution. This reverts the behavior change from
rL185537 which -- along with removing the version check -- also implicitly
removed the check for OpenSUSE string. This fixes passing unsupported linker
flags for old binutils on SLES10.
https://reviews.llvm.org/D24954
Files:
lib/Driver/ToolChains.cpp
Index: lib/Driver/ToolChains.cpp
===
--- lib/Driver/ToolChains.cpp
+++ lib/Driver/ToolChains.cpp
@@ -3912,8 +3912,11 @@
return UnknownDistro;
}
- if (D.getVFS().exists("/etc/SuSE-release"))
-return OpenSUSE;
+ File = llvm::MemoryBuffer::getFile("/etc/SuSE-release");
+ if (File)
+return llvm::StringSwitch(File.get()->getBuffer())
+ .StartsWith("openSUSE", OpenSUSE)
+ .Default(UnknownDistro);
if (D.getVFS().exists("/etc/exherbo-release"))
return Exherbo;
Index: lib/Driver/ToolChains.cpp
===
--- lib/Driver/ToolChains.cpp
+++ lib/Driver/ToolChains.cpp
@@ -3912,8 +3912,11 @@
return UnknownDistro;
}
- if (D.getVFS().exists("/etc/SuSE-release"))
-return OpenSUSE;
+ File = llvm::MemoryBuffer::getFile("/etc/SuSE-release");
+ if (File)
+return llvm::StringSwitch(File.get()->getBuffer())
+ .StartsWith("openSUSE", OpenSUSE)
+ .Default(UnknownDistro);
if (D.getVFS().exists("/etc/exherbo-release"))
return Exherbo;
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits