native_client/src/native_client.git
2 days agoAdded raw toolchain variants so they get synced through package_version. master
dyen@chromium.org [Fri, 21 Nov 2014 22:45:39 +0000 (22:45 +0000)]
Added raw toolchain variants so they get synced through package_version.

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

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

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

2 days agoAdded support for revision sets which keeps packages in sync.
dyen@chromium.org [Fri, 21 Nov 2014 22:17:25 +0000 (22:17 +0000)]
Added support for revision sets which keeps packages in sync.

We often want various packages to always be kept in sync with one
another in regards to revisions. The package_version tool now supports
a "revision_set" concept which updates an entire set of packages when
a single revision name is updated.

The "pnacl_newlib" package has been converted to a revision set which
contains both "pnacl_newlib" and "pnacl_translator". Now both are
updated automatically.

R=dschuff@chromium.org, jvoung@chromium.org
BUG=None
TEST=setting pnacl_newlib revision also sets pnacl_translator

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

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

2 days agoUpdate PNaCl build to bring in LLVM 3.5 merge
dschuff@chromium.org [Fri, 21 Nov 2014 16:47:13 +0000 (16:47 +0000)]
Update PNaCl build to bring in LLVM 3.5 merge

* Update COMPONENT_REVISIONS to include LLVM, clang, and subzero updates
* Update build.sh for translator build compatibility with host libc++ and to avoid passing -ffunction-sections et al. to pnacl-ld
* Update driver and build scripts with new version number
* Update pnacl-finalize to strip module flags (removing debug-related flags)
* Update pnacl-translate to use llc's new spelling of -function-sections flags and to use llc's new flag to use DWARF instead of EABI EH
* Update test expectations for LLVM regression, LLVM testsuite, and Scons toolchain_tests.
* Update Mac host build flags for libc++/OSX 10.6 compatibility.

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

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

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

2 days agoDebug stub test: Get local data symbols in GetSymbols()
hamaji@chromium.org [Fri, 21 Nov 2014 16:14:32 +0000 (16:14 +0000)]
Debug stub test: Get local data symbols in GetSymbols()

https://codereview.chromium.org/699863002/

will make some symbols hidden. Without this change, the test
fails because debug stub test cannot find a few symbols.

BUG= https://code.google.com/p/nativeclient/issues/detail?id=3868
TEST=./scons --mode=nacl,opt-host platform=arm bitcode=1 \
     skip_trusted_tests=1 pnacl_generate_pexe=0 nonpexe_tests
     # With the PNaCl LLVM change

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

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

3 days agoAdd pthread_attr_setscope/getscope to NaCl pthread implementation
sbc@chromium.org [Fri, 21 Nov 2014 02:13:00 +0000 (02:13 +0000)]
Add pthread_attr_setscope/getscope to NaCl pthread implementation

These mimic the glibc/linux implementation in that they
only support PTHREAD_SCOPE_SYSTEM. Although these functions
are essentially no-ops they ease the porting process for
software that depends on them.

BUG= https://code.google.com/p/nativeclient/issues/detail?id=3721
TEST=run_thread_test

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

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

3 days agoCleanup: Use Bit('build_ARCH') instead of Bit('target_ARCH') in tests/
mseaborn@chromium.org [Fri, 21 Nov 2014 01:17:31 +0000 (01:17 +0000)]
Cleanup: Use Bit('build_ARCH') instead of Bit('target_ARCH') in tests/

The distinction between "build" and "target" architecture is obsolete
-- the two are always the same.  This is a step towards removing the
"target" variants, to match what we've already done with the
NACL_BUILD/TARGET #defines.

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

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

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

3 days agoSet all toolchain revisions to revision 14121.
dyen@chromium.org [Thu, 20 Nov 2014 22:58:08 +0000 (22:58 +0000)]
Set all toolchain revisions to revision 14121.

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

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

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

3 days agoChange nonsfi i686 target name in libpthread to match other modules
dschuff@chromium.org [Thu, 20 Nov 2014 21:25:56 +0000 (21:25 +0000)]
Change nonsfi i686 target name in libpthread to match other modules

No functionality change, but it will reduce bitcode linker warnings about
mismatched target triples.

R=mseaborn@chromium.org
BUG=none

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

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

3 days agoMake nonpexe builds default to using biased bitcode
dschuff@chromium.org [Thu, 20 Nov 2014 19:25:48 +0000 (19:25 +0000)]
Make nonpexe builds default to using biased bitcode

Nonpexe tests in the past have served the purpose of testing
several sort-of-supported use cases such as building with
mixed portable bitcode and native code for speed. It also tested
special cases such as calling convention tests that explicitly
used biased bitcode.

The cases we do want to support (IRT building and nonsfi mode)
use biased bitcode for ABI compatibility. So default
to biased bitcode for nonpexe tests.

Also stop building all tests in nonpexe mode, and just build
the nonpexe_tests. In the past this build was there just to
make sure clang didn't regress in unsupported cases, but
we have nacl-clang to cover this now. In the future even
more of the nonpexe tests can be simplified or moved to be
nacl-clang tests.

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

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

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

3 days agoUpdate revision for PNaCl r14117->r14121
dschuff@chromium.org [Thu, 20 Nov 2014 19:04:02 +0000 (19:04 +0000)]
Update revision for PNaCl r14117->r14121

Pull the following PNaCl changes into NaCl:
  r14121: (hidehiko@chromium.org) Non-SFI mode: Add flags and function declarations for nacl_helper_nonsfi.

BUG= https://code.google.com/p/chromium/issues/detail?id=358465

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

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

3 days agoCleanup: Use NACL_BUILD_(SUB)ARCH instead of NACL_TARGET_(SUB)ARCH
mseaborn@chromium.org [Thu, 20 Nov 2014 18:42:50 +0000 (18:42 +0000)]
Cleanup: Use NACL_BUILD_(SUB)ARCH instead of NACL_TARGET_(SUB)ARCH

The distinction between "build" and "target" architecture is obsolete
-- the two are always the same.

Of the two, NACL_BUILD_* was more commonly used, so we rename the
remaining uses of NACL_TARGET_* to the former and remove the
definitions of NACL_TARGET_*.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=2703
TEST=build

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

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

3 days agoSet the correct SCons platform when building core SDK libs for nacl-clang
dschuff@chromium.org [Thu, 20 Nov 2014 18:33:14 +0000 (18:33 +0000)]
Set the correct SCons platform when building core SDK libs for nacl-clang

Without the platform flag, everything got built as x86-32.

R=dyen@chromium.org
BUG=None

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

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

3 days agoUpdate revision for PNaCl r14083->r14117
dschuff@chromium.org [Thu, 20 Nov 2014 16:38:59 +0000 (16:38 +0000)]
Update revision for PNaCl r14083->r14117

Pull the following PNaCl changes into NaCl:
  r14090: (jvoung@google.com) Remove COFFMachineModuleInfo from prune test, stop using llvm-nm on finalized BC.
  r14092: (dyen@chromium.org) Separate out raw and complete packages in toolchain_build_pnacl.
  r14110: (dyen@chromium.org) Updated nacl_arm_newlib package to contain core_sdk headers/libs.
  r14115: (dyen@chromium.org) Updated nacl_x86 toolchain packages to include core_sdk header/libraries.
  r14117: (dschuff@chromium.org) Update libcxxabi to upstream head

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

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

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

3 days agoNon-SFI mode: Add flags and function declarations for nacl_helper_nonsfi.
hidehiko@chromium.org [Thu, 20 Nov 2014 06:50:36 +0000 (06:50 +0000)]
Non-SFI mode: Add flags and function declarations for nacl_helper_nonsfi.

Currently, some features required by nacl_helper_nonsfi is missing
in headers. This CL adds them.

BUG=https://code.google.com/p/chromium/issues/detail?id=358465
TEST=Ran trybots. Implement these functions, and some part of nacl_helper_nonsfi's sandbox on top of it.
R=mseaborn@chromium.org

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

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

4 days agoFixed missing $ in buildbot_toolchain.sh.
dyen@chromium.org [Thu, 20 Nov 2014 02:33:32 +0000 (02:33 +0000)]
Fixed missing $ in buildbot_toolchain.sh.

R=bradnelson@google.com
BUG=None
TEST=trybots

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

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

4 days agoAdded unit test for package_version cleanup.
dyen@chromium.org [Wed, 19 Nov 2014 23:32:46 +0000 (23:32 +0000)]
Added unit test for package_version cleanup.

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

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

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

4 days agoUpdate local test utility script to include nacl-clang and nonsfi tests
dschuff@chromium.org [Wed, 19 Nov 2014 23:25:54 +0000 (23:25 +0000)]
Update local test utility script to include nacl-clang and nonsfi tests

test.sh isn't used on the bots anymore, but it's still useful as a fast
way to run the SCons tests. So update it to include nacl-clang and nonsfi
and to exclude trusted-only tests.

R=jvoung@chromium.org
BUG=none

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

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

4 days agoUpdate libcxxabi to upstream head
dschuff@chromium.org [Wed, 19 Nov 2014 23:06:43 +0000 (23:06 +0000)]
Update libcxxabi to upstream head

Previously when built as ARM, it always used Apple's SJLJ exception
handling code (which uses different names for some Unwind functions
and the cxx personality routine). Now the Apple SJLJ code and EABI EH
code are properly ifdefed.
We define __ARM_DWARF_EH__ in the build to select Dwarf EH.

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

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

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

4 days agoChange nonsfi target name in libpthread to match other modules
dschuff@chromium.org [Wed, 19 Nov 2014 23:05:51 +0000 (23:05 +0000)]
Change nonsfi target name in libpthread to match other modules

No functionality change, but it will reduce bitcode linker warnings about
mismatched target triples.

R=jfb@chromium.org, mseaborn@chromium.org
BUG=none

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

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

4 days agoUpdated nacl_x86 toolchain packages to include core_sdk header/libraries.
dyen@chromium.org [Wed, 19 Nov 2014 20:23:52 +0000 (20:23 +0000)]
Updated nacl_x86 toolchain packages to include core_sdk header/libraries.

Utilize scons to get the headers and libraries that we need
for the SDK and package them up into the same package.

The original package which does not have the core_sdk has
been moved to toolchain packages with a new suffix "_raw"
(eg. nacl_x86_newlib_raw, nacl_x86_glibc_raw). These will
eventually be used within Scons and other test scripts inside
of the NaCl tree.

While modifying this code I also fixed up some variable
usage and removed old hash files that are not used anymore.

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

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

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

4 days agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 19 Nov 2014 19:21:07 +0000 (19:21 +0000)]
Update .DEPS.git

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

4 days agoenable remaining 3 operand xmm/ymm/memory avx1 ops.
shyamsundarr@chromium.org [Wed, 19 Nov 2014 19:20:52 +0000 (19:20 +0000)]
enable remaining 3 operand xmm/ymm/memory avx1 ops.

xmm, xmm, xmm|memory ops added:

'vcvtsd2ss', 'vcvtss2sd', 'vpackssdw', 'vpacksswb', 'vpackusdw',
'vpackuswb', 'vpaddd', 'vpaddq', 'vpand', 'vpandn', 'vpcmpeqd',
'vpcmpeqq', 'vpcmpgtd', 'vpcmpgtq', 'vphaddd', 'vphsubd', 'vpmaddubsw',
'vpmaddwd', 'vpmaxsd', 'vpmaxud', 'vpminsd', 'vpminud', 'vpmuldq',
'vpmulld', 'vpmuludq', 'vpor', 'vpsadbw', 'vpsignd', 'vpsignw', 'vpslld',
'vpsllq', 'vpsllw', 'vpsrad', 'vpsraw', 'vpsrld', 'vpsrlq', 'vpsrlw',
'vpsubd', 'vpsubq', 'vpunpckhdq', 'vpunpckhqdq', 'vpunpckldq',
'vpunpcklqdq', 'vpxor', 'vrcpss', 'vsqrtsd', 'vsqrtss',

xmm|ymm , xmm|ymm, xmm|ymm|memory ops added:

'vpermilpd', 'vpermilps',

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

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

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

4 days agoSync common.gypi's host_arch selection logic with Chrome and turn on Mac64.
ncbray@chromium.org [Wed, 19 Nov 2014 19:12:53 +0000 (19:12 +0000)]
Sync common.gypi's host_arch selection logic with Chrome and turn on Mac64.

This will break NaCl's integration with Chrome unless matched with a Chrome-side
CL:
https://codereview.chromium.org/730173002/
This change is also required to land that CL, meaning a simultanious DEPS roll
is required.

BUG=http://code.google.com/p/chromium/issues/detail?id=405542
R=bradnelson@google.com

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

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

5 days agoUpdated nacl_arm_newlib package to contain core_sdk headers/libs.
dyen@chromium.org [Tue, 18 Nov 2014 23:42:56 +0000 (23:42 +0000)]
Updated nacl_arm_newlib package to contain core_sdk headers/libs.

The nacl_arm_newlib package built with toolchain_build has been updated
to include the core SDK headers/libraries built from scons.

The original package which does not contain the core SDK headers and
libraries has been updated to be built under the package name
nacl_arm_newlib_raw.

Additionally, there was an experimental x86_64 build listed under
"linux_x86-64/ng_nacl_x86_newlib". In the same way, this package has
been separated to "ng_nacl_x86_newlib_raw" and "ng_nacl_x86_newlib"
variants which are different by whether they contain the core SDK
headers/libraries or not.

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

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

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

5 days agoGN: initial pass at updating BUILDCONFIG.gn to match Chrome.
ncbray@chromium.org [Tue, 18 Nov 2014 23:06:43 +0000 (23:06 +0000)]
GN: initial pass at updating BUILDCONFIG.gn to match Chrome.

As it turns out, many of the paths are different, so is is currently impossible
to make the files byte-per-byte identical.  This CL does the easy cases and
reduces the diff.

BUG=https://code.google.com/p/chromium/issues/detail?id=430602
R=bradnelson@google.com, dpranke@chromium.org

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

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

5 days agoEnable MSVC warning for unused locals.
pkasting@chromium.org [Tue, 18 Nov 2014 22:34:39 +0000 (22:34 +0000)]
Enable MSVC warning for unused locals.

The native_client side of https://codereview.chromium.org/731373002/ .

BUG=chromium:81439
TEST=none

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

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

5 days agoNew nacl_core_sdk mode that contains core sdk toolchain packages.
dyen@chromium.org [Tue, 18 Nov 2014 22:24:39 +0000 (22:24 +0000)]
New nacl_core_sdk mode that contains core sdk toolchain packages.

The package_version tool has added a new feature which allows the
package description file to specify various "modes" for groups of
users to operate only on packages they care about.

A new "nacl_core_sdk" mode has been added which only contains
the core sdk toolchain packages. Currently this just means that
it filters out the arm_trusted package, but eventually we will
use this to also filter out the "raw" toolchain packages.

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

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

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

5 days agoRemove brettw from build/config/ONWERS and add ncbray.
ncbray@chromium.org [Tue, 18 Nov 2014 22:22:12 +0000 (22:22 +0000)]
Remove brettw from build/config/ONWERS and add ncbray.

brettw doesn't have a NaCl commit bit.
Putting myself in to keep the bus number from getting too small.

BUG=none
R=sehr@chromium.org

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

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

6 days agoNonsfi mode: Use gnueabi flavor of arm in the target triple for libpthread.
dschuff@chromium.org [Mon, 17 Nov 2014 23:46:12 +0000 (23:46 +0000)]
Nonsfi mode: Use gnueabi flavor of arm in the target triple for libpthread.

Using the gnueabi environment means that the stack alignment is 16 rather than
4 bytes. The backend had this correct (which is what matters) but after 3.5
the frontent sanity-checks its version of the datalayout string against the
backend's, so they must match.

The frontend error is:

error: backend data layout
'e-m:e-p:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S128' does not match
expected target description
      'e-m:e-p:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32

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

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

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

6 days agoGN: dedup GCC toolchain template.
ncbray@chromium.org [Mon, 17 Nov 2014 20:29:58 +0000 (20:29 +0000)]
GN: dedup GCC toolchain template.

BUG=https://code.google.com/p/chromium/issues/detail?id=430602
R=bradnelson@google.com, dpranke@chromium.org

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

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

6 days agoUpdate .DEPS.git
chrome-admin@google.com [Mon, 17 Nov 2014 20:25:13 +0000 (20:25 +0000)]
Update .DEPS.git

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

6 days agoenable vbroadcastf128/vbroadcastss/vbroadcastss avx1 instructions.
shyamsundarr@chromium.org [Mon, 17 Nov 2014 20:24:09 +0000 (20:24 +0000)]
enable vbroadcastf128/vbroadcastss/vbroadcastss avx1 instructions.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=1972

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

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

6 days agoMake the PNaCl TC buildbot keep going even if tests on one of the arches fail.
dschuff@chromium.org [Mon, 17 Nov 2014 18:13:44 +0000 (18:13 +0000)]
Make the PNaCl TC buildbot keep going even if tests on one of the arches fail.

These test failures don't need to stop the whole build.

R=jvoung@chromium.org
BUG=None

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

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

6 days agoRemove android_compat.h and make ia32 work
sehr@chromium.org [Mon, 17 Nov 2014 17:05:44 +0000 (17:05 +0000)]
Remove android_compat.h and make ia32 work

Updating to more recent sdk/ndk eliminates almost all the need for
android_compat.h.  Push the remaining few #defines into the use and remove it.

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

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

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

9 days agoBump _WIN32_WINNT to 0x0603
scottmg@chromium.org [Sat, 15 Nov 2014 01:58:44 +0000 (01:58 +0000)]
Bump _WIN32_WINNT to 0x0603

R=ncbray@chromium.org
BUG=311488, 432748

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

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

9 days agomake proof running faster by using python multiprocessing to disassemble.
shyamsundarr@chromium.org [Fri, 14 Nov 2014 22:32:45 +0000 (22:32 +0000)]
make proof running faster by using python multiprocessing to disassemble.

R=kschimpf@google.com

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

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

9 days agoAllow debug metadata in MinSFI tests.
jvoung@google.com [Fri, 14 Nov 2014 21:09:31 +0000 (21:09 +0000)]
Allow debug metadata in MinSFI tests.

The -minsfi metapass runs the PNaCl ABI verifier plus
the MinSFI transforms. The PNaCl ABI verifier disallows
metadata such as debug metadata. However, there's no reason
to disallow debug info for MinSFI (not shipping a stable
pexe). The main reason -minsfi runs the metapass is to make
sure the incoming bitcode is PNaCl-ABI-expanded before
running MinSFI passes. So, go ahead and allow debug info.

The LLVM 3.5 merge brings in an additional llvm.module.flags
to hold a debug info version number, and JF added a
separate flag to strip that out. Rather than add the extra
flag here too to fully strip, just leave the debug info
alone.

We could also fold this into the -minsfi flag, and there
are other flags that can be folded in like -minsfi-strip-tls,
and -pnaclabi-allow-minsfi-syscalls.

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

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

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

9 days agoUpdate .DEPS.git
chrome-admin@google.com [Fri, 14 Nov 2014 18:43:08 +0000 (18:43 +0000)]
Update .DEPS.git

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

9 days agoUpdate android_tools version to match Chrome's.
sehr@chromium.org [Fri, 14 Nov 2014 18:42:38 +0000 (18:42 +0000)]
Update android_tools version to match Chrome's.

Also adds android_tools_rev refactoring to DEPS to make future updates easier.

BUG= https://code.google.com/p/nativeclient/issues/detail?id=3032
TEST=none
R=bradnelson@google.com, mcgrathr@chromium.org

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

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

9 days agoGN: fix ARM build and make variable names more consistent.
ncbray@chromium.org [Fri, 14 Nov 2014 17:58:32 +0000 (17:58 +0000)]
GN: fix ARM build and make variable names more consistent.

BUG=https://code.google.com/p/chromium/issues/detail?id=430602
R=bradnelson@google.com, dpranke@chromium.org

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

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

10 days agoSeparate out raw and complete packages in toolchain_build_pnacl.
dyen@chromium.org [Thu, 13 Nov 2014 23:06:14 +0000 (23:06 +0000)]
Separate out raw and complete packages in toolchain_build_pnacl.

A previous CL combined the core_sdk as part of the pnacl_newlib package,
this one will now put the original "raw" package without the core_sdk
into a package titled "pnacl_newlib_raw", while keeping the one with
the core_sdk within a package titled "pnacl_newlib".

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

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

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

10 days agoFix a few uses of PNaCl --target=arm-unknown-nacl to specify gnueabi too.
jvoung@google.com [Thu, 13 Nov 2014 20:19:58 +0000 (20:19 +0000)]
Fix a few uses of PNaCl --target=arm-unknown-nacl to specify gnueabi too.

Otherwise, clang won't use gnueabi and will pick a
different datalayout w/ 4 byte stack alignment. After
the llvm 3.5 merge, there is a datalayout verifier which
checks that Clang's choice of datalayout for arm NaCl is
the same as the backend's choice of datalayout for arm
NaCl. The backend always assumes NaCl gets gnueabi.

Found while trying to run the nonpexe tests on ARM.

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

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

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

10 days agoRemove COFFMachineModuleInfo from prune test, stop using llvm-nm on finalized BC.
jvoung@google.com [Thu, 13 Nov 2014 19:30:52 +0000 (19:30 +0000)]
Remove COFFMachineModuleInfo from prune test, stop using llvm-nm on finalized BC.

For the 3.5 merge, X86COFFMachineModuleInfo has been
removed so stop checking that it is successfully pruned:
http://llvm.org/viewvc/llvm-project?view=revision&revision=207927

Do a few misc cleanups to prune_test.py now that the bots
run python 2.7.

Also, llvm-nm support for -bitcode-format=pnacl is disabled for
the 3.5 merge until further localmods are added, so stop using
it in a driver test for now, and instead use pnacl-dis.

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

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

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

11 days agoFixed package_version issue constructing a path from a numbered hash.
dyen@chromium.org [Wed, 12 Nov 2014 23:48:36 +0000 (23:48 +0000)]
Fixed package_version issue constructing a path from a numbered hash.

Now that we are constructing paths using the hash of the archive,
the path function must be able to handle numbered hashes since that
is how the hash is stored internally.

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

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

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

11 days agospeed up trie generation by minimizing subtries in parallel before minimizing the...
shyamsundarr@chromium.org [Wed, 12 Nov 2014 22:35:46 +0000 (22:35 +0000)]
speed up trie generation by minimizing subtries in parallel before minimizing the overall trie in the main thread. this reduces wall clock running time by 50% due to increased parallelism.

R=kschimpf@google.com

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

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

11 days agoUpdate revision for PNaCl r14022->r14083
jvoung@chromium.org [Wed, 12 Nov 2014 21:30:27 +0000 (21:30 +0000)]
Update revision for PNaCl r14022->r14083

Pull the following PNaCl changes into NaCl:
  r14043: (jvoung@google.com) Disable getrlimit/setrlimit in the LLVM translator, readv in gold.nexe.
  r14055: (dschuff@chromium.org) PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
    | 44c402f: (dschuff@chromium.org) Hook up CustomExpandInst to asm streamer as well as object streamer
    | 43bacdc: (dschuff@chromium.org) Cherry-pick r221386 and r221389 from upstream
  r14056: (hidehiko@chromium.org) Non-SFI mode: Implement nacl_irt_random only for nacl_helper_nonsfi.
  r14057: (dschuff@chromium.org) Package exported NaCl libraries with clang toolchains
  r14060: (mcgrathr@chromium.org) toolchain_build: Update gcc revision
  r14066: (jvoung@google.com) PNaCl: Update Binutils+LLVM revision in pnacl/COMPONENT_REVISIONS
    | e9bc2f0: (jvoung@chromium.org) Cherrypick 220866: Fix getRelocationValueString to return the symbol name for EM_386.
    | 47b418f: (jvoung@chromium.org) Stop using nacl private, and pthread private libs for gold.nexe (can use IRT).
  r14083: (dschuff@chromium.org) pnacl-ld: Set ARM bitcode link --oformat target to nacl variant

BUG= https://code.google.com/p/nativeclient/issues/detail?id=3966
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3887
BUG= http://code.google.com/p/chromium/issues/detail?id=358465
BUG= http://code.google.com/p/nativeclient/issues/detail?id=3914
R= jvoung@chromium.org, hidehiko@chromium.org, dschuff@chromium.org, jvoung@google.com, mcgrathr@chromium.org, mseaborn@chromium.org, dyen@chromium.org, sbc@chromium.org
TEST=git try
NOTRY=true
(Please LGTM this change and tick the "commit" box)

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

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

11 days agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 12 Nov 2014 20:30:07 +0000 (20:30 +0000)]
Update .DEPS.git

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

11 days agoAdded a cleanup command in package_version.
dyen@chromium.org [Wed, 12 Nov 2014 20:30:04 +0000 (20:30 +0000)]
Added a cleanup command in package_version.

Now that package tar files are shared between packages, it is no longer
trivial to delete archives as they are updated. This CL goes through
all the packages and deletes any files that it does not recognize within
the tar directory.

Also added the cleanup command as a step inside of runhooks.

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

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

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

11 days agouse imap_unordered instead of imap to speedup trie generation.
shyamsundarr@chromium.org [Wed, 12 Nov 2014 19:05:46 +0000 (19:05 +0000)]
use imap_unordered instead of imap to speedup trie generation.

the order subparts of the trie are walked and merged into the main dfa doesn't matter. this provides better parallelalism and shaves 25% off the runtimefrom trie generation.

R=kschimpf@google.com

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

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

11 days agopnacl-ld: Set ARM bitcode link --oformat target to nacl variant
dschuff@chromium.org [Wed, 12 Nov 2014 17:01:14 +0000 (17:01 +0000)]
pnacl-ld: Set ARM bitcode link --oformat target to nacl variant

gold does not recognize the non-nacl format variants (e.g. elf32-littlearm),
and emits a non-fatal error for arm-flavored bitcode link steps (e.g. for
direct-to-native builds with -arch and nonsfi mode).

R=mseaborn@chromium.org
BUG=None

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

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

12 days agoAdd callingconv_test setting to exclude floats and use for ARM
dschuff@chromium.org [Tue, 11 Nov 2014 19:27:23 +0000 (19:27 +0000)]
Add callingconv_test setting to exclude floats and use for ARM

Since the update to gcc 4.9, an existing bug in which constant pool items
sometimes get placed too far away from their uses is being ticked for
floats as well as doubles, causing compile failures. So add an exclusion
for floats and turn it on for ARM

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

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

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

12 days agoThe package_version tool now share tar files between packages.
dyen@chromium.org [Tue, 11 Nov 2014 17:32:07 +0000 (17:32 +0000)]
The package_version tool now share tar files between packages.

The same tarball file is included within multiple packages (gdb for
example). In order to save space and download time, package_version now
stores all of the tarballs in a single directory separated by the
tarball name and the hash of the tarball.

A unit test has also been added to test this new functionality.

Currently old tarballs will just accumulate on the users hard drive,
I plan on adding a "cleanup" command which will wipe out old tarballs
in a later CL.

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

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

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

12 days agoUpdate .DEPS.git
chrome-admin@google.com [Tue, 11 Nov 2014 17:10:06 +0000 (17:10 +0000)]
Update .DEPS.git

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

12 days agoenable avx1 3 operand fp scalars - they are of the form:
shyamsundarr@chromium.org [Tue, 11 Nov 2014 17:10:02 +0000 (17:10 +0000)]
enable avx1 3 operand fp scalars - they are of the form:
xmm/memory, xmm, xmm

The enabled instructions are:

['vaddsd', 'vaddss', 'vdivsd', 'vdivss',
 'vmaxsd', 'vmaxss', 'vminsd', 'vminss',
 'vmulsd', 'vmulss', 'vsubsd', 'vsubss' ]

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

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

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

12 days agoNon-SFI mode: Move elf_loader.h from src/nonsfi/loader to src/public/nonsfi.
hidehiko@chromium.org [Tue, 11 Nov 2014 15:07:41 +0000 (15:07 +0000)]
Non-SFI mode: Move elf_loader.h from src/nonsfi/loader to src/public/nonsfi.

The header will be depended on by Chrome, so this CL moves it
to the public directory.

BUG=http://code.google.com/p/chromium/issues/detail?id=358465
TEST=Ran trybots.

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

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

12 days agoUpdate .DEPS.git
chrome-admin@google.com [Tue, 11 Nov 2014 11:47:40 +0000 (11:47 +0000)]
Update .DEPS.git

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

12 days agoUpdate .DEPS.git
chrome-admin@google.com [Tue, 11 Nov 2014 11:45:20 +0000 (11:45 +0000)]
Update .DEPS.git

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

13 days agoImprove GN IRT build.
ncbray@chromium.org [Tue, 11 Nov 2014 02:41:27 +0000 (02:41 +0000)]
Improve GN IRT build.

BUG=https://code.google.com/p/chromium/issues/detail?id=430602
R=bradnelson@google.com, dpranke@chromium.org, mseaborn@chromium.org

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

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

13 days agoAdded method to overlay packages from package_version.
dyen@chromium.org [Mon, 10 Nov 2014 21:20:03 +0000 (21:20 +0000)]
Added method to overlay packages from package_version.

The "extract" command takes a "--overlay-tar-dir" argument and does a
regular extract with from the regular tar directory to the regular
destination directory except that any archives found in the overlay
directory will be used in place of the archive found in the tar
directory. This makes testing locally built packages easier when only
part of the package has been built.

For example, toolchain_build outputs packages into the out/packages
directory. So after building nacl_arm_newlib, you could overlay those
packages with the following command:

package_version.py --packages nacl_arm_newlib \
    --dest-dir=destination_dir \
    extract \
    --overlay-tar-dir toolchain_build/out/packages

Also added a unit test to test the functionality of extractions
using overlays.

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

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

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

13 days agoUpdate .DEPS.git
chrome-admin@google.com [Mon, 10 Nov 2014 18:05:05 +0000 (18:05 +0000)]
Update .DEPS.git

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

13 days agoenable avx1 packed 8 bit 3 operand integer ops.
shyamsundarr@chromium.org [Mon, 10 Nov 2014 18:04:42 +0000 (18:04 +0000)]
enable avx1 packed 8 bit 3 operand integer ops.
These are  Wp[bj] Hp[bj] Vp[bj] in the dfa representation.
They are all instr xmm|memory, xmm, xmm operations (i.e one source operand is an xmm register/memory, the second source operand is an xmm register, and the destination is an xmm register).
As these are integer instructions, the ymm variants will be in avx2.
The enabled instructions are:

[ 'vpaddb', 'vpaddsb', 'vpaddusb', 'vpavgb', 'vpcmpeqb', 'vpcmpgtb',  'vpmaxsb', 'vpmaxub', 'vpminsb', 'vpminub', 'vpshufb', 'vpsignb', 'vpsubb', 'vpsubsb', 'vpsubusb', 'vpunpckhbw', 'vpunpcklbw', ],

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

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

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

13 days agoSplit IRT double-linking + tls_edit running out of build_nexe.py
jvoung@google.com [Mon, 10 Nov 2014 17:07:56 +0000 (17:07 +0000)]
Split IRT double-linking + tls_edit running out of build_nexe.py

This helps reuse some of that logic in other build systems
like GN. TODO(jvoung) use in scons too.

Some of the tool running gets complicated with long
commandlines, so I factored some of that out of build_nexe.

BUG=none
R=ncbray@chromium.org

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

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

2 weeks agoNon-SFI mode: move irt headers from src/nonsfi to src/public.
hidehiko@chromium.org [Fri, 7 Nov 2014 22:50:52 +0000 (22:50 +0000)]
Non-SFI mode: move irt headers from src/nonsfi to src/public.

Some headers will be depended on by Chrome. This CL moves
these files from src/nonsfi/... to src/public/nonsfi/... for sane dependency.

BUG=http://code.google.com/p/chromium/issues/detail?id=358465
TESET=Ran trybot.

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

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

2 weeks agoGN support for nacl-clang.
ncbray@chromium.org [Fri, 7 Nov 2014 22:27:29 +0000 (22:27 +0000)]
GN support for nacl-clang.

BUG=http://code.google.com/p/chromium/issues/detail?id=430601
R=bradnelson@google.com, dpranke@chromium.org, mcgrathr@chromium.org

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

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

2 weeks agoDe-duplicate NaCl's toolchain declaration and converge towards gcc.
ncbray@chromium.org [Fri, 7 Nov 2014 18:12:10 +0000 (18:12 +0000)]
De-duplicate NaCl's toolchain declaration and converge towards gcc.

BUG=http://code.google.com/p/chromium/issues/detail?id=430601
R=dpranke@chromium.org, mcgrathr@chromium.org

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

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

2 weeks agoPNaCl: Update Binutils+LLVM revision in pnacl/COMPONENT_REVISIONS
jvoung@google.com [Fri, 7 Nov 2014 17:58:17 +0000 (17:58 +0000)]
PNaCl: Update Binutils+LLVM revision in pnacl/COMPONENT_REVISIONS

This pulls in the following LLVM change:

e9bc2f0: (jvoung@chromium.org) Cherrypick 220866: Fix getRelocationValueString to return the symbol name for EM_386.

This pulls in the following Binutils change:

47b418f: (jvoung@chromium.org) Stop using nacl private, and pthread private libs for gold.nexe (can use IRT).

BUG= http://code.google.com/p/nativeclient/issues/detail?id=3914
TEST= PNaCl toolchain trybots
R=mseaborn@chromium.org

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

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

2 weeks agoRemove the rule for building libraries of ARM nacl_helper_nonsfi.
mazda@chromium.org [Fri, 7 Nov 2014 17:37:56 +0000 (17:37 +0000)]
Remove the rule for building libraries of ARM nacl_helper_nonsfi.

The previous CL [1] added a rule for building libraries of
ARM nacl_helper_nonsfi, but that breaks ARM build due to int8_t
issue [2].
As it is not necessary to build libraries of ARM
nacl_helper_nonsfi for enabling the browser tests, this CL
removes the condition for building libraries of ARM
nacl_helper_nonsfi to enable browser_tests first.

[1] http://src.chromium.org/viewvc/native_client?view=rev&revision=14046
[2] https://code.google.com/p/nativeclient/issues/detail?id=3992

BUG=https://code.google.com/p/chromium/issues/detail?id=372049
BUG=https://code.google.com/p/nativeclient/issues/detail?id=3992
TEST=try

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

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

2 weeks agoRemove extra argument from build_nexe Run() invocations.
jvoung@google.com [Fri, 7 Nov 2014 00:59:22 +0000 (00:59 +0000)]
Remove extra argument from build_nexe Run() invocations.

I don't know when, but it's been at least 1 year since Run()
used that parameter that represents the output file. It is
now a bool positional argument... yay type checking.

BUG=none
R=bradnelson@google.com

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

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

2 weeks agoDeploy new arm-nacl-gcc
mcgrathr@chromium.org [Fri, 7 Nov 2014 00:10:01 +0000 (00:10 +0000)]
Deploy new arm-nacl-gcc

This brings in the 4.9.2 compiler.

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

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

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

2 weeks agoRefactor and cleanup GN build.
ncbray@chromium.org [Thu, 6 Nov 2014 22:22:39 +0000 (22:22 +0000)]
Refactor and cleanup GN build.

BUG=http://code.google.com/p/chromium/issues/detail?id=430601
R=bradnelson@google.com

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

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

2 weeks agotoolchain_build: Update gcc revision
mcgrathr@chromium.org [Thu, 6 Nov 2014 21:23:55 +0000 (21:23 +0000)]
toolchain_build: Update gcc revision

This brings in:

b23dd79 Fix OSX undefined _environ error in liblto_plugin.so

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

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

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

2 weeks agoUpdate .DEPS.git
chrome-admin@google.com [Thu, 6 Nov 2014 20:08:05 +0000 (20:08 +0000)]
Update .DEPS.git

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

2 weeks agoEnable 3 operand packed 16-bit avx1 integer ops.
shyamsundarr@chromium.org [Thu, 6 Nov 2014 20:07:49 +0000 (20:07 +0000)]
Enable 3 operand packed 16-bit avx1 integer ops.
These are  Wp[iw] Hp[iw] Vp[iw] in the dfa representation.
They are all instr xmm|memory, xmm, xmm operations (i.e one source operand is an xmm register/memory, the second source operand is an xmm register, and the destination is an xmm register).
As these are integer instructions, the ymm variants will be in avx2.
The enabled instructions are:
[
    'vpaddsw', 'vpaddusw', 'vpaddw', 'vpavgw', 'vpcmpeqw', 'vpcmpgtw',
    'vphaddsw', 'vphaddw', 'vphsubsw', 'vphsubw', 'vpmaxsw', 'vpmaxuw',
    'vpminsw', 'vpminuw', 'vpmulhrsw', 'vpmulhuw', 'vpmulhw', 'vpmullw',
    'vpsubsw', 'vpsubusw', 'vpsubw', 'vpunpckhwd', 'vpunpcklwd',
]
BUG=https://code.google.com/p/nativeclient/issues/detail?id=1972
R=kschimpf@google.com

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

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

2 weeks agoPackage exported NaCl libraries with clang toolchains
dschuff@chromium.org [Thu, 6 Nov 2014 18:19:27 +0000 (18:19 +0000)]
Package exported NaCl libraries with clang toolchains

Packaging the libraries makes life easier for embedders such as mojo
who get a toolchain that can actually build nexes without needing to
bootstrap and modify the toolchain first.

NaCl bots will still do their own build of libnacl et al. to make
changes to libnacl easier to develop and test.

Also export the minidump generator lib from SCons to match
the gyp build.

BUG=
R=dyen@chromium.org

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

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

2 weeks agoNon-SFI mode: Implement nacl_irt_random only for nacl_helper_nonsfi.
hidehiko@chromium.org [Thu, 6 Nov 2014 16:50:22 +0000 (16:50 +0000)]
Non-SFI mode: Implement nacl_irt_random only for nacl_helper_nonsfi.

In order to share some startup functions with SFI mode, especially
around IRT implementations, this CL implements nacl_irt_random.
The original implementation is components/nacl/loader/nonsfi/irt_random.cc.

BUG=http://code.google.com/p/chromium/issues/detail?id=358465
TEST=Ran trybot. Implement nacl_helper_nonsfi on top of this CL and
made sure its browser_tests pass.

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

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

2 weeks agoPNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
dschuff@chromium.org [Thu, 6 Nov 2014 16:50:18 +0000 (16:50 +0000)]
PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS

This pulls in the following LLVM changes:

44c402f: (dschuff@chromium.org) Hook up CustomExpandInst to asm streamer as well as object streamer
43bacdc: (dschuff@chromium.org) Cherry-pick r221386 and r221389 from upstream

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

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

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

2 weeks agoUpdate enable_basic_printing and enable_print_preview logic to match Chrome.
vitalybuka@chromium.org [Thu, 6 Nov 2014 11:35:46 +0000 (11:35 +0000)]
Update enable_basic_printing and enable_print_preview logic to match Chrome.

BUG=430281

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

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

2 weeks agoFix include guard macro of irt_exception_handling.h
hidehiko@chromium.org [Thu, 6 Nov 2014 07:16:12 +0000 (07:16 +0000)]
Fix include guard macro of irt_exception_handling.h

The header seems to move from other directory.

BUG=n/a
TEST=Ran trybot.

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

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

2 weeks agoFixed invalid module name error in package_info.py.
dyen@chromium.org [Thu, 6 Nov 2014 03:05:42 +0000 (03:05 +0000)]
Fixed invalid module name error in package_info.py.

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

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

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

2 weeks agoUpdate .DEPS.git
chrome-admin@google.com [Thu, 6 Nov 2014 00:31:04 +0000 (00:31 +0000)]
Update .DEPS.git

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

2 weeks agoUpdate GN to version used in Chrome.
ncbray@chromium.org [Thu, 6 Nov 2014 00:30:40 +0000 (00:30 +0000)]
Update GN to version used in Chrome.

This requires merging in files copied from Chrome.  Note that this does not merge in files for the Windows and OSX build, those are not used at this point.

BUG=http://code.google.com/p/chromium/issues/detail?id=430602
R=bradnelson@google.com

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

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

2 weeks agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 5 Nov 2014 20:30:05 +0000 (20:30 +0000)]
Update .DEPS.git

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

2 weeks agoenable packed single precision 3 operand mem/simd register avx1 instructions.
shyamsundarr@chromium.org [Wed, 5 Nov 2014 20:29:54 +0000 (20:29 +0000)]
enable packed single precision 3 operand mem/simd register avx1 instructions.

All these instructions allow the forms:
op src1=xmm src2=xmm/mem src3=xmm
and
op src1=ymm src2=ymm/mem src3=ymm

The enabled instructions are:

'vaddps', 'vaddsubps', 'vandnps', 'vandps', 'vdivps', 'vhaddps',
'vhsubps', 'vmaxps', 'vminps', 'vmulps', 'vorps', 'vsubps', 'vunpckhps',
'vunpcklps', 'vxorps'

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

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

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

2 weeks agoAdd rules for building ARM newlib nonsfi nexe with PNaCl toolchain.
mazda@chromium.org [Wed, 5 Nov 2014 20:25:49 +0000 (20:25 +0000)]
Add rules for building ARM newlib nonsfi nexe with PNaCl toolchain.

BUG=http://code.google.com/p/chromium/issues/detail?id=372049
TEST=try

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

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

2 weeks agoTouch syscalls test data file to unstick Windows modtime bug
mcgrathr@chromium.org [Wed, 5 Nov 2014 19:00:52 +0000 (19:00 +0000)]
Touch syscalls test data file to unstick Windows modtime bug

Some Windows bots are exhibiting a bug that will be masked if the
tests/syscalls/file_ok.txt source file in the checkout gets a fresh
timestamp.  This changes the data in a way that doesn't bother the test.

BUG= https://code.google.com/p/nativeclient/issues/detail?id=3990
TEST= scons run_syscall_test
TBR=sbc@chromium.org

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

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

2 weeks agoUpdate revision for PNaCl r13992->r14022
jvoung@google.com [Wed, 5 Nov 2014 17:33:28 +0000 (17:33 +0000)]
Update revision for PNaCl r13992->r14022

Pull the following PNaCl changes into NaCl:
  r13999: (jvoung@google.com) PNaCl drivers: pass through-ish "-x c++-header", etc., for building pch.
  r14017: (maruel@chromium.org) Normalize paths in pnacl/driver/driver_tools.py.
  r14019: (mcgrathr@chromium.org) toolchain_build: Switch gcc to 4.9 branch
  r14022: (jvoung@chromium.org) pnacl-drivers: use posixpath.normpath instead of os.path.normpath.

BUG= <none>
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3983
BUG= none
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3887
R=maruel@chromium.org, dschuff@chromium.org, dyen@chromium.org, jvoung@chromium.org, jvoung@google.com, mcgrathr@chromium.org, sbc@chromium.org
TEST=git try
(Please LGTM this change and tick the "commit" box)

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

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

2 weeks agoDisable getrlimit/setrlimit in the LLVM translator, readv in gold.nexe.
jvoung@google.com [Wed, 5 Nov 2014 17:08:52 +0000 (17:08 +0000)]
Disable getrlimit/setrlimit in the LLVM translator, readv in gold.nexe.

Otherwise, with the new stubs in r14027 it thinks that getrlimit
and setrlimit are usable, and attempt to use struct rlimit, which
is not defined for NaCl newlib. This then fails to compile.

Similar for readv and gold. We cannot actually compile code that uses
readv because there is not sys/uio.h header in newlib.

BUG=none (red bot).
R=dschuff@chromium.org, sbc@chromium.org

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

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

2 weeks agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 5 Nov 2014 07:55:33 +0000 (07:55 +0000)]
Update .DEPS.git

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

2 weeks agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 5 Nov 2014 07:54:32 +0000 (07:54 +0000)]
Update .DEPS.git

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

2 weeks agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 5 Nov 2014 07:34:09 +0000 (07:34 +0000)]
Update .DEPS.git

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

2 weeks agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 5 Nov 2014 07:33:13 +0000 (07:33 +0000)]
Update .DEPS.git

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

2 weeks agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 5 Nov 2014 07:04:58 +0000 (07:04 +0000)]
Update .DEPS.git

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

2 weeks agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 5 Nov 2014 07:03:36 +0000 (07:03 +0000)]
Update .DEPS.git

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

2 weeks agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 5 Nov 2014 06:52:24 +0000 (06:52 +0000)]
Update .DEPS.git

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

2 weeks agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 5 Nov 2014 06:51:25 +0000 (06:51 +0000)]
Update .DEPS.git

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

2 weeks agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 5 Nov 2014 06:39:24 +0000 (06:39 +0000)]
Update .DEPS.git

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

2 weeks agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 5 Nov 2014 06:38:12 +0000 (06:38 +0000)]
Update .DEPS.git

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

2 weeks agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 5 Nov 2014 06:33:15 +0000 (06:33 +0000)]
Update .DEPS.git

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

2 weeks agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 5 Nov 2014 06:32:17 +0000 (06:32 +0000)]
Update .DEPS.git

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

2 weeks agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 5 Nov 2014 03:14:05 +0000 (03:14 +0000)]
Update .DEPS.git

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