Descriptionvalidator_ragel: Link into TCB, use under env var
In both Chrome and sel_ldr environment variable
NACL_DANGEROUS_USE_DFA_VALIDATOR is used to replace the current validator with
the new one.
WARNING:
WARNING:
WARNING: The size increase of the runnable binaries resulted by this change will
likely trigger the "perf_expectation" regression when this change gets pulled
into Chrome via DEPS roll.
Size implications:
0. absolute values of size increase are equal among sel_ldr, nacl_helper and the
chrome binary. On Linux the validator library gets pulled into the
downloadable chrome package twice (in nacl_helper and chrome).
1. 32bit validator size is negligible (within 40K on each platform uncompressed)
2. with 64 validator there are 2 cases: Linux and Windows.
2.1. On Linux the optimized stripped sel_ldr gets increased by 400K (was: 510K).
The 7zipped size increase for nacl_helper is 108K (was: 884K).
2.2. On Windows the optimized sel_ldr gets increased by 1MB (was: 955K). When
7zipped the increase is 101K (great compression!). When we get to optimize
the Windows64 build the uncompressed size increase is expected to be
significantly smaller: about 350K. This is a work in progress.
Overall package size increase is expected to be:
Windows64:
7zipped - about 101K
uncompressed - about 1MB (can be reduced later)
Linux64:
7zipped - about 216K
uncompressed - about 800K
Windows32, all MacOS variants:
uncompressed - less than 40K
Linux32:
uncompressed - less than 80K
Linking another validator in statically has the advantage of being able to run
two validators side by side for some time taking the current validator's answer
as authoritative. Also, it does not increase the hassle in the build and
deployment systems which we have a lot already.
BUG=http://code.google.com/p/nativeclient/issues/detail?id=2597
TEST=./scons --mode=dbg-host platform=x86-64 run_dfa_validator_hello_world_test
Committed: https://src.chromium.org/viewvc/native_client?view=rev&revision=8372
Patch Set 1 #Patch Set 2 : . #
Total comments: 32
Patch Set 3 : some changes according to review #Patch Set 4 : merged cleanup around library_deps.py #Patch Set 5 : incorrect merge fixed #Patch Set 6 : merge sb_kind removal #Patch Set 7 : Move validator selection in a function, don't create a stub function for the ARM validator. #Patch Set 8 : revert introducing extra empty line #Messages
Total messages: 9 (0 generated)
|