Index: llvm-toolchain-snapshot_21~++20250211013808+e258bca9505f/lld/ELF/Driver.cpp
===================================================================
--- llvm-toolchain-snapshot_21~++20250211013808+e258bca9505f.orig/lld/ELF/Driver.cpp
+++ llvm-toolchain-snapshot_21~++20250211013808+e258bca9505f/lld/ELF/Driver.cpp
@@ -1447,6 +1447,13 @@ static void readConfigs(Ctx &ctx, opt::I
   ctx.arg.outputFile = args.getLastArgValue(OPT_o);
   if (auto *arg = args.getLastArg(OPT_package_metadata))
     parsePackageMetadata(ctx, *arg);
+  // No package-metadata option, fall-back to env ELF_PACKAGE_METADATA
+  if (ctx.arg.packageMetadata.empty()) {
+    const char *env_package_metadata = getenv("ELF_PACKAGE_METADATA");
+    if (env_package_metadata && strcmp(env_package_metadata, "") != 0) {
+      parsePackageMetadata(ctx, *opt::Arg::create(OPT_package_metadata, "ELF_PACKAGE_METADATA", env_package_metadata));
+    }
+  }
   ctx.arg.pie = args.hasFlag(OPT_pie, OPT_no_pie, false);
   ctx.arg.printIcfSections =
       args.hasFlag(OPT_print_icf_sections, OPT_no_print_icf_sections, false);
