File: env-package-metadata.diff

package info (click to toggle)
mold 2.40.4%2Bdfsg-2.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 45,200 kB
  • sloc: ansic: 193,268; cpp: 155,496; asm: 29,241; sh: 13,924; python: 4,068; makefile: 3,398; ada: 1,681; pascal: 1,139; xml: 278; objc: 176; javascript: 37
file content (19 lines) | stat: -rw-r--r-- 741 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Index: mold/src/cmdline.cc
===================================================================
--- mold.orig/src/cmdline.cc
+++ mold/src/cmdline.cc
@@ -1506,6 +1506,14 @@ std::vector<std::string> parse_nonpositi
       ctx.arg.dependency_file = ctx.arg.chroot + "/" + ctx.arg.dependency_file;
   }
 
+  // No package-metadata option, fall-back to env ELF_PACKAGE_METADATA
+  if (ctx.arg.package_metadata.empty()) {
+    const char* env_package_metadata = getenv("ELF_PACKAGE_METADATA");
+    if (env_package_metadata && strcmp(env_package_metadata, "") != 0) {
+      ctx.arg.package_metadata = std::string(env_package_metadata);
+    }
+  }
+
   // Mark GC root symbols
   for (Symbol<E> *sym : ctx.arg.undefined)
     sym->gc_root = true;