summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-core/systemd/dlopen-deps.inc14
1 files changed, 11 insertions, 3 deletions
diff --git a/meta/recipes-core/systemd/dlopen-deps.inc b/meta/recipes-core/systemd/dlopen-deps.inc
index eaf6ca1f79..e0b333398c 100644
--- a/meta/recipes-core/systemd/dlopen-deps.inc
+++ b/meta/recipes-core/systemd/dlopen-deps.inc
@@ -12,9 +12,17 @@ python package_generate_dlopen_deps() {
12 import tempfile, subprocess 12 import tempfile, subprocess
13 13
14 with tempfile.NamedTemporaryFile() as f: 14 with tempfile.NamedTemporaryFile() as f:
15 cmd = [d.getVar("OBJCOPY"), "--dump-section", f"{segment}={f.name}", filename] 15 try:
16 subprocess.run(cmd, check=True) 16 cmd = [d.getVar("OBJCOPY"), "--dump-section", f"{segment}={f.name}", filename]
17 return f.read() 17 subprocess.run(cmd, check=True)
18 with open(f.name, "rb") as f2:
19 return f2.read()
20 except subprocess.CalledProcessError as e:
21 # binutils-objcopy has 0 exit code if the segment can't be found, but llvm-objcopy
22 # does not. Assume the failure isn't critical and ignore errors.
23 if e.returncode == 1:
24 return b""
25 raise e
18 26
19 def parse(buffer, is_little): 27 def parse(buffer, is_little):
20 deps = [] 28 deps = []