diff --git a/debian/changelog b/debian/changelog index 9360664a..93363d32 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +llvm-toolchain-18 (1:18.1.8-10) UNRELEASED; urgency=medium + + * ld.lld: When no package-metadata option is given, fall-back + to the envvar ELF_PACKAGE_METADATA. + + -- Matthias Klose Tue, 06 Aug 2024 16:13:21 +0200 + llvm-toolchain-18 (1:18.1.8-9) unstable; urgency=medium [ Gianfranco Costamagna ] diff --git a/debian/patches/env-lld-package-metadata.diff b/debian/patches/env-lld-package-metadata.diff new file mode 100644 index 00000000..2eb1e0b1 --- /dev/null +++ b/debian/patches/env-lld-package-metadata.diff @@ -0,0 +1,16 @@ +--- a/lld/ELF/Driver.cpp ++++ b/lld/ELF/Driver.cpp +@@ -1335,6 +1335,13 @@ static void readConfigs(opt::InputArgLis + config->orphanHandling = getOrphanHandling(args); + config->outputFile = args.getLastArgValue(OPT_o); + config->packageMetadata = args.getLastArgValue(OPT_package_metadata); ++ // No package-metadata option, fall-back to env ELF_PACKAGE_METADATA ++ if (config->packageMetadata.empty()) { ++ const char *env_package_metadata = getenv("ELF_PACKAGE_METADATA"); ++ if (env_package_metadata && strcmp(env_package_metadata, "") != 0) { ++ config->packageMetadata = StringRef(env_package_metadata); ++ } ++ } + config->pie = args.hasFlag(OPT_pie, OPT_no_pie, false); + config->printIcfSections = + args.hasFlag(OPT_print_icf_sections, OPT_no_print_icf_sections, false); diff --git a/debian/patches/series b/debian/patches/series index c8309240..ae7d3fc6 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -154,3 +154,4 @@ clang-record-gcc-switches-by-default.patch rename-libllvm.diff link-with-package-metadata.diff llvm-toolchain-17-sve-types-aux-target.diff +env-lld-package-metadata.diff