llvm.org GIT mirror llvm / 7b341db runtimes / llvm-strip-link.in
7b341db

Tree @7b341db (Download .tar.gz)

llvm-strip-link.in @7b341dbraw · history · blame

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import sys
import subprocess


ELF_MAGIC = '\x7fELF'

with open(sys.argv[1], "rb") as f:
    buf = f.read(len(ELF_MAGIC))
    if buf != ELF_MAGIC:
        sys.exit(0)

llvm_objcopy = os.path.join('@LLVM_RUNTIME_OUTPUT_INTDIR@', 'llvm-objcopy')
install_dir = os.path.join(os.getenv('DESTDIR', ''), '@CMAKE_INSTALL_PREFIX@')
link_dir = os.path.join(install_dir, 'lib', 'debug', '.build-id')

sys.exit(subprocess.call([
    llvm_objcopy,
    '--strip-all',
    '--build-id-link-dir=' + link_dir,
    '--build-id-link-input=.debug',
    '--build-id-link-output=',
    sys.argv[1],
]))