mirror of
https://git.proxmox.com/git/llvm-toolchain
synced 2025-08-17 02:58:46 +00:00
25 lines
957 B
Diff
25 lines
957 B
Diff
--- a/clang/lib/Driver/ToolChains/Linux.cpp
|
|
+++ b/clang/lib/Driver/ToolChains/Linux.cpp
|
|
@@ -287,6 +287,21 @@ Linux::Linux(const Driver &D, const llvm
|
|
ExtraOpts.push_back("--build-id");
|
|
#endif
|
|
|
|
+ if (Distro.IsDebian() && Distro >= Distro::DebianTrixie
|
|
+ || Distro.IsUbuntu() && Distro >= Distro::UbuntuNoble)
|
|
+ {
|
|
+ const char *pkg_metadata = getenv ("ELF_PACKAGE_METADATA");
|
|
+ const char *no_pkg_metadata = getenv ("NO_PKG_METADATA");
|
|
+
|
|
+ if (no_pkg_metadata) {
|
|
+ // don't issue --package-metadata option
|
|
+ } else if (!pkg_metadata) {
|
|
+ // no environment set for package metadata
|
|
+ } else {
|
|
+ ExtraOpts.push_back(std::string("--package-metadata=") + pkg_metadata);
|
|
+ }
|
|
+ }
|
|
+
|
|
// The selection of paths to try here is designed to match the patterns which
|
|
// the GCC driver itself uses, as this is part of the GCC-compatible driver.
|
|
// This was determined by running GCC in a fake filesystem, creating all
|