llvm-toolchain/debian/patches/env-lld-package-metadata.diff
Matthias Klose 171ca627f1 * ld.lld: When no package-metadata option is given, fall-back
to the envvar ELF_PACKAGE_METADATA.
2024-08-06 16:26:58 +02:00

17 lines
799 B
Diff

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