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

Unified Diff: pnacl/driver/pnacl-ld.py

Issue 14358048: Update pnacl/DEPS to bring in stricter ABI checks for metadata (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: don't run check in pnacl-finalize yet (need ignore flag) Created 7 years, 8 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pnacl/driver/pnacl-ld.py
diff --git a/pnacl/driver/pnacl-ld.py b/pnacl/driver/pnacl-ld.py
index a70a16a520549a55fc25845551f2e7a6b8c05ce6..bc999309df05609c66104d5285f2c22361fd5c01 100755
--- a/pnacl/driver/pnacl-ld.py
+++ b/pnacl/driver/pnacl-ld.py
@@ -337,8 +337,9 @@ def main(argv):
tng = TempNameGen([], output)
+ has_bitcode = HasBitcodeInputs(inputs)
# Do the bitcode link.
- if HasBitcodeInputs(inputs):
+ if has_bitcode:
chain = DriverChain(inputs, output, tng)
chain.add(LinkBC, 'pre_opt.' + bitcode_type)
@@ -377,13 +378,11 @@ def main(argv):
# reintroduce ConstantExprs. However, '-expand-getelementptr'
# must follow '-expand-constant-expr' to expand the
# getelementptr instructions it creates.
- passes = ['-expand-constant-expr',
+ # We place '-strip-metadata' after optimization passes are run
+ # since optimizations depend on the metadata.
+ passes = ['-strip-metadata',
+ '-expand-constant-expr',
'-expand-getelementptr']
- if (not env.getbool('DISABLE_ABI_CHECK') and
- not env.getbool('ALLOW_CXX_EXCEPTIONS') and
- len(native_objects) == 0):
- passes += ['-verify-pnaclabi-module',
- '-verify-pnaclabi-functions']
chain.add(DoLLVMPasses(passes),
'expand_features_after_opt.' + bitcode_type)
else:
@@ -396,6 +395,13 @@ def main(argv):
chain.run()
+ if (has_bitcode and
+ env.getbool('STATIC') and
+ not env.getbool('DISABLE_ABI_CHECK') and
+ not env.getbool('ALLOW_CXX_EXCEPTIONS') and
+ len(native_objects) == 0):
+ RunDriver('abicheck', [output, '-allow-debug-metadata'])
Mark Seaborn 2013/04/25 18:03:35 Why a separate invocation? This will be slower.
jvoung (off chromium) 2013/04/26 21:24:49 Merged the check back into the other run of opt.
+
if bitcode_type == 'pexe' and not arch_flag_given:
# Mark .pexe files as executable.
# Some versions of 'configure' expect this.
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698