diff options
Diffstat (limited to 'build/scripts')
-rw-r--r-- | build/scripts/link_dyn_lib.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/build/scripts/link_dyn_lib.py b/build/scripts/link_dyn_lib.py index 98b5f86e98..72937544b6 100644 --- a/build/scripts/link_dyn_lib.py +++ b/build/scripts/link_dyn_lib.py @@ -212,6 +212,7 @@ def parse_args(): parser.add_option('--soname') parser.add_option('--source-root') parser.add_option('--build-root') + parser.add_option('--fix-elf') parser.add_option('--linker-output') parser.add_option('--musl', action='store_true') parser.add_option('--dynamic-cuda', action='store_true') @@ -267,6 +268,16 @@ if __name__ == '__main__': print >> sys.stderr, 'linker command:', shlex_join(cmd) sys.exit(proc.returncode) + if opts.fix_elf: + cmd = [opts.fix_elf, opts.target] + proc = subprocess.Popen(cmd, shell=False, stderr=sys.stderr, stdout=sys.stdout) + proc.communicate() + + if proc.returncode: + print >> sys.stderr, 'fix_elf has failed with retcode:', proc.returncode + print >> sys.stderr, 'fix_elf command:', shlex_join(cmd) + sys.exit(proc.returncode) + if opts.soname and opts.soname != opts.target: if os.path.exists(opts.soname): os.unlink(opts.soname) |