* 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:13:46 +02:00
parent 0571e42330
commit 970848bade
3 changed files with 24 additions and 0 deletions

7
debian/changelog vendored
View File

@ -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 <doko@debian.org> Tue, 06 Aug 2024 16:13:21 +0200
llvm-toolchain-18 (1:18.1.8-9) unstable; urgency=medium
[ Gianfranco Costamagna ]

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

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