* ld.lld: When no package-metadata option is given, fall-back

to the envvar ELF_PACKAGE_METADATA.
This commit is contained in:
Matthias Klose 2024-08-06 16:26:58 +02:00
parent e5e85cd194
commit 171ca627f1
3 changed files with 30 additions and 0 deletions

13
debian/changelog vendored
View File

@ -1,3 +1,16 @@
llvm-toolchain-19 (1:19.1.0~++rc2-1~exp2) UNRELEASED; urgency=medium
* ld.lld: When no package-metadata option is given, fall-back
to the envvar ELF_PACKAGE_METADATA.
-- Matthias Klose <doko@debian.org> Tue, 06 Aug 2024 16:24:53 +0200
llvm-toolchain-19 (1:19.1.0~++rc2-1~exp1) experimental; urgency=medium
* New testing release
-- Sylvestre Ledru <sylvestre@debian.org> Mon, 05 Aug 2024 15:25:06 +0200
llvm-toolchain-19 (1:19.1.0~++20240724103243+7af27be6633a-1~exp1) experimental; urgency=medium
[ John Paul Adrian Glaubitz ]

View File

@ -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);

View File

@ -151,3 +151,4 @@ disable-openmp-per-target.diff
libsanitizer-timebits.diff
offload-disable-static-assert.diff
link-with-package-metadata.diff
env-lld-package-metadata.diff