PNaCl: Update LLVM revision in pnacl/DEPS: addend fix; translator pruning

This pulls in the following LLVM changes:

d767688: (jvoung@chromium.org) Prune some arch-specific MC InstPrinter (.s printing), from sandboxed translator.
af49991: (mseaborn@chromium.org) PNaCl: Fix negative relocation addends on x86-32

BUG= https://code.google.com/p/nativeclient/issues/detail?id=1222
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3548
TEST=PNaCl toolchain trybots

Review URL: https://codereview.chromium.org/18704004

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@11711 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Update PNaCl Rev 11681->11698 and update archived translator pexes.

The updated archived translator pexes are now frozen bitcode
instead of plain stripped LLVM bitcode.  Update the script
to use the new filenames and use -pnaclabi-allow-dev-intrinsics
when translating to handle the llvm.nacl.target.arch intrinsic.

PNaCl changes:
r11697 | Allow -pnaclabi-allow-dev-intrinsics to pass through pnacl-translate.
r11696 | Archive finalized/frozen pnacl-llc/ld instead of simply strip.
r11695 | PNaCl: Update comment in crtbegin.c

Also update archived frontend rev while we are at it...

BUG=http://code.google.com/p/nativeclient/issues/detail?id=3525
TEST=buildbot/buildbot_pnacl_toolchain_tests.sh archived-pexe-translator-test x86-32
R=dschuff@chromium.org

Review URL: https://codereview.chromium.org/18923003

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@11712 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Run install-unwind-header at llvm-install time.

This is really part of libgcc_eh, but gets blown away by the ninja build.
R=dschuff@chromium.org
BUG= ninja build blows it away.
TEST= ./pnacl/build.sh llvm-configure-ninja Debug && ./pnacl/build.sh llvm && ./pnacl/test.sh test-x86-32

Review URL: https://codereview.chromium.org/18566010

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@11713 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Test that *InstPrinter::print* are pruned from sandboxed llvm.

Should be pruned after: https://codereview.chromium.org/18238011/

BUG=https://code.google.com/p/nativeclient/issues/detail?id=1222
R=dschuff@chromium.org

Review URL: https://codereview.chromium.org/18333008

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@11714 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Make pnacl-strip ignore frozen PNaCl bitcode.
Frozen/finalized bitcode has no symbols, so stripping is a no-op.

R=jvoung@chromium.org
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3534
TEST= strip a final pexe

Review URL: https://codereview.chromium.org/18295004

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@11715 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Revert "Make pnacl-strip ignore frozen PNaCl bitcode."

This reverts r11715 due to a problem with the pnacl driver
test infrastructure.
TBR=jvoung@chromium.org,nfullagar@chromium.org
BUG=

Review URL: https://codereview.chromium.org/18965002

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@11716 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Cleanup: Split tests/gc_instrumentation into two separate parts

This test was covering two independent features:

 * NaCl's irt_blockhook interface.  The test for this remains in
   tests/gc_instrumentation.

 * nacl-gcc's -finstrument-for-thread-suspension option.  The test for
   this has been moved into tests/compiler_thread_suspension.

   Convert some CHECKs into ASSERT_LTs (because CHECK was previously
   defined in tests/gc_instrumentation/gc_instrumentation.c).

This allows the tests for the two features to easily be enabled or
disabled independently of each other.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3539
TEST=run_gc_instrumentation_test run_compiler_thread_suspension_test

Review URL: https://codereview.chromium.org/11448029

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@11717 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
PNaCl: Update GCC revision in pnacl/DEPS: fix x86-64 stack unwinding

This pulls in the following GCC change:

f69869b: (mseaborn@chromium.org) Fix x86-64 stack unwinding to restore full 64-bit values of registers

BUG= https://code.google.com/p/nativeclient/issues/detail?id=1933
TEST=PNaCl toolchain trybots

Review URL: https://codereview.chromium.org/18959002

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@11718 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Deploy ARM toolchain from r11715

This brings in fixes for NEON code generation.

BUG= https://code.google.com/p/nativeclient/issues/detail?id=3543
TEST= trybots
R=bradnelson@google.com, mseaborn@chromium.org

Review URL: https://codereview.chromium.org/18559011

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@11719 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Add a test for FLT_ROUNDS/llvm.flt.rounds + nearbyint().

Newlib doesn't have fesetround(), so we end up with
custom versions of that. In the future we can convert these
custom versions into something usable by PNaCl as part of
fesetround / via an intrinsic or syscall.  For now, we
want to be sure that the initial value is at least
consistent across platforms (round to nearest even).

With these test-only set() routines, we can test that
the c99 FLT_ROUNDs macro (and the llvm.flt.rounds
intrinsic) detects changes correctly (on arm, x86-32,
and x86-64), so that it might be usable in the future.
MIPS llvm.flt.rounds doesn't quite work yet.

Although we have expanded llvm.flt.rounds to 1 in stable
pexes for now, these tests happen to work because they
are non-stable pexes.

GCC appears to define FLT_ROUNDS to 1 unconditionally in
headers, so for gcc we only test that the initial
rounding mode is consistent, and that nearbyint takes
heed of the setting.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3491
R=jfb@chromium.org, mcgrathr@chromium.org, petarj@mips.com

Review URL: https://codereview.chromium.org/16785003

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@11720 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Mark the new run_float_rounding_mode_test as broken on Valgrind.

Valgrind does not support changing rounding modes:
https://bugs.kde.org/show_bug.cgi?id=136779

BUG=http://code.google.com/p/nativeclient/issues/detail?id=3491
R=nfullagar@chromium.org

Review URL: https://codereview.chromium.org/18293013

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@11721 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Update Clang revision in pnacl/DEPS. Pulls in:

f69ebb4 Cherry-picking the pow-for-le32 fix from upstream clang. [eliben@chromium.org]

BUG=None
R=dschuff@google.com

Review URL: https://codereview.chromium.org/18485005

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@11722 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Disable some deprecated/disallowed IRT interfaces under PNaCl

Wrap the IRT interface query function to filter out some IRT interface
names.

For clarity, move IRT-related code out of crtbegin.c into a separate
file, pnacl_irt.c.

BUG= https://code.google.com/p/nativeclient/issues/detail?id=3484
TEST= PNaCl toolchain trybots

Review URL: https://codereview.chromium.org/18501014

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@11723 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Fix checkdeps breakage introduced by r11723

Add DEPS entry so that pnacl/support/ can #include header files from
itself.

This checkdeps failure wasn't caught by the PNaCl toolchain trybots
because they don't run checkdeps.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3484
TEST=run "python tools/checkdeps/checkdeps.py"

Review URL: https://codereview.chromium.org/18612010

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@11724 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Update gcc revision in pnacl/DEPS. Pulls in a change in libstdc++:

98250ea Change pow(T, int) to invoke pow(T, T). [eliben@chromium.org]

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3524
R=dschuff@google.com

Review URL: https://codereview.chromium.org/18661006

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@11725 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Update LLVM revision in pnacl/DEPS. Pulls in:

a7324c5 Reject the llvm.powi intrinsic in the PNaCl ABI verifier. [eliben@chromium.org]
f5dd243 Add option to pnacl-abicheck to handle pnacl bitcode This allows running the utility on finalized/frozen pexes. [dschuff@chromium.org]
299c82a Make GlobalOpt's GV-by-alloca replacement work for PNaCl. [eliben@chromium.org]

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3524
R=dschuff@google.com

Review URL: https://codereview.chromium.org/18986010

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@11726 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
PNaCl driver: Factor file type checking into its own library

Aside from just better organization, this will allow management of the
file type cache for tests and cases when files are modified in-place.
ELF-related stuff was also factored into its own library, and circular
dependences were reduced but not quite eliminated.

R=eliben@chromium.org
BUG=cleanup, but doing it now to allow fixing
 https://code.google.com/p/nativeclient/issues/detail?id=3534, the original
 fix for which had a problem with the file type cache

Review URL: https://codereview.chromium.org/18658003

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@11727 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Pass file format argument from driver to pnacl-abicheck
R=jvoung@chromium.org, kschimpf@google.com
BUG=none
TEST=check a finalized pexe

Review URL: https://codereview.chromium.org/18955003

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@11728 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Don't strip irt_core that we ship in the SDK.

We want people to be able to debug the IRT when running
things in the sel_ldr.

R=bradnelson@google.com

Review URL: https://codereview.chromium.org/18259015

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@11729 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Disable the irt-blockhook (GC hooks) interface under PNaCl

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3539
TEST=PNaCl toolchain trybots

Review URL: https://codereview.chromium.org/18915005

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@11730 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2