summaryrefslogtreecommitdiffstats
path: root/tmk_core/tool/mbed/mbed-sdk/workspace_tools/dev/syms.py
diff options
context:
space:
mode:
Diffstat (limited to 'tmk_core/tool/mbed/mbed-sdk/workspace_tools/dev/syms.py')
-rw-r--r--tmk_core/tool/mbed/mbed-sdk/workspace_tools/dev/syms.py75
1 files changed, 0 insertions, 75 deletions
diff --git a/tmk_core/tool/mbed/mbed-sdk/workspace_tools/dev/syms.py b/tmk_core/tool/mbed/mbed-sdk/workspace_tools/dev/syms.py
deleted file mode 100644
index 2fdbd2dfb..000000000
--- a/tmk_core/tool/mbed/mbed-sdk/workspace_tools/dev/syms.py
+++ /dev/null
@@ -1,75 +0,0 @@
-"""
-mbed SDK
-Copyright (c) 2011-2013 ARM Limited
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-
-Utility to find which libraries could define a given symbol
-"""
-from argparse import ArgumentParser
-from os.path import join, splitext
-from os import walk
-from subprocess import Popen, PIPE
-
-
-OBJ_EXT = ['.o', '.a', '.ar']
-
-
-def find_sym_in_lib(sym, obj_path):
- contain_symbol = False
-
- out = Popen(["nm", "-C", obj_path], stdout=PIPE, stderr=PIPE).communicate()[0]
- for line in out.splitlines():
- tokens = line.split()
- n = len(tokens)
- if n == 2:
- sym_type = tokens[0]
- sym_name = tokens[1]
- elif n == 3:
- sym_type = tokens[1]
- sym_name = tokens[2]
- else:
- continue
-
- if sym_type == "U":
- # This object is using this symbol, not defining it
- continue
-
- if sym_name == sym:
- contain_symbol = True
-
- return contain_symbol
-
-
-def find_sym_in_path(sym, dir_path):
- for root, _, files in walk(dir_path):
- for file in files:
-
- _, ext = splitext(file)
- if ext not in OBJ_EXT: continue
-
- path = join(root, file)
- if find_sym_in_lib(sym, path):
- print path
-
-
-if __name__ == '__main__':
- parser = ArgumentParser(description='Find Symbol')
- parser.add_argument('-s', '--sym', required=True,
- help='The symbol to be searched')
- parser.add_argument('-p', '--path', required=True,
- help='The path where to search')
- args = parser.parse_args()
-
- find_sym_in_path(args.sym, args.path)