Skip to content

Commit c1fde4f

Browse files
committed
sanitizer_common: Change gen_dynamic_list.py to take a -o argument instead of writing to stdout.
This makes the script a little more gn friendly; gn does not support redirecting the output of a script. Differential Revision: https://reviews.llvm.org/D56579 llvm-svn: 350980
1 parent d37af68 commit c1fde4f

File tree

2 files changed

+15
-12
lines changed

2 files changed

+15
-12
lines changed

compiler-rt/cmake/Modules/SanitizerUtils.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ macro(add_sanitizer_rt_symbols name)
3030
add_custom_command(OUTPUT ${stamp}
3131
COMMAND ${PYTHON_EXECUTABLE}
3232
${SANITIZER_GEN_DYNAMIC_LIST} ${extra_args} $<TARGET_FILE:${target_name}>
33-
> $<TARGET_FILE:${target_name}>.syms
33+
-o $<TARGET_FILE:${target_name}>.syms
3434
COMMAND ${CMAKE_COMMAND} -E touch ${stamp}
3535
DEPENDS ${target_name} ${SANITIZER_GEN_DYNAMIC_LIST} ${ARG_EXTRA}
3636
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
@@ -80,7 +80,7 @@ macro(add_sanitizer_rt_version_list name)
8080
add_custom_command(OUTPUT ${vers}
8181
COMMAND ${PYTHON_EXECUTABLE}
8282
${SANITIZER_GEN_DYNAMIC_LIST} --version-list ${args}
83-
> ${vers}
83+
-o ${vers}
8484
DEPENDS ${SANITIZER_GEN_DYNAMIC_LIST} ${ARG_EXTRA} ${ARG_LIBS}
8585
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
8686
COMMENT "Generating version list for ${name}"

compiler-rt/lib/sanitizer_common/scripts/gen_dynamic_list.py

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
# gen_dynamic_list.py libclang_rt.*san*.a [ files ... ]
1515
#
1616
#===------------------------------------------------------------------------===#
17+
from __future__ import print_function
1718
import argparse
1819
import os
1920
import re
@@ -84,6 +85,7 @@ def main(argv):
8485
parser.add_argument('--version-list', action='store_true')
8586
parser.add_argument('--extra', default=[], action='append')
8687
parser.add_argument('libraries', default=[], nargs='+')
88+
parser.add_argument('-o', '--output', required=True)
8789
args = parser.parse_args()
8890

8991
result = []
@@ -117,16 +119,17 @@ def main(argv):
117119
for line in f:
118120
result.append(line.rstrip())
119121
# Print the resulting list in the format recognized by ld.
120-
print('{')
121-
if args.version_list:
122-
print('global:')
123-
result.sort()
124-
for f in result:
125-
print(u' %s;' % f)
126-
if args.version_list:
127-
print('local:')
128-
print(' *;')
129-
print('};')
122+
with open(args.output, 'w') as f:
123+
print('{', file=f)
124+
if args.version_list:
125+
print('global:', file=f)
126+
result.sort()
127+
for sym in result:
128+
print(u' %s;' % sym, file=f)
129+
if args.version_list:
130+
print('local:', file=f)
131+
print(' *;', file=f)
132+
print('};', file=f)
130133

131134
if __name__ == '__main__':
132135
main(sys.argv)

0 commit comments

Comments
 (0)