| import re |
| import subprocess |
| |
| def is_gold_v1_12_linker_available(): |
| |
| if not config.gold_executable: |
| return False |
| try: |
| ld_cmd = subprocess.Popen([config.gold_executable, '-v'], |
| stdout = subprocess.PIPE, |
| stderr = subprocess.PIPE) |
| ld_out, _ = ld_cmd.communicate() |
| ld_out = ld_out.decode() |
| except: |
| return False |
| |
| match = re.search(r'GNU gold \(.*\) (\d+)\.(\d+)', ld_out) |
| if not match: |
| return False |
| major = int(match.group(1)) |
| minor = int(match.group(2)) |
| if major < 1 or (major == 1 and minor < 12): |
| return False |
| |
| return True |
| |
| if not is_gold_v1_12_linker_available(): |
| config.unsupported = True |