Bug 1457483 Retrieve nm from environment for check_vanilla_allocations.py r=glandium
authorTom Ritter <tom@mozilla.com>
Fri, 27 Apr 2018 10:25:35 -0500
changeset 418707 f4a56903882a4b6a9c8fa96b80228573cc2a67ab
parent 418706 7cb5b98fa05a94e63e7de941603d05db36257781
child 418708 979280d2d6110d0f1f48e323364587ece03c59d3
push id34010
push userbtara@mozilla.com
push dateThu, 17 May 2018 22:02:46 +0000
treeherdermozilla-central@fdd6d3850e7e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersglandium
bugs1457483
milestone62.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1457483 Retrieve nm from environment for check_vanilla_allocations.py r=glandium MozReview-Commit-ID: HIZpMk4Ierb
config/check_vanilla_allocations.py
js/src/old-configure.in
old-configure.in
--- a/config/check_vanilla_allocations.py
+++ b/config/check_vanilla_allocations.py
@@ -37,16 +37,17 @@
 #----------------------------------------------------------------------------
 
 from __future__ import print_function
 
 import argparse
 import re
 import subprocess
 import sys
+import buildconfig
 
 # The obvious way to implement this script is to search for occurrences of
 # malloc et al, succeed if none are found, and fail is some are found.
 # However, "none are found" does not necessarily mean "none are present" --
 # this script could be buggy.  (Or the output format of |nm| might change in
 # the future.)
 #
 # So jsutil.cpp deliberately contains a (never-called) function that contains a
@@ -71,17 +72,18 @@ def main():
     parser.add_argument('file', type=str,
                         help='name of the file to check')
     args = parser.parse_args()
 
     # Run |nm|.  Options:
     # -u: show only undefined symbols
     # -C: demangle symbol names
     # -A: show an object filename for each undefined symbol
-    cmd = ['nm', '-u', '-C', '-A', args.file]
+    nm = buildconfig.substs.get('NM') or 'nm'
+    cmd = [nm, '-u', '-C', '-A', args.file]
     lines = subprocess.check_output(cmd, universal_newlines=True,
                                     stderr=subprocess.PIPE).split('\n')
 
     # alloc_fns contains all the vanilla allocation/free functions that we look
     # for. Regexp chars are escaped appropriately.
 
     alloc_fns = [
         # Matches |operator new(unsigned T)|, where |T| is |int| or |long|.
--- a/js/src/old-configure.in
+++ b/js/src/old-configure.in
@@ -1687,16 +1687,17 @@ dnl =
 dnl = Maintainer debug option (no --enable equivalent)
 dnl =
 dnl ========================================================
 
 AC_SUBST(AR)
 AC_SUBST(AR_FLAGS)
 AC_SUBST(AR_EXTRACT)
 AC_SUBST(AS)
+AC_SUBST(NM)
 AC_SUBST_LIST(ASFLAGS)
 AC_SUBST(AS_DASH_C_FLAG)
 AC_SUBST(RC)
 AC_SUBST(RCFLAGS)
 AC_SUBST(WINDRES)
 AC_SUBST(IMPLIB)
 AC_SUBST(FILTER)
 AC_SUBST_LIST(MOZ_DEBUG_LDFLAGS)
--- a/old-configure.in
+++ b/old-configure.in
@@ -4059,16 +4059,17 @@ dnl =
 dnl = Maintainer debug option (no --enable equivalent)
 dnl =
 dnl ========================================================
 
 AC_SUBST(AR)
 AC_SUBST(AR_FLAGS)
 AC_SUBST(AR_EXTRACT)
 AC_SUBST(AS)
+AC_SUBST(NM)
 AC_SUBST_LIST(ASFLAGS)
 AC_SUBST(AS_DASH_C_FLAG)
 AC_SUBST(RC)
 AC_SUBST(RCFLAGS)
 AC_SUBST(WINDRES)
 AC_SUBST(IMPLIB)
 AC_SUBST(FILTER)
 AC_SUBST(MOZ_AUTH_EXTENSION)