link-with-package-metadata
authorLLVM Packaging Team <pkg-llvm-team@lists.alioth.debian.org>
Wed, 18 Dec 2024 09:01:43 +0000 (10:01 +0100)
committerSylvestre Ledru <sylvestre@debian.org>
Wed, 18 Dec 2024 09:01:43 +0000 (10:01 +0100)
===================================================================

Gbp-Pq: Name link-with-package-metadata.diff

clang/lib/Driver/ToolChains/Linux.cpp

index 710d5e824756f18c3723b74d0acab36c859b80a9..3544df9b0fbf7ef7c89521849d2a9f9a48fdf5aa 100644 (file)
@@ -298,6 +298,21 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
   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