summaryrefslogtreecommitdiff
path: root/lib/sanitizer_common/scripts
diff options
context:
space:
mode:
authorAlexey Samsonov <vonosmas@gmail.com>2014-07-21 19:01:03 +0000
committerAlexey Samsonov <vonosmas@gmail.com>2014-07-21 19:01:03 +0000
commitb2573dbf89ea4539ab9f142332ea186e95aac1c2 (patch)
tree26ae4a0271e4069b31122273df171c5a8cbb2397 /lib/sanitizer_common/scripts
parenta13548a728ab091f4001687c3af8f27b7a8581e6 (diff)
Adjust gen_dynamic_list for PowerPC function descriptors
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@213577 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/sanitizer_common/scripts')
-rwxr-xr-xlib/sanitizer_common/scripts/gen_dynamic_list.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/sanitizer_common/scripts/gen_dynamic_list.py b/lib/sanitizer_common/scripts/gen_dynamic_list.py
index fdc442a42..7bab23065 100755
--- a/lib/sanitizer_common/scripts/gen_dynamic_list.py
+++ b/lib/sanitizer_common/scripts/gen_dynamic_list.py
@@ -38,9 +38,13 @@ def get_global_functions(library):
nm_out = nm_proc.communicate()[0].decode().split('\n')
if nm_proc.returncode != 0:
raise subprocess.CalledProcessError(nm_proc.returncode, 'nm')
+ func_symbols = ['T', 'W']
+ # On PowerPC, nm prints function descriptors from .data section.
+ if os.uname()[4] in ["powerpc", "ppc64"]:
+ func_symbols += ['D']
for line in nm_out:
cols = line.split(' ')
- if (len(cols) == 3 and cols[1] in ('T', 'W')) :
+ if len(cols) == 3 and cols[1] in func_symbols :
functions.append(cols[2])
return functions