Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(91)

Side by Side Diff: chrome/tools/build/mac/verify_order

Issue 1424573002: Revert of mac: In static library builds, link against a static libc++.a (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/chrome_dll.gypi ('k') | third_party/libc++-static/build.sh » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/bin/bash 1 #!/bin/bash
2 2
3 # Copyright (c) 2009 The Chromium Authors. All rights reserved. 3 # Copyright (c) 2009 The Chromium Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 # Verifies that no global text symbols are present in a Mach-O file 7 # Verifies that no global text symbols are present in a Mach-O file
8 # (MACH_O_FILE) at an address higher than the address of a specific symbol 8 # (MACH_O_FILE) at an address higher than the address of a specific symbol
9 # (LAST_SYMBOL). If LAST_SYMBOL is not found in MACH_O_FILE or if symbols 9 # (LAST_SYMBOL). If LAST_SYMBOL is not found in MACH_O_FILE or if symbols
10 # are present with addresses higher than LAST_SYMBOL's address, an error 10 # are present with addresses higher than LAST_SYMBOL's address, an error
11 # message is printed to stderr, and the script will exit nonzero. 11 # message is printed to stderr, and the script will exit nonzero.
12 # 12 #
13 # This script can be used to verify that all of the global text symbols in 13 # This script can be used to verify that all of the global text symbols in
14 # a Mach-O file are accounted for in an order file. 14 # a Mach-O file are accounted for in an order file.
15 #
16 # Also check that the file does not depend on either of libstdc++ or libc++.
17 15
18 if [ ${#} -ne 2 ] ; then 16 if [ ${#} -ne 2 ] ; then
19 echo "usage: ${0} LAST_SYMBOL MACH_O_FILE" >& 2 17 echo "usage: ${0} LAST_SYMBOL MACH_O_FILE" >& 2
20 exit 1 18 exit 1
21 fi 19 fi
22 20
23 LAST_SYMBOL=${1} 21 LAST_SYMBOL=${1}
24 MACH_O_FILE=${2} 22 MACH_O_FILE=${2}
25 23
26 SYMBOLS=$(nm -fgjn -s __TEXT __text "${MACH_O_FILE}") 24 SYMBOLS=$(nm -fgjn -s __TEXT __text "${MACH_O_FILE}")
27 if [ ${?} -ne 0 ] || [ -z "${SYMBOLS}" ] ; then 25 if [ ${?} -ne 0 ] || [ -z "${SYMBOLS}" ] ; then
28 echo "${0}: no symbols in ${MACH_O_FILE}" >& 2 26 echo "${0}: no symbols in ${MACH_O_FILE}" >& 2
29 exit 1 27 exit 1
30 fi 28 fi
31 29
32 LAST_SYMBOLS=$(grep -A 100 -Fx "${LAST_SYMBOL}" <<< "${SYMBOLS}") 30 LAST_SYMBOLS=$(grep -A 100 -Fx "${LAST_SYMBOL}" <<< "${SYMBOLS}")
33 if [ ${?} -ne 0 ] || [ -z "${LAST_SYMBOLS}" ] ; then 31 if [ ${?} -ne 0 ] || [ -z "${LAST_SYMBOLS}" ] ; then
34 echo "${0}: symbol ${LAST_SYMBOL} not found in ${MACH_O_FILE}" >& 2 32 echo "${0}: symbol ${LAST_SYMBOL} not found in ${MACH_O_FILE}" >& 2
35 exit 1 33 exit 1
36 fi 34 fi
37 35
38 UNORDERED_SYMBOLS=$(grep -Fvx "${LAST_SYMBOL}" <<< "${LAST_SYMBOLS}") 36 UNORDERED_SYMBOLS=$(grep -Fvx "${LAST_SYMBOL}" <<< "${LAST_SYMBOLS}")
39 if [ ${?} -eq 0 ] || [ -n "${UNORDERED_SYMBOLS}" ] ; then 37 if [ ${?} -eq 0 ] || [ -n "${UNORDERED_SYMBOLS}" ] ; then
40 echo "${0}: unordered symbols in ${MACH_O_FILE}:" >& 2 38 echo "${0}: unordered symbols in ${MACH_O_FILE}:" >& 2
41 echo "${UNORDERED_SYMBOLS}" >& 2 39 echo "${UNORDERED_SYMBOLS}" >& 2
42 exit 1 40 exit 1
43 fi 41 fi
44 42
45 LIBS=$(otool -L "${MACH_O_FILE}")
46 if [ ${?} -ne 0 ] ; then
47 echo "${0}: failed to get libraries in ${MACH_O_FILE}" >& 2
48 exit 1
49 fi
50 if grep -Fq libstdc++ <<< ${LIBS} ; then
51 echo "${0}: ${MACH_O_FILE} depends on libstdc++" >& 2
52 exit 1
53 fi
54 if grep -Fq libc++ <<< ${LIBS} ; then
55 echo "${0}: ${MACH_O_FILE} depends on libc++" >& 2
56 exit 1
57 fi
58
59 exit 0 43 exit 0
OLDNEW
« no previous file with comments | « chrome/chrome_dll.gypi ('k') | third_party/libc++-static/build.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698