NaClValidateCode(): Add guest_addr argument
NaClValidateCode(): Add guest_addr argument

Currently, the uniform interface to the three validators
(NaClValidateCode()) assumes that code is validated in the location
where it will be run.  The interface needs to be extended for dynamic
loading support because code will be validated in a temporary location
before it is copied into place.

Furthermore, the address of the temporary location might not be
instruction-bundle-aligned.

Current usage of the validators is not affected by this change:

x86-32 validator: Validation judgements are location-independent,
except for judgements about jumps to syscall trampolines and zero page
in RememberTP().  These judgements are not affected by this change
because RememberTP() finds the trampoline location relative to
iadrbase.  A beneficial side effect of this change is that the
validator will print more meaningful addresses in validation errors if
"g_print_diagnostics = 0;" is removed.

x86-64 validator: Validation judgements are location-independent.
This validator does not allow direct branches to syscall trampolines
or to anywhere outside the chunk being validated, so current use of
this validator is not affected by this change.

ARM validator: Validation judgement are location-independent, except
for judgements about jumps to syscall trampolines.  In current use of
the ARM validator, NaClValidateCode() is called with guest_addr==data,
so this use is not affected by this change.

BUG=http://code.google.com/p/nativeclient/issues/detail?id=318

Review URL: http://codereview.chromium.org/1280001

git-svn-id: 721b910a23eff8a86f00c8fd261a7587cddf18f8@2035 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2

sbc100/native_client,sbc100/native_client,nacl-webkit/native_client,sbc100/native_client,sbc100/native_client,nacl-webkit/native_client,sbc100/native_client,sbc100/native_client,nacl-webkit/native_client,nacl-webkit/native_client,nacl-webkit/native_client