Pulling in gdb 7.6.50.

BUG=None
TEST=trybots
R=mcgrathr@chromium.org

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

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@12585 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Update PNaCl in TOOL_REVISIONS from 12534 to 12579
r12578 | PNaCl driver: fix host-tools directory check for Windows
r12577 | PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS: case range removal
    17fd577: (mseaborn@chromium.org) PNaCl bitcode: Remove support for reading/writing case ranges in switches
    3513571: (mseaborn@chromium.org) PNaCl bitcode: Remove unused code for reading wide integers in switch cases
    be43d26: (mseaborn@chromium.org) PNaCl: Remove some more uses of switch case ranges
r12576 | PNaCl driver: Use paths given by -B for finding host binaries
r12575 | PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
e915ba5: (mseaborn@chromium.org) Remove unused PNaCl localmods in IR/Module
    4164ead: (mseaborn@chromium.org) Remove PNaCl localmod: Decl of createNaClCcRewritePass(), which isn't defined
    4fc1f6c: (kschimpf@google.com) Add block bit tracking to NaClBitcodeParser.
    72676e0: (mseaborn@chromium.org) Prepare for merging LLVM 3.4: add missing #include
    81a4d58: (mseaborn@chromium.org) PNaCl: Remove references to LinkOnceODRAutoHideLinkage, removed upstream
    0fd5436: (kschimpf@google.com) Remove the use of templates for bitcode record distributions.
r12574 | PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS: remove some localmods
    dec806d: (mseaborn@chromium.org) Remove various PNaCl localmods in lib/Support/Unix
    b48714d: (mseaborn@chromium.org) Remove PNaCl's unused "IsPlainObject" localmod in AsmPrinter
    c01651d: (mseaborn@chromium.org) Remove PNaCl's unused localmods in GlobalValue.h and Globals.cpp
    c23b64e: (mseaborn@chromium.org) Remove unused PNaCl localmods in JITCodeEmitter.h
    90922f1: (mseaborn@chromium.org) Remove old PNaCl localmods for instruction bundling
    76cf83b: (mseaborn@chromium.org) Remove some unused PNaCl localmods related to ELF symbol versioning
    5470c59: (mseaborn@chromium.org) Remove various uses of PNaCl's old IR/Module localmods
    459a6b2: (mseaborn@chromium.org) Remove PNaCl localmod for using OSABI_NACL in ELF files
r12573 | PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS: cleanups
    008388a: (kschimpf@google.com) Fix signature of Error methods in NaClBitcodeAnalyzer.cpp.
    39fca9e: (mseaborn@chromium.org) Remove PNaCl localmod: Remove unused tools/pso-stub/
    c3f7ae2: (mseaborn@chromium.org) Remove PNaCl localmod: Remove unused header file, support_macros.h
r12569 | PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
    0c594b2: (kschimpf@google.com) Add ability to print out abbreviations in PNaCl bitcode files.
    c754d9c: (kschimpf@google.com) Create test to verify that record distributions remain the same.
r12566 | Ship NaCl's pthread.h with newlib toolchains
r12561 | PNaCl: Update LLVM test suite revision in pnacl/COMPONENT_REVISIONS
    4937c9a: (jvoung@chromium.org) llvm-test-suite: only look for machine/endian.h for NaCl newlib.
r12560 | PNaCl: Update Binutils revision in pnacl/COMPONENT_REVISIONS
    c362b5a: (petar.jovanovic@rt-rk.com) [MIPS] Move definitions of Mips_copy_relocs after Target_mips declaration
    5ede5bf: (jvoung@chromium.org) binutils-gold-sb: Add missing include of <unistd.h> for close() and lseek()
r12548 | PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
    e060815: (kschimpf@google.com) Adds notion of value distributions for PNaCl bitcode files.
r12547 | PNaCl: Update LLVM test suite revision in pnacl/COMPONENT_REVISIONS
    aeb62b2: (dschuff@chromium.org) LLVM Testsuite: Fix endian.h include in security-sha
r12546 | PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
    89b37d0: (petar.jovanovic@rt-rk.com) [MIPS] Add instruction BAL to direct calls
    b65abac: (kschimpf@google.com) Create initial implementation of pnacl-bccompress.

BUG=none
R=dschuff@chromium.org

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

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@12586 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Don't build the static compiler_rt library with fPIC.

So that we don't embed dependencies on _GLOBAL_OFFSET_TABLE_
and pic relocations in PNaCl's native static libs (keep them simple).

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

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

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@12587 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
PNaCl build: Do not rename LLVMgold plugin library after building

Forcing the prefix to be the same on all platforms is somewhat arbitrary,
especially since the suffix is different anyway. This simplifies the build
and the driver.

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

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

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@12588 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Add gyp build of sel_ldr and irt_core for ARM.

The irt core can be built on all platforms but sel_ldr
can only be built on linux (the only platform with an
arm cross compiler).

BUG=266959
R=jvoung@chromium.org

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

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@12589 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
LLVM Test suite: remove IndirectGoto test from known failure list.

r12580 landed a change that made computed gotos work.

R=stichnot@chromium.org, mseaborn@chromium.org
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3695

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

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@12590 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Pulling in newer toolchain version.

Main motive, pull in newer gdb.

Changes:
bd676c7 Pulling in gdb 7.6.50.
5d05673 PNaCl: Enable testing of computed gotos, including GCC torture tests
596e12a Ship NaCl's pthread.h with newlib toolchains
9e2eb98 Fix path in backports patch.
fc37c9f Patch backports to work around annotator strictness change.
b1957b1 Update cloud storage URLs (commondatastorage -> storage)
9b6df7e Also adjust runtime_equake for PNaCl x86-32, after libc++ switch.
a74ed84 Update PNaCl transfersize/compile/run perf expectations from libc++ switch
cd72010 NaCl: Permit C++ streams in NaCl code.
e4850d2 Enable testing PNaCl's SJLJ exception handling against the GCC torture tests
23a50cf Use scons's UserError in scons scripts rather than builtin python exceptions.
6cfff37 Make libc++ the default C++ library for PNaCl.
e1146c2 Update binutils to 2.24 release
25f1e9d Add a script for driving csmith to generate large compilation inputs.
710d9b2 Disable several glibc tests.
bad8557 Add more margin to perf expectations for UncontendedMutexLock on win32 too.
6936bae Add rt/tst-aio8 to list of known glibc failures.
10c6f5c Adjust nacl perf expectations to give margin to uncontended mutex lock.

BUG=None
TEST=trybots
R=sbc@chromium.org

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

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@12591 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Pulling in newer toolchain version.

Main motive, pull in newer gdb.

Changes:
bd676c7 Pulling in gdb 7.6.50.
5d05673 PNaCl: Enable testing of computed gotos, including GCC torture tests
596e12a Ship NaCl's pthread.h with newlib toolchains
9e2eb98 Fix path in backports patch.
fc37c9f Patch backports to work around annotator strictness change.
b1957b1 Update cloud storage URLs (commondatastorage -> storage)
9b6df7e Also adjust runtime_equake for PNaCl x86-32, after libc++ switch.
a74ed84 Update PNaCl transfersize/compile/run perf expectations from libc++ switch
cd72010 NaCl: Permit C++ streams in NaCl code.
e4850d2 Enable testing PNaCl's SJLJ exception handling against the GCC torture tests
23a50cf Use scons's UserError in scons scripts rather than builtin python exceptions.
6cfff37 Make libc++ the default C++ library for PNaCl.
e1146c2 Update binutils to 2.24 release
25f1e9d Add a script for driving csmith to generate large compilation inputs.
710d9b2 Disable several glibc tests.
bad8557 Add more margin to perf expectations for UncontendedMutexLock on win32 too.
6936bae Add rt/tst-aio8 to list of known glibc failures.
10c6f5c Adjust nacl perf expectations to give margin to uncontended mutex lock.

BUG=None
TEST=trybots
R=sbc@chromium.org

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

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@12592 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Update TOOL_REVISIONS for PNaCl r12579->r12590

Pull the following PNaCl changes into NaCl:
  r12580: (mseaborn@chromium.org) PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
  r12582: (mseaborn@chromium.org) PNaCl: Enable testing of computed gotos, including GCC torture tests
  r12584: (mseaborn@chromium.org) PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS: ExpandTls change
  r12587: (jvoung@google.com) Don't build the static compiler_rt library with fPIC.
  r12588: (dschuff@chromium.org) PNaCl build: Do not rename LLVMgold plugin library after building
  r12590: (dschuff@chromium.org) LLVM Test suite: remove IndirectGoto test from known failure list.

BUG= https://code.google.com/p/nativeclient/issues/detail?id=3760
BUG= http://code.google.com/p/nativeclient/issues/detail?id=3762
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3720
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3719
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3695
R=mseaborn@chromium.org, dschuff@chromium.org, jvoung@chromium.org, jvoung@google.com, stichnot@chromium.org
TEST=git try

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

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@12593 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Update the PNaCl TOOL_REVISIONS updater.

It was originally written assuming that it would run in a cron job and
pull in PNaCl changes one at a time (to isolate bugs and performance
regressions), therefore outputting the whole change description instead
of a list of change's description. It turns out that we don't really
want this and would rather pull in a few PNaCl changes at a time, and
create a nice short list of all these changes like the other deps rolls
have.

This change therefore always updates to the latest change under the
./pnacl/ directory. I removed the option to specify a particular SVN ID
for now (it required a rewrite to keep), though it shouldn't be hard to
add if needed. I also added a dry-run option. The change description now
also rolls up all of the BUG numbers too.

For sample output from this script see:
  https://codereview.chromium.org/130353003/

R=jvoung@chromium.org, dschuff@chromium.org

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

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

This pulls in the following LLVM changes:

d7a651b: (kschimpf@google.com) Fix compiler warning about non-virtual destructor.
2d3e6fe: (kschimpf@google.com) Trace abbreviations use to compressed file in pnacl-bccompress.
abfef0e: (kschimpf@google.com) Rename files containing PNaCl bitcode distribution maps.

BUG= https://code.google.com/p/nativeclient/issues/detail?id=3720
TEST= PNaCl toolchain trybots
R=dschuff@chromium.org

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

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@12595 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Update the PNaCl TOOL_REVISIONS updater.

This change passes the NOTRY flag, and asks the reviewer to LGTM the
change and tick the 'commit' box, which simplifies the entire
process. The script still auto-kicks-off 'git try', using NOTRY prevents
redundant tryjobs.

Adding as reviewers people likely to use this script or be asked to tick
the 'commit' box.

R=dschuff@chromium.org, jvoung@chromium.org, kschimpf@chromium.org, mseaborn@chromium.org, sehr@chromium.org, stichnot@chromium.org

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

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@12596 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Update TOOL_REVISIONS for PNaCl r12590->r12595

Pull the following PNaCl changes into NaCl:
  r12595: (kschimpf@google.com) PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
    | d7a651b: (kschimpf@google.com) Fix compiler warning about non-virtual destructor.
    | 2d3e6fe: (kschimpf@google.com) Trace abbreviations use to compressed file in pnacl-bccompress.
    | abfef0e: (kschimpf@google.com) Rename files containing PNaCl bitcode distribution maps.

BUG= https://code.google.com/p/nativeclient/issues/detail?id=3720
R=dschuff@chromium.org, kschimpf@google.com
TEST=git try
NOTRY=true
(Please LGTM this change and tick the "commit" box)

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

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@12597 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
PNaCl TOOL_REVISIONS: more descriptive change list, and include toolchain_build changes.

The change list information now includes changes from toolchain_build,
and they also include the change description from changes in
COMPONENT_REVISIONS.

For an example see: https://codereview.chromium.org/133203002

R=dschuff@chromium.org, jvoung@chromium.org

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

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@12598 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
PNaCl TOOL_REVISIONS: add the --svn-id option

This option is useful to update to a changelist that isn't the latest
PNaCl change, for example when multiple changelists' toolchain builds
were merged, or when too many PNaCl changes would be pulled in at the
same time.

R=dschuff@chromium.org, jvoung@chromium.org

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

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@12599 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS: fix use-after-free

This pulls in the following LLVM changes:

ef0f702: (kschimpf@google.com) Separate out bits distribution maps from bits and abbreviations.
f4e17b0: (mseaborn@chromium.org) PNaCl: Fix a use-after-free in the ExpandIndirectBr pass

BUG= https://code.google.com/p/nativeclient/issues/detail?id=3720
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3695
TEST= PNaCl toolchain trybots
TBR=dschuff@chromium.org

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

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@12600 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
PNaCl: Add definitions of __nacl_tp_{tls,tdb}_offset to native support code

This is in preparation for removing uses of the intrinsics:
  llvm.nacl.tp.tls.offset
  llvm.nacl.tp.tdb.offset
so that localmods for these can be removed from PNaCl's LLVM branch.

After this rolls into TOOL_REVISIONS, I'll remove the asm() attributes
from the __nacl_tp_*() declarations in tls_params.h.  For ABI-stable
pexes, these functions will still be defined by the ExpandTls pass.
When ExpandTls isn't run, these functions will be provided by PNaCl's
native support code at native link time.

Change tls_params.h so that it can define externally-visible
definitions of __nacl_tp_*() (used in crtbegin.c) as well as inlined
definitions.  Compile crtbegin.c with --pnacl-bias so that the correct
arch-specific definition is used.

Add definitions of __nacl_tp_*() for MIPS so that nonpexe_tests can
continue to work on MIPS.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3760
TEST=PNaCl toolchain trybots
R=jvoung@chromium.org

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

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@12601 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
Update TOOL_REVISIONS for PNaCl r12595->r12601: TLS layout functions change

This is to get:
r12601: PNaCl: Add definitions of __nacl_tp_{tls,tdb}_offset to native support code

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3760
TEST=trybots
TBR=jvoung@chromium.org

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

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@12602 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
PNaCl: Remove use of the TLS layout intrinsics

Instead, use the external functions that are now defined either by
PNaCl's native support code or by the ExpandTls pass.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3760
TEST=trybots
R=jvoung@chromium.org

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

git-svn-id: svn://svn.chromium.org/native_client/trunk/src/native_client@12603 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2
PNaCl: Optimise getting the thread pointer by using read.tp intrinsic

Before, pthread_self() and other code in nc_thread.c would get the
thread pointer by calling the tls_get() IRT interface.  However, using
the read.tp intrinsic is more efficient because it can be inlined.
Introduce __nacl_read_tp_inline() in order to do this.

Remove the presubmit check "UntrustedAsmChecker" so that it doesn't
complain about this change.  It is superseded by the PNaCl ABI
checker.  Remove some "@IGNORE_LINES..." comments that are no longer
needed as a result.

BUG=none
TEST=run_thread_test_irt -- examine pthread_mutex_lock() with pnacl-dis
R=dschuff@chromium.org

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

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