Commit 9f9fd176 authored by mcgrathr@chromium.org's avatar mcgrathr@chromium.org

Restore tools/ld_bfd/ld that drover didn't bring back

r113078 was done with "drover --revert 113074".
It failed to restore one of the removed files.

TBR=mpcomplete@chromium.org

BUG= none
TEST= none

Review URL: http://codereview.chromium.org/8803030

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113081 0039d316-1c4b-4281-b951-d872f2087c98
parent 6055f975
#!/usr/bin/python
# Copyright (c) 2011 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Wrapper for invoking the BFD loader
A simple script to invoke the bfd loader instead of gold.
This script is in a filename "ld" so it can be invoked from gcc
via the -B flag.
"""
# TODO(bradchen): Delete this script when Gold supports linker scripts properly.
import os
import subprocess
import sys
def PathTo(fname):
if fname[0] == os.pathsep:
return fname
for p in os.environ["PATH"].split(os.pathsep):
fpath = os.path.join(p, fname)
if os.path.exists(fpath):
return fpath
return fname
def FindLDBFD():
cxx = os.getenv("CXX")
if not cxx:
cxx = "g++"
popen = subprocess.Popen(cxx + " -print-prog-name=ld",
shell=True,
stdout=subprocess.PIPE,
stdin=subprocess.PIPE)
(ld, error) = popen.communicate()
if popen.wait() != 0:
print "Could not find ld:" + error
return "ld"
ld = ld.strip()
ld_bfd = PathTo(ld + ".bfd")
if os.access(ld_bfd, os.X_OK):
return ld_bfd
return ld
def main():
args = [FindLDBFD()] + sys.argv[1:]
print("tools/ld_bfd/ld: exec " + ' '.join(args))
sys.exit(subprocess.call(args))
if __name__ == "__main__":
main()
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment