link-with-package-metadata
authorLLVM Packaging Team <pkg-llvm-team@lists.alioth.debian.org>
Mon, 23 Sep 2024 11:23:31 +0000 (13:23 +0200)
committerSylvestre Ledru <sylvestre@debian.org>
Mon, 23 Sep 2024 11:23:31 +0000 (13:23 +0200)
Gbp-Pq: Name link-with-package-metadata.diff

clang/lib/Driver/ToolChains/Linux.cpp

index 15c6cf2be1354d24811b3cbf8beaf6e784f3a307..de87868bcda985637c9c1946e101669f0f33a790 100644 (file)
@@ -287,6 +287,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