mirror of
https://git.proxmox.com/git/llvm-toolchain
synced 2025-08-12 09:53:57 +00:00
and 7e0cc45ced230b4ef3a9d8eaedfbe92e75f21916 to fix 49827
* experimental New snapshot release * experimental New snapshot release
This commit is contained in:
parent
b346be3800
commit
6a0289cd19
6
debian/changelog
vendored
6
debian/changelog
vendored
@ -1,4 +1,4 @@
|
|||||||
llvm-toolchain-snapshot (1:13~++20210218085556+fcdef15d77bd-1~exp1) UNRELEASED; urgency=medium
|
llvm-toolchain-snapshot (1:13~++20210403031832+89afec348dbd-1~exp1) UNRELEASED; urgency=medium
|
||||||
|
|
||||||
[ Sylvestre Ledru ]
|
[ Sylvestre Ledru ]
|
||||||
* New snapshot release
|
* New snapshot release
|
||||||
@ -9,12 +9,14 @@ llvm-toolchain-snapshot (1:13~++20210218085556+fcdef15d77bd-1~exp1) UNRELEASED;
|
|||||||
building from a chroot without /proc
|
building from a chroot without /proc
|
||||||
* Fix the __config_site include issue
|
* Fix the __config_site include issue
|
||||||
* Revert D95727 for causing bug 49818
|
* Revert D95727 for causing bug 49818
|
||||||
|
* Revert 4c2da8641087f7b734337a6e6306329cd2535d60..HEAD clang/lib/Driver/ToolChains/
|
||||||
|
and 7e0cc45ced230b4ef3a9d8eaedfbe92e75f21916 to fix 49827
|
||||||
|
|
||||||
[ John Paul Adrian Glaubitz ]
|
[ John Paul Adrian Glaubitz ]
|
||||||
* Add upstream patch D98574 to fix clang macro definitions on sparc64
|
* Add upstream patch D98574 to fix clang macro definitions on sparc64
|
||||||
* Add upstream patch D98575 to fix 32-bit compiler-rt build on sparc64
|
* Add upstream patch D98575 to fix 32-bit compiler-rt build on sparc64
|
||||||
|
|
||||||
-- Sylvestre Ledru <sylvestre@debian.org> Fri, 02 Apr 2021 13:58:28 +0200
|
-- Sylvestre Ledru <sylvestre@debian.org> Sat, 03 Apr 2021 15:22:07 +0200
|
||||||
|
|
||||||
llvm-toolchain-snapshot (1:13~++20210129063721+010b176cdefb-1~exp2) experimental; urgency=medium
|
llvm-toolchain-snapshot (1:13~++20210129063721+010b176cdefb-1~exp2) experimental; urgency=medium
|
||||||
|
|
||||||
|
177
debian/patches/bug-49827-revert-recent-change-to-path-2.diff
vendored
Normal file
177
debian/patches/bug-49827-revert-recent-change-to-path-2.diff
vendored
Normal file
@ -0,0 +1,177 @@
|
|||||||
|
commit 7e0cc45ced230b4ef3a9d8eaedfbe92e75f21916
|
||||||
|
Author: Sean Perry <perry@ca.ibm.com>
|
||||||
|
Date: Fri Mar 26 16:37:29 2021 -0400
|
||||||
|
|
||||||
|
[SystemZ][z/OS] Save strings for CC_PRINT env vars
|
||||||
|
|
||||||
|
The contents of the string returned by getenv() is not guaranteed across calls to getenv(). The code to handle the CC_PRINT etc env vars calls getenv() and saves the results in just a char *. The string returned by getenv() needs to be copied and saved. Switching the type of the strings from char * to std::string will do this and manage the alloated memory.
|
||||||
|
|
||||||
|
Differential Revision: https://reviews.llvm.org/D98554
|
||||||
|
|
||||||
|
diff --git b/clang/include/clang/Driver/Driver.h a/clang/include/clang/Driver/Driver.h
|
||||||
|
index 469c000c952c..54c20620910b 100644
|
||||||
|
--- b/clang/include/clang/Driver/Driver.h
|
||||||
|
+++ a/clang/include/clang/Driver/Driver.h
|
||||||
|
@@ -157,16 +157,16 @@ public:
|
||||||
|
std::string HostBits, HostMachine, HostSystem, HostRelease;
|
||||||
|
|
||||||
|
/// The file to log CC_PRINT_PROC_STAT_FILE output to, if enabled.
|
||||||
|
- std::string CCPrintStatReportFilename;
|
||||||
|
+ const char *CCPrintStatReportFilename;
|
||||||
|
|
||||||
|
/// The file to log CC_PRINT_OPTIONS output to, if enabled.
|
||||||
|
- std::string CCPrintOptionsFilename;
|
||||||
|
+ const char *CCPrintOptionsFilename;
|
||||||
|
|
||||||
|
/// The file to log CC_PRINT_HEADERS output to, if enabled.
|
||||||
|
- std::string CCPrintHeadersFilename;
|
||||||
|
+ const char *CCPrintHeadersFilename;
|
||||||
|
|
||||||
|
/// The file to log CC_LOG_DIAGNOSTICS output to, if enabled.
|
||||||
|
- std::string CCLogDiagnosticsFilename;
|
||||||
|
+ const char *CCLogDiagnosticsFilename;
|
||||||
|
|
||||||
|
/// A list of inputs and their types for the given arguments.
|
||||||
|
typedef SmallVector<std::pair<types::ID, const llvm::opt::Arg *>, 16>
|
||||||
|
diff --git b/clang/lib/Driver/Compilation.cpp a/clang/lib/Driver/Compilation.cpp
|
||||||
|
index f28c23a59940..d33055739080 100644
|
||||||
|
--- b/clang/lib/Driver/Compilation.cpp
|
||||||
|
+++ a/clang/lib/Driver/Compilation.cpp
|
||||||
|
@@ -170,11 +170,10 @@ int Compilation::ExecuteCommand(const Command &C,
|
||||||
|
|
||||||
|
// Follow gcc implementation of CC_PRINT_OPTIONS; we could also cache the
|
||||||
|
// output stream.
|
||||||
|
- if (getDriver().CCPrintOptions &&
|
||||||
|
- !getDriver().CCPrintOptionsFilename.empty()) {
|
||||||
|
+ if (getDriver().CCPrintOptions && getDriver().CCPrintOptionsFilename) {
|
||||||
|
std::error_code EC;
|
||||||
|
OwnedStream.reset(new llvm::raw_fd_ostream(
|
||||||
|
- getDriver().CCPrintOptionsFilename.c_str(), EC,
|
||||||
|
+ getDriver().CCPrintOptionsFilename, EC,
|
||||||
|
llvm::sys::fs::OF_Append | llvm::sys::fs::OF_Text));
|
||||||
|
if (EC) {
|
||||||
|
getDriver().Diag(diag::err_drv_cc_print_options_failure)
|
||||||
|
diff --git b/clang/lib/Driver/Driver.cpp a/clang/lib/Driver/Driver.cpp
|
||||||
|
index 171d3d5b5b88..0918ea455811 100644
|
||||||
|
--- b/clang/lib/Driver/Driver.cpp
|
||||||
|
+++ a/clang/lib/Driver/Driver.cpp
|
||||||
|
@@ -135,13 +135,14 @@ Driver::Driver(StringRef ClangExecutable, StringRef TargetTriple,
|
||||||
|
: Diags(Diags), VFS(std::move(VFS)), Mode(GCCMode),
|
||||||
|
SaveTemps(SaveTempsNone), BitcodeEmbed(EmbedNone), LTOMode(LTOK_None),
|
||||||
|
ClangExecutable(ClangExecutable), SysRoot(DEFAULT_SYSROOT),
|
||||||
|
- DriverTitle(Title), CCPrintStatReportFilename(), CCPrintOptionsFilename(),
|
||||||
|
- CCPrintHeadersFilename(), CCLogDiagnosticsFilename(),
|
||||||
|
- CCCPrintBindings(false), CCPrintOptions(false), CCPrintHeaders(false),
|
||||||
|
- CCLogDiagnostics(false), CCGenDiagnostics(false),
|
||||||
|
- CCPrintProcessStats(false), TargetTriple(TargetTriple),
|
||||||
|
- CCCGenericGCCName(""), Saver(Alloc), CheckInputsExist(true),
|
||||||
|
- GenReproducer(false), SuppressMissingInputWarning(false) {
|
||||||
|
+ DriverTitle(Title), CCPrintStatReportFilename(nullptr),
|
||||||
|
+ CCPrintOptionsFilename(nullptr), CCPrintHeadersFilename(nullptr),
|
||||||
|
+ CCLogDiagnosticsFilename(nullptr), CCCPrintBindings(false),
|
||||||
|
+ CCPrintOptions(false), CCPrintHeaders(false), CCLogDiagnostics(false),
|
||||||
|
+ CCGenDiagnostics(false), CCPrintProcessStats(false),
|
||||||
|
+ TargetTriple(TargetTriple), CCCGenericGCCName(""), Saver(Alloc),
|
||||||
|
+ CheckInputsExist(true), GenReproducer(false),
|
||||||
|
+ SuppressMissingInputWarning(false) {
|
||||||
|
// Provide a sane fallback if no VFS is specified.
|
||||||
|
if (!this->VFS)
|
||||||
|
this->VFS = llvm::vfs::getRealFileSystem();
|
||||||
|
@@ -4056,7 +4057,7 @@ void Driver::BuildJobs(Compilation &C) const {
|
||||||
|
else
|
||||||
|
LinkingOutput = getDefaultImageName();
|
||||||
|
|
||||||
|
- if (CCPrintStatReportFilename.empty()) {
|
||||||
|
+ if (!CCPrintStatReportFilename) {
|
||||||
|
using namespace llvm;
|
||||||
|
// Human readable output.
|
||||||
|
outs() << sys::path::filename(Cmd.getExecutable()) << ": "
|
||||||
|
@@ -4079,7 +4080,7 @@ void Driver::BuildJobs(Compilation &C) const {
|
||||||
|
<< '\n';
|
||||||
|
Out.flush();
|
||||||
|
std::error_code EC;
|
||||||
|
- llvm::raw_fd_ostream OS(CCPrintStatReportFilename.c_str(), EC,
|
||||||
|
+ llvm::raw_fd_ostream OS(CCPrintStatReportFilename, EC,
|
||||||
|
llvm::sys::fs::OF_Append |
|
||||||
|
llvm::sys::fs::OF_Text);
|
||||||
|
if (EC)
|
||||||
|
diff --git b/clang/lib/Driver/ToolChains/Clang.cpp a/clang/lib/Driver/ToolChains/Clang.cpp
|
||||||
|
index 804f528838c5..f8cc23198e67 100644
|
||||||
|
--- b/clang/lib/Driver/ToolChains/Clang.cpp
|
||||||
|
+++ a/clang/lib/Driver/ToolChains/Clang.cpp
|
||||||
|
@@ -5108,9 +5108,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
|
||||||
|
|
||||||
|
if (D.CCPrintHeaders && !D.CCGenDiagnostics) {
|
||||||
|
CmdArgs.push_back("-header-include-file");
|
||||||
|
- CmdArgs.push_back(!D.CCPrintHeadersFilename.empty()
|
||||||
|
- ? D.CCPrintHeadersFilename.c_str()
|
||||||
|
- : "-");
|
||||||
|
+ CmdArgs.push_back(D.CCPrintHeadersFilename ? D.CCPrintHeadersFilename
|
||||||
|
+ : "-");
|
||||||
|
CmdArgs.push_back("-sys-header-deps");
|
||||||
|
}
|
||||||
|
Args.AddLastArg(CmdArgs, options::OPT_P);
|
||||||
|
@@ -5118,9 +5117,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
|
||||||
|
|
||||||
|
if (D.CCLogDiagnostics && !D.CCGenDiagnostics) {
|
||||||
|
CmdArgs.push_back("-diagnostic-log-file");
|
||||||
|
- CmdArgs.push_back(!D.CCLogDiagnosticsFilename.empty()
|
||||||
|
- ? D.CCLogDiagnosticsFilename.c_str()
|
||||||
|
- : "-");
|
||||||
|
+ CmdArgs.push_back(D.CCLogDiagnosticsFilename ? D.CCLogDiagnosticsFilename
|
||||||
|
+ : "-");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Give the gen diagnostics more chances to succeed, by avoiding intentional
|
||||||
|
diff --git b/clang/tools/driver/driver.cpp a/clang/tools/driver/driver.cpp
|
||||||
|
index ee3ffe3012d1..c3a3aab066ac 100644
|
||||||
|
--- b/clang/tools/driver/driver.cpp
|
||||||
|
+++ a/clang/tools/driver/driver.cpp
|
||||||
|
@@ -244,28 +244,25 @@ static void getCLEnvVarOptions(std::string &EnvValue, llvm::StringSaver &Saver,
|
||||||
|
}
|
||||||
|
|
||||||
|
static void SetBackdoorDriverOutputsFromEnvVars(Driver &TheDriver) {
|
||||||
|
- auto CheckEnvVar = [](const char *EnvOptSet, const char *EnvOptFile,
|
||||||
|
- std::string &OptFile) {
|
||||||
|
- bool OptSet = !!::getenv(EnvOptSet);
|
||||||
|
- if (OptSet) {
|
||||||
|
- if (const char *Var = ::getenv(EnvOptFile))
|
||||||
|
- OptFile = Var;
|
||||||
|
- }
|
||||||
|
- return OptSet;
|
||||||
|
- };
|
||||||
|
-
|
||||||
|
- TheDriver.CCPrintOptions =
|
||||||
|
- CheckEnvVar("CC_PRINT_OPTIONS", "CC_PRINT_OPTIONS_FILE",
|
||||||
|
- TheDriver.CCPrintOptionsFilename);
|
||||||
|
- TheDriver.CCPrintHeaders =
|
||||||
|
- CheckEnvVar("CC_PRINT_HEADERS", "CC_PRINT_HEADERS_FILE",
|
||||||
|
- TheDriver.CCPrintHeadersFilename);
|
||||||
|
- TheDriver.CCLogDiagnostics =
|
||||||
|
- CheckEnvVar("CC_LOG_DIAGNOSTICS", "CC_LOG_DIAGNOSTICS_FILE",
|
||||||
|
- TheDriver.CCLogDiagnosticsFilename);
|
||||||
|
- TheDriver.CCPrintProcessStats =
|
||||||
|
- CheckEnvVar("CC_PRINT_PROC_STAT", "CC_PRINT_PROC_STAT_FILE",
|
||||||
|
- TheDriver.CCPrintStatReportFilename);
|
||||||
|
+ // Handle CC_PRINT_OPTIONS and CC_PRINT_OPTIONS_FILE.
|
||||||
|
+ TheDriver.CCPrintOptions = !!::getenv("CC_PRINT_OPTIONS");
|
||||||
|
+ if (TheDriver.CCPrintOptions)
|
||||||
|
+ TheDriver.CCPrintOptionsFilename = ::getenv("CC_PRINT_OPTIONS_FILE");
|
||||||
|
+
|
||||||
|
+ // Handle CC_PRINT_HEADERS and CC_PRINT_HEADERS_FILE.
|
||||||
|
+ TheDriver.CCPrintHeaders = !!::getenv("CC_PRINT_HEADERS");
|
||||||
|
+ if (TheDriver.CCPrintHeaders)
|
||||||
|
+ TheDriver.CCPrintHeadersFilename = ::getenv("CC_PRINT_HEADERS_FILE");
|
||||||
|
+
|
||||||
|
+ // Handle CC_LOG_DIAGNOSTICS and CC_LOG_DIAGNOSTICS_FILE.
|
||||||
|
+ TheDriver.CCLogDiagnostics = !!::getenv("CC_LOG_DIAGNOSTICS");
|
||||||
|
+ if (TheDriver.CCLogDiagnostics)
|
||||||
|
+ TheDriver.CCLogDiagnosticsFilename = ::getenv("CC_LOG_DIAGNOSTICS_FILE");
|
||||||
|
+
|
||||||
|
+ // Handle CC_PRINT_PROC_STAT and CC_PRINT_PROC_STAT_FILE.
|
||||||
|
+ TheDriver.CCPrintProcessStats = !!::getenv("CC_PRINT_PROC_STAT");
|
||||||
|
+ if (TheDriver.CCPrintProcessStats)
|
||||||
|
+ TheDriver.CCPrintStatReportFilename = ::getenv("CC_PRINT_PROC_STAT_FILE");
|
||||||
|
}
|
||||||
|
|
||||||
|
static void FixupDiagPrefixExeName(TextDiagnosticPrinter *DiagClient,
|
1300
debian/patches/bug-49827-revert-recent-change-to-path.diff
vendored
Normal file
1300
debian/patches/bug-49827-revert-recent-change-to-path.diff
vendored
Normal file
File diff suppressed because it is too large
Load Diff
2
debian/patches/series
vendored
2
debian/patches/series
vendored
@ -141,3 +141,5 @@ lld-use-link-atomic-i386.diff
|
|||||||
lower-python-dep.diff
|
lower-python-dep.diff
|
||||||
D99501-ignore-lto-auto.diff
|
D99501-ignore-lto-auto.diff
|
||||||
revert-D95727-causes-49818.diff
|
revert-D95727-causes-49818.diff
|
||||||
|
bug-49827-revert-recent-change-to-path.diff
|
||||||
|
bug-49827-revert-recent-change-to-path-2.diff
|
||||||
|
Loading…
Reference in New Issue
Block a user