diff options
Diffstat (limited to 'meta')
| -rw-r--r-- | meta/recipes-core/systemd/dlopen-deps.inc | 14 |
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 = [] |
