native_client/src/native_client.git
3 months agoNon-SFI mode: Add syscalls which are needed for nacl_helper_nonsfi's sandbox. master
hidehiko@chromium.org [Thu, 8 Jan 2015 07:31:24 +0000 (07:31 +0000)]
Non-SFI mode: Add syscalls which are needed for nacl_helper_nonsfi's sandbox.

openat and fstatat are needed for the sandbox implementation
of nacl_helper_nonsfi. The headers are already added separately.
This CL adds their implementation and tests.

Also, it turned out some oflag values (for open/fcntl etc.) are different between NaCl ABI and Linux platform. This CL introduces the ABI conversion between them.

BUG=https://code.google.com/p/chromium/issues/detail?id=358465
TEST="./scons run_file_descriptor_test bitcode=1 nonsfi_nacl=1" locally. Ran trybots.

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

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

3 months agoSwitching glibc_version.sh to use git.
bradnelson@google.com [Thu, 8 Jan 2015 03:24:10 +0000 (03:24 +0000)]
Switching glibc_version.sh to use git.

Using the git hash in place of the svn revision.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3928
TEST=None
TBR=ncbray@chromium.org

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

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

3 months agoSwitching canonicalize_timestamps.sh to use git.
bradnelson@google.com [Thu, 8 Jan 2015 01:47:34 +0000 (01:47 +0000)]
Switching canonicalize_timestamps.sh to use git.

BUG=None
TEST=local
R=ncbray@chromium.org

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

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

3 months agoGN: add toolchain revision preprocessor define to force rebuilds.
ncbray@chromium.org [Wed, 7 Jan 2015 22:51:20 +0000 (22:51 +0000)]
GN: add toolchain revision preprocessor define to force rebuilds.

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

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

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

3 months agoDropping .DEPS.git
bradnelson@google.com [Wed, 7 Jan 2015 21:55:50 +0000 (21:55 +0000)]
Dropping .DEPS.git

Dropping .DEPS.git as our DEPS file now only references git repos.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3928
TEST=None
R=ncbray@chromium.org

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

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

3 months agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 7 Jan 2015 21:08:06 +0000 (21:08 +0000)]
Update .DEPS.git

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

3 months agoSwitch the remaining svn checkouts in the nacl tree to git.
bradnelson@google.com [Wed, 7 Jan 2015 21:07:15 +0000 (21:07 +0000)]
Switch the remaining svn checkouts in the nacl tree to git.

Switching the shards of the nacl repository itself to git.
Previously tools_rev controlled everything.
Now each of these repositories will be managed separately.

After switching the source of truth to git,
these shards should become separate repos, possibly fresh ones.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3928
TEST=trybots
R=ncbray@chromium.org, noelallen@chromium.org

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

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

3 months agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 7 Jan 2015 19:29:07 +0000 (19:29 +0000)]
Update .DEPS.git

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

3 months agoSwitch the svn checkouts of chromium in the nacl tree to git.
bradnelson@google.com [Wed, 7 Jan 2015 19:28:09 +0000 (19:28 +0000)]
Switch the svn checkouts of chromium in the nacl tree to git.

Switching entries in nacl's DEPS which can are meant to be from
a common chromium revision.

As each slice of the chromium repo does not have all revisions nor
has a stable hash for each, care must be taken when updating the slice
revisions.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3928
TEST=trybots
R=noelallen@google.com, ncbray@chromium.org, noelallen@chromium.org

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

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

3 months agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 7 Jan 2015 18:44:08 +0000 (18:44 +0000)]
Update .DEPS.git

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

3 months agoSwitch a subset of svn checkouts to git.
bradnelson@google.com [Wed, 7 Jan 2015 18:43:13 +0000 (18:43 +0000)]
Switch a subset of svn checkouts to git.

Switching entries in nacl's DEPS which can trivially be moved to git (from svn). Leaving the hard ones (tools_rev) to a separate pass.

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

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

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

3 months agoRemove NACL_REVERSE_CONTROL_REPORT_STATUS SRPC.
teravest@chromium.org [Wed, 7 Jan 2015 18:00:59 +0000 (18:00 +0000)]
Remove NACL_REVERSE_CONTROL_REPORT_STATUS SRPC.

SRPC is no longer used for reporting exit status. This change cleans up some
unnecessary code inside NaCl to make the reverse service code easier to
understand. This is one more step toward getting rid of the reverse service
entirely.

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

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

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

3 months agoUpdate revision for PNaCl r14243->r14251
jfb@chromium.org [Wed, 7 Jan 2015 04:43:10 +0000 (04:43 +0000)]
Update revision for PNaCl r14243->r14251

Pull the following PNaCl changes into NaCl:
  r14245: (mcgrathr@chromium.org) toolchain_build: Update binutils to 2.25
  r14249: (jfb@chromium.org) PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
    | 4487dd6: (jfb@chromium.org) Add missing deps to bugpoint, pnacl-benchmark, && a unittest.
    | a295d97: (kschimpf@google.com) Remove unused parameter warnings from NaClBitcodeParser.h
    | fa30210: (jfb@chromium.org) Expand some integer operations greater than 64 bits
  r14251: (bradnelson@google.com) Switch gcc version to a shared variable.

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

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

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

3 months agoGN: remove unused command line argument to eliminate conflicts.
ncbray@chromium.org [Wed, 7 Jan 2015 01:56:46 +0000 (01:56 +0000)]
GN: remove unused command line argument to eliminate conflicts.

If native_client is integrated into a build that has its own version of
android/config.gni, then the same argument will be declared twice and GN will
error out.

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

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

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

3 months agoUpdate .DEPS.git
chrome-admin@google.com [Tue, 6 Jan 2015 22:10:10 +0000 (22:10 +0000)]
Update .DEPS.git

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

3 months agoAdd a first avx2 instruction (vpminsd).
shyamsundarr@chromium.org [Tue, 6 Jan 2015 22:10:01 +0000 (22:10 +0000)]
Add a first avx2 instruction (vpminsd).

Start avx2 work by adding a single avx2 instruction (256 bit upgrade of existing vpminsd instruction).

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

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

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

3 months agoGN: fix nacl_helper_bootstrap build.
ncbray@chromium.org [Tue, 6 Jan 2015 21:41:17 +0000 (21:41 +0000)]
GN: fix nacl_helper_bootstrap build.

Use deps instead of data deps.
Put the raw binary in the out directory rather than the gen directory.
Work around a bug in GN related to target naming.
https://code.google.com/p/chromium/issues/detail?id=446367

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

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

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

3 months agoRemove the "CreateProcess" SRPC method call
mseaborn@chromium.org [Tue, 6 Jan 2015 20:44:13 +0000 (20:44 +0000)]
Remove the "CreateProcess" SRPC method call

This CreateProcess SRPC call has never been used in production, and we
have no plans to use it in production.  Instead, we want to be
removing uses of SRPC.

This will help with removing src/trusted/manifest_name_service_proxy/
(the old SRPC-based open_resource() implementation), since the two
tests for CreateProcess both depend on the old "ManifestNameService".

I searched for mentions of "CreateProcess" and "CREATE_PROCESS" to
remove.  This change also removes:

 * In sel_universal: "*ProcessSlot" methods, subprocesses_ and mu_
 * The "FinalizeProcess" SRPC call

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

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

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

3 months agoAdding bionic toolchain to non-perf list.
bradnelson@google.com [Tue, 6 Jan 2015 20:28:18 +0000 (20:28 +0000)]
Adding bionic toolchain to non-perf list.

The bionic toolchain build does not produce any perf results for upload.
Adding it to the list of those builds that shouldn't upload perf results.

BUG=None
TEST=None
R=jfb@chromium.org
NOTRY=true

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

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

3 months agoSwitch gcc version to a shared variable.
bradnelson@google.com [Tue, 6 Jan 2015 19:34:45 +0000 (19:34 +0000)]
Switch gcc version to a shared variable.

This moves forward the bionic build to match gcc
and should green the bionic toolchain builder.

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

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

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

3 months agoFixing typo in perf exclusion list.
bradnelson@google.com [Tue, 6 Jan 2015 17:45:02 +0000 (17:45 +0000)]
Fixing typo in perf exclusion list.

nacl -> pnacl.

BUG=None
TEST=None
R=jfb@chromium.org

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

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

3 months agoPNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
jfb@chromium.org [Tue, 6 Jan 2015 17:15:20 +0000 (17:15 +0000)]
PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS

This pulls in the following LLVM changes:

4487dd6: (jfb@chromium.org) Add missing deps to bugpoint, pnacl-benchmark, && a unittest.
a295d97: (kschimpf@google.com) Remove unused parameter warnings from NaClBitcodeParser.h
fa30210: (jfb@chromium.org) Expand some integer operations greater than 64 bits

BUG=
BUG= https://code.google.com/p/nativeclient/issues/detail?id=4024
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3905
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3714
TEST= PNaCl toolchain trybots
R=stichnot@chromium.org

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

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

3 months agoBuild nonsfi_loader_arm for NaCl SDK
hamaji@chromium.org [Tue, 6 Jan 2015 05:52:24 +0000 (05:52 +0000)]
Build nonsfi_loader_arm for NaCl SDK

This is the pareparation of
https://codereview.chromium.org/832323003/

TEST= https://codereview.chromium.org/832323003/
TEST=trybot
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3851

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

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

3 months agoDropping perf upload for builders without perf results.
bradnelson@google.com [Mon, 5 Jan 2015 23:51:16 +0000 (23:51 +0000)]
Dropping perf upload for builders without perf results.

A recent change to runtest.py causes it to fail if it wraps
a step without perf results when the graphing option is passed.
We also recently reduced the set of builders that run perf microbenchmarks.

Turning off perf upload for toolchain waterfall builders broken.

BUG=None
TEST=None
R=jfb@chromium.org, mcgrathr@chromium.org

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

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

3 months agotoolchain_build: Update binutils to 2.25
mcgrathr@chromium.org [Mon, 5 Jan 2015 23:15:13 +0000 (23:15 +0000)]
toolchain_build: Update binutils to 2.25

The binutils 2.25 release is out, and it supports arm-nacl
targets with no local patches.  The previous 2.24-based version
had no local patches, but was using an unreleased snapshot of the
2.24 branch.  Now we are back on an official release version.

Unlike the 2.24 branch, the 2.25 branch of upstream git still
contains the subdirectories that are only included in gdb
releases and not in binutils releases.  To build from the git
repository and get the same effect as building from the release
tarball, some new machinations are required to stub out the
builds of the subdirectories not relevant to binutils.

BUG= none
TEST= toolchain trybots
R=bradnelson@google.com

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

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

3 months agoUpdate revision for PNaCl r14234->r14243
jfb@chromium.org [Mon, 5 Jan 2015 21:39:25 +0000 (21:39 +0000)]
Update revision for PNaCl r14234->r14243

Pull the following PNaCl changes into NaCl:
  r14243: (mseaborn@chromium.org) PNaCl driver: Fix overwriting of destination files on Windows

BUG= https://code.google.com/p/nativeclient/issues/detail?id=3868
R= mseaborn@chromium.org, jfb@chromium.org
TEST=git try

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

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

3 months agoPNaCl driver: Fix overwriting of destination files on Windows
mseaborn@chromium.org [Mon, 5 Jan 2015 02:38:17 +0000 (02:38 +0000)]
PNaCl driver: Fix overwriting of destination files on Windows

r14187 introduced a regression where PNaCl tools would fail on Windows
if the output file already exists (when outputting a native
executable).

Fix this by ensuring the destination file is removed before calling
os.rename().

This fix is necessary to update nacl_revision in Chromium's DEPS,
otherwise we get failures in the incremental build on Windows.

I tried to add a test case for this to pnacl/driver/tests/.  However,
the PNaCl toolchain trybots don't run these tests on Windows any more.
When they did run the tests, it's not clear whether they were run
using Cygwin Python (where os.rename() automatically overwrites) or
the the native Windows Python (where os.rename() apparently doesn't
overwrite the destination).

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3868
TEST=not tested very well
R=jfb@chromium.org

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

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

3 months agoFix getcwd() in libnacl to handle NULL buffer
sbc@chromium.org [Fri, 2 Jan 2015 16:11:08 +0000 (16:11 +0000)]
Fix getcwd() in libnacl to handle NULL buffer

Add more unittests for the edge cases of getcwd.

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

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

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

3 months agoFix 'make patches' such that it works in git svn checkouts.
sbc@chromium.org [Fri, 2 Jan 2015 14:32:52 +0000 (14:32 +0000)]
Fix 'make patches' such that it works in git svn checkouts.

Currently 'make patches' is run to generate patch
files for the old gcc toolchain but this did not
work on a local git checkout making local testing
of 'make patches' difficult.

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

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

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

3 months agoCleanup: Remove irt_nameservice.c, which is now unused
mseaborn@chromium.org [Wed, 31 Dec 2014 02:29:44 +0000 (02:29 +0000)]
Cleanup: Remove irt_nameservice.c, which is now unused

Since removing irt_manifest.c, irt_nameservice_lookup() is no longer used.

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

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

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

3 months agoCleanup: Remove NACL_DESC_DEVICE_POSTMESSAGE, which is unused
mseaborn@chromium.org [Mon, 29 Dec 2014 23:31:50 +0000 (23:31 +0000)]
Cleanup: Remove NACL_DESC_DEVICE_POSTMESSAGE, which is unused

This has been unused since service_runtime/nacl_desc_postmessage.c was
removed.

BUG=https://code.google.com/p/chromium/issues/detail?id=406558
TEST=build
R=teravest@chromium.org

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

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

3 months agoUpdate .DEPS.git
chrome-admin@google.com [Mon, 29 Dec 2014 17:16:09 +0000 (17:16 +0000)]
Update .DEPS.git

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

3 months agoUpdate .DEPS.git
chrome-admin@google.com [Mon, 29 Dec 2014 16:57:07 +0000 (16:57 +0000)]
Update .DEPS.git

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

3 months agoUpdate revision for PNaCl r14232->r14234
jfb@chromium.org [Mon, 29 Dec 2014 16:00:17 +0000 (16:00 +0000)]
Update revision for PNaCl r14232->r14234

Pull the following PNaCl changes into NaCl:
  r14234: (jfb@chromium.org) PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
    | 9eecd82: (jfb@chromium.org) PNaCl: Handle nested structure types in -expand-struct-regs.

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

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

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

3 months ago[MIPS] Remove guard instructions from assembly code in MIPS tests
petarj@mips.com [Mon, 29 Dec 2014 01:12:29 +0000 (01:12 +0000)]
[MIPS] Remove guard instructions from assembly code in MIPS tests

With LLVM 3.5 merge, MIPS assembly code also gets sandboxed. This makes
handwritten guard instructions redundant and it has impact on the test
behaviour.
This change modifies the MIPS assembly code in the tests, and it fixes
two LLVM 3.5 merge regressions for MIPS:

- exception_test
- syscall_return_sandboxing_test

BUG= run_exception_test and run_syscall_return_sandboxing_test fail
TEST= run the aforementioned tests

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

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

3 months agoPNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
jfb@chromium.org [Sun, 28 Dec 2014 18:58:21 +0000 (18:58 +0000)]
PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS

This pulls in the following LLVM change:

9eecd82: (jfb@chromium.org) PNaCl: Handle nested structure types in -expand-struct-regs.

BUG= https://code.google.com/p/nativeclient/issues/detail?id=3815
TEST= PNaCl toolchain trybots
TBR=jvoung@chromium.org
NOTRY=true

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

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

3 months agoUpdate revision for PNaCl r14219->r14232
jfb@chromium.org [Sun, 28 Dec 2014 18:48:08 +0000 (18:48 +0000)]
Update revision for PNaCl r14219->r14232

Pull the following PNaCl changes into NaCl:
  r14226: (jvoung@google.com) PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
    | 3904ddc: (jvoung@chromium.org) Update ReplacePtrsWithInts to also fix up refs from subprogram debug metadata.
  r14232: (jfb@chromium.org) PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
    | 0b3bf56: (kschimpf@google.com) Don't allow instructions/globals to use alignment > 2**29.
    | 3ab478b: (jfb@chromium.org) PNaCl: Split alloca simplification into its own pass.

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

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

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

3 months agoPNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
jfb@chromium.org [Sat, 27 Dec 2014 22:56:05 +0000 (22:56 +0000)]
PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS

This pulls in the following LLVM changes:

0b3bf56: (kschimpf@google.com) Don't allow instructions/globals to use alignment > 2**29.
3ab478b: (jfb@chromium.org) PNaCl: Split alloca simplification into its own pass.

BUG= https://code.google.com/p/nativeclient/issues/detail?id=3998
TEST= PNaCl toolchain trybots
TBR= jvoung@chromium.org, kschimpf@chromium.org

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

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

3 months agoadd cpu feature for avx2.
shyamsundarr@chromium.org [Mon, 22 Dec 2014 22:46:28 +0000 (22:46 +0000)]
add cpu feature for avx2.

This is in preparation for adding avx2 to the decoder/validator.

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

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

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

3 months agoAdd rule to build nacl_helper_nonsfi for ARM
mazda@chromium.org [Fri, 19 Dec 2014 19:09:49 +0000 (19:09 +0000)]
Add rule to build nacl_helper_nonsfi for ARM

- Added gyp rule to build nacl_helper_nonsfi for ARM
- Fixed the target flag to use armv7-unknown-nacl-gnueabihf

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

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

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

3 months agoUpdate .DEPS.git
chrome-admin@google.com [Thu, 18 Dec 2014 18:14:08 +0000 (18:14 +0000)]
Update .DEPS.git

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

3 months agoallow all fma3 instructions in validator.
shyamsundarr@chromium.org [Thu, 18 Dec 2014 18:14:03 +0000 (18:14 +0000)]
allow all fma3 instructions in validator.
BUG=https://code.google.com/p/nativeclient/issues/detail?id=1972
R=kschimpf@google.com

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

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

4 months agoUpdate base revisions used when generating patches for bintuils and newlib
sbc@chromium.org [Thu, 18 Dec 2014 01:59:23 +0000 (01:59 +0000)]
Update base revisions used when generating patches for bintuils and newlib

Bintuils and newlib have been updated to new upstream
versions but the system generating the patch files
was still using old revisions resulting in vary large
(and confusing) patch files.

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

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

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

4 months agoPNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
jvoung@google.com [Wed, 17 Dec 2014 23:37:06 +0000 (23:37 +0000)]
PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS

This pulls in the following LLVM change:

3904ddc: (jvoung@chromium.org) Update ReplacePtrsWithInts to also fix up refs from subprogram debug metadata.

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

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

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

4 months agoCleanup: Remove irt_manifest.c (open_resource() impl), which is dead code
mseaborn@chromium.org [Wed, 17 Dec 2014 21:33:27 +0000 (21:33 +0000)]
Cleanup: Remove irt_manifest.c (open_resource() impl), which is dead code

This implementation of open_resource() is no longer used: it's
overridden on the Chromium side, and it's never used on the NaCl side.

We can no longer leave the nacl_irt_resource_open entry in
irt_interfaces.c, because this symbol would no longer be defined in
the Chromium build (where we don't link in irt_core_resource.c).

Therefore, we add nacl_irt_resource_open via irt_entry_core.c, which
matches how Chromium injects IRT interfaces in
ppapi/nacl_irt/irt_ppapi.cc and ppapi/nacl_irt/irt_start.cc.

Update the comments to reflect whether and how IRT interfaces are
defined and disabled under PNaCl.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3864
TEST=Chromium trybots + NaCl trybots

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

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

4 months agoMove struct nacl_abi_stat from sys/stat.h to bits/stat.h
mcgrathr@chromium.org [Wed, 17 Dec 2014 21:33:25 +0000 (21:33 +0000)]
Move struct nacl_abi_stat from sys/stat.h to bits/stat.h

Careful users such as the glibc port want NaCl-supplied headers that
define nacl_abi_* types and NACL_ABI_* constants but do not also do
anything to interfere with other identifiers such as declaring
standard functions.  However, they also need to define the macro
NACL_IN_TOOLCHAIN_HEADERS to avoid problematic includes directly
from the native_client tree such as that of machine/_types.h.
sys/stat.h does not fit the bill since it wants to declare
functions, but bits/stat.h is just right once we move the struct
definition there.  This also aligns the (sys/)foo.h vs bits/foo.h
distinction with how it's used in glibc (the origin of the bits/
header convention): OS-dependent bit values and type layouts go in
bits/ while common API declarations do not.

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

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

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

4 months agoUpdate revision for PNaCl r14210->r14219
jvoung@chromium.org [Wed, 17 Dec 2014 19:04:19 +0000 (19:04 +0000)]
Update revision for PNaCl r14210->r14219

Pull the following PNaCl changes into NaCl:
  r14213: (dschuff@chromium.org) toolchain_build: Use 'build_noncanonical' target type for target libraries
  r14216: (jvoung@google.com) PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
    | 1b5fb24: (jvoung@chromium.org) Remove GR32_TC_64 previously used by NaCl. Also put PSEUDO_NACL_SEG in SEGMENT_REG class.
    | aee8276: (dschuff@chromium.org) Default to an armv7 cpu when march=arm
    | 8511b00: (petar.jovanovic@rt-rk.com) Apply missing parts from upstream r218744
    | 9861392: (petar.jovanovic@rt-rk.com) Cherrypick upstream r220447: Fix Mips nacl-mask test
    | a6fa566: (jvoung@chromium.org) Cherry-pick: Use 32-bit ebp for NaCl64 in a limited case: llvm.frameaddress.
  r14217: (jvoung@google.com) Change unsandboxed IRT Mac back to 'build' instead of noncanonical.

BUG= https://code.google.com/p/nativeclient/issues/detail?id=4005
BUG= https://code.google.com/p/nativeclient/issues/detail?id=4018
BUG= none (package_version checks that package is uploaded when setting rev)
R= jfb@chromium.org, bradnelson@google.com, dschuff@chromium.org, jvoung@google.com, dyen@chromium.org
TEST=git try
NOTRY=true
(Please LGTM this change and tick the "commit" box)

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

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

4 months agoCleanup: Merge sources lists in irt/nacl.scons
mseaborn@chromium.org [Wed, 17 Dec 2014 17:06:25 +0000 (17:06 +0000)]
Cleanup: Merge sources lists in irt/nacl.scons

This code can be simplified because it doesn't build the in-browser
IRT any more.

This also happens to be necessary for a later change that requires
irt_query_list.c to be in libirt_support_private for
run_irt_compatibility_test_irt to link.

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

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

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

4 months agoBuild irt variant tests to ensure tests broken on builders are built for testers.
bradnelson@google.com [Wed, 17 Dec 2014 02:29:57 +0000 (02:29 +0000)]
Build irt variant tests to ensure tests broken on builders are built for testers.

Add an explicit irt variant build step.

BUG=None
TEST=trybots (should actually let it finish...)
R=jfb@chromium.org

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

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

4 months agoUpdate newlib revision used by the gcc toolchain builders
sbc@chromium.org [Wed, 17 Dec 2014 00:45:47 +0000 (00:45 +0000)]
Update newlib revision used by the gcc toolchain builders

This brings in the following newlib revisions:

312a290 Define HAVE_MKDIR when building for NaCl
b115f61 Do not define rintl, lrintl, or llrintl in libm/common for i386

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

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

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

4 months agonacl-clang build for ARM
dschuff@chromium.org [Wed, 17 Dec 2014 00:28:14 +0000 (00:28 +0000)]
nacl-clang build for ARM

* Add build rules for nacl-clang ARM target libraries
* Add gcc's nacl-arm-macros.s file to NaCl repo for inclusion in nacl-clang
* Update a few tests to pass with ARM nacl-clang
* Update COMPONENT_REVISIONS to bring in:
  clang ee9f475 (dschuff@chromium.org) Inject the NaCl  ARM assembly macro file into ARM assembler jobs
  newlib 312a290 (sbc@chromium.org) Define HAVE_MKDIR when building for NaCl
  newlib 4e25c28 (dschuff@chromium.org) Condition itet ARM instruction in strcpy.c on non-nacl

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

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

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

4 months agoMark finalized pexe and translated nexe as in all_programs at key points.
bradnelson@google.com [Tue, 16 Dec 2014 21:39:14 +0000 (21:39 +0000)]
Mark finalized pexe and translated nexe as in all_programs at key points.

In order to ensure builders on which tests are marked as broken generate the finalized pexes and translated nexes that testers need, add the pexes/nexes to the all_programs alias.

Fixes break from:
https://src.chromium.org/viewvc/native_client?view=rev&revision=14205
BUG=None
TEST=trybots
R=dschuff@chromium.org, jfb@chromium.org

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

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

4 months agoChange unsandboxed IRT Mac back to 'build' instead of noncanonical.
jvoung@google.com [Tue, 16 Dec 2014 17:31:04 +0000 (17:31 +0000)]
Change unsandboxed IRT Mac back to 'build' instead of noncanonical.

It depends on the OS, and the linux bot does not build the mac
version, so the mac bot is canonical.

BUG=none (package_version checks that package is uploaded when setting rev)
R=dschuff@chromium.org

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

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

4 months agoPNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
jvoung@google.com [Mon, 15 Dec 2014 23:11:03 +0000 (23:11 +0000)]
PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS

This pulls in the following LLVM changes:

1b5fb24: (jvoung@chromium.org) Remove GR32_TC_64 previously used by NaCl. Also put PSEUDO_NACL_SEG in SEGMENT_REG class.
aee8276: (dschuff@chromium.org) Default to an armv7 cpu when march=arm
8511b00: (petar.jovanovic@rt-rk.com) Apply missing parts from upstream r218744
9861392: (petar.jovanovic@rt-rk.com) Cherrypick upstream r220447: Fix Mips nacl-mask test
a6fa566: (jvoung@chromium.org) Cherry-pick: Use 32-bit ebp for NaCl64 in a limited case: llvm.frameaddress.

BUG= https://code.google.com/p/nativeclient/issues/detail?id=4018
BUG= make check failure CodeGen/Mips/prevent-hoisting.ll
BUG= make check failure MC/Mips/nacl-mask.s
BUG= https://code.google.com/p/nativeclient/issues/detail?id=4005
TEST= PNaCl toolchain trybots
R=dschuff@chromium.org, jfb@chromium.org

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

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

4 months agoUpdate revision for PNaCl r14185->r14210 and Fix PNaCl atomics on x86
jfb@chromium.org [Mon, 15 Dec 2014 19:18:06 +0000 (19:18 +0000)]
Update revision for PNaCl r14185->r14210 and Fix PNaCl atomics on x86

Mark the atomics test as fixed, both because of the LLVM 3.5 merge bug that was introduced as well as because of the x86-32 16-bit atomics hack. Both need to get fixed at the same time because the later exposes a bug in the former. This patch depends on a few LLVM-side patches, and a component revision update.

Pull the following PNaCl changes into NaCl:
  r14186: (jvoung@google.com) Don't use pnacl raw toolchain in llvm nightly and libcxx tests.
  r14187: (hamaji@chromium.org) Non-SFI Mode: Build PIE nonsfi_loader
  r14189: (dschuff@chromium.org) PNaCl: Update Clang revision in pnacl/COMPONENT_REVISIONS
    | 79e9765: (dschuff@chromium.org) Remove explicit -lnacl from linker command
  r14190: (jvoung@google.com) Remove a few locale-related "known failures" from libcxx list.
  r14197: (jvoung@google.com) PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
    | 87dd0f5: (jvoung@chromium.org) Fix a couple of warnings about unused private fields, use TRI, etc.
    | d70ed0a: (jfb@chromium.org) Emit callq instead of call on x86-64
    | ad454c1: (jvoung@chromium.org) Remove localmod for disabling libcall simplifications while compiling implementations of libs.
    | 90b592e: (kschimpf@google.com) Fix PNaCl bitcode when function call argument is has invalid reference.
    | f81627b: (kschimpf@google.com) Fix more error handling code wrt to handling the input bitcode buffer.
    | 8c34579: (dschuff@chromium.org) Modify X86NaClRewritePass ApplyMemorySFI to handle multiple memory operands
    | 19016fe: (jvoung@chromium.org) Cherrypick 217435 and 217942 which conflict with NACL_CG_CALL64r, and adjust localmod.
  r14204: (jvoung@google.com) Switch -split-module-sched back to dynamic for the sandboxed case.
  r14208: (dschuff@chromium.org) toolchain_build: Use 'build_noncanonical' target type for target libraries
  r14209: (dschuff@chromium.org) Revert "toolchain_build: Use 'build_noncanonical' target type for target libraries"
  r14210: (jfb@chromium.org) PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
    | d244be0: (jfb@chromium.org) Emit LOCK prefix after DATA16
    | a974236: (jfb@chromium.org) Remove PNaCl's x86-32 hack for 16-bit atomics
    | f968dbd: (jfb@chromium.org) Cherrypick upstream patch: ScheduleDAG: record PhysReg dependencies represented by CopyFromReg nodes
    | c6ab287: (jfb@chromium.org) Emit LAHF/SAHF instead of PUSHF/POPF

BUG= http://llvm.org/bugs/show_bug.cgi?id=20376
BUG= https://code.google.com/p/chromium/issues/detail?id=440427
BUG= https://code.google.com/p/nativeclient/issues/detail?id=2518
BUG= https://code.google.com/p/nativeclient/issues/detail?id=2981
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3579
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3673
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3868
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3930
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3946
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3999
BUG= https://code.google.com/p/nativeclient/issues/detail?id=4015
R=dschuff@chromium.org, dyen@chromium.org, hamaji@chromium.org, jfb@chromium.org, jvoung@google.com, kschimpf@google.com
TEST= ./scons run_synchronization_sync_test bitcode=1 platform=x86-32

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

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

4 months agotoolchain_build: Use 'build_noncanonical' target type for target libraries
dschuff@chromium.org [Fri, 12 Dec 2014 22:52:29 +0000 (22:52 +0000)]
toolchain_build: Use 'build_noncanonical' target type for target libraries

This CL introdudes a new build target type, 'build_noncanonical'. Previously
we were using 'work' targets for target libraries on non-x86-64-linux bots so
that only one bot would upload them. But since we now us package_version to
extract the fresh packages instead of --install, we are getting stale packages
from DEPS for the noncanonical targets rather than the freshly-built ones.

build_noncanonical targets are memoized but use a different key for the same
build signature to avoid collisions between canonical and non-canonical builds.

However the package_version tools don't have a way to distinguish canonical
packages (i.e. those we want to upload) from non-canonical ones; they only know
how to process all the archives that are present. We can't just leave out the
the non-canonical packages entirely from the json files because they are
extracted by the package_version tool. So we do 2 invocations of
toolchain_build_pnacl: the first builds just the canonical packages. We upload
these, and then we do a second build with everything and extract that locally
for testing.

R=bradnelson@google.com, dyen@chromium.org

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

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

4 months agoAlways emit original sources from scan_sources.
teravest@chromium.org [Fri, 12 Dec 2014 22:16:58 +0000 (22:16 +0000)]
Always emit original sources from scan_sources.

scan_sources.py should always emit the original source files passed as input,
even if it cannot find them. This is necessary to create a proper dependency
arc from the build rule "mojo_nacl" to the generated source "libmojo.cc" from
the "monacl_codegen" build rule..

It's not sufficient to convey this source dependency through ninja depfiles.
This is because the emitted dependency in the mojo_nacl.ninja from "mojo_nacl"
to "monacl_codegen" is order-only and depenencies are scanned before order-only
dependencies are run (https://github.com/martine/ninja/issues/760).

BUG=https://code.google.com/p/chromium/issues/detail?id=440451
TEST=manually modified libmojo.cc.tmpl and rebuilt mojo_nacl.
R=bradnelson@google.com, ncbray@chromium.org

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

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

4 months agoTurn off graphing for pnacl-buildonly-spec.
bradnelson@google.com [Fri, 12 Dec 2014 19:25:29 +0000 (19:25 +0000)]
Turn off graphing for pnacl-buildonly-spec.

The runtest.py script recently started treating graphing requests
without datapoints as an error.
Dropping the buildonly-spec bot from uploading graphs,
as it has none.

BUG=None
TEST=None
TBR=jfb@chromium.org

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

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

4 months agoPNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
jfb@chromium.org [Fri, 12 Dec 2014 15:56:41 +0000 (15:56 +0000)]
PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS

This pulls in the following LLVM changes:

d244be0: (jfb@chromium.org) Emit LOCK prefix after DATA16
a974236: (jfb@chromium.org) Remove PNaCl's x86-32 hack for 16-bit atomics
f968dbd: (jfb@chromium.org) Cherrypick upstream patch: ScheduleDAG: record PhysReg dependencies represented by CopyFromReg nodes
c6ab287: (jfb@chromium.org) Emit LAHF/SAHF instead of PUSHF/POPF

BUG= https://code.google.com/p/nativeclient/issues/detail?id=3673
BUG= https://code.google.com/p/nativeclient/issues/detail?id=2518
BUG= https://code.google.com/p/nativeclient/issues/detail?id=2981
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3579
BUG= https://code.google.com/p/nativeclient/issues/detail?id=4015
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3930
BUG= http://llvm.org/bugs/show_bug.cgi?id=20376
TEST= PNaCl toolchain trybots
R= dschuff@chromium.org

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

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

4 months agoRevert "toolchain_build: Use 'build_noncanonical' target type for target libraries"
dschuff@chromium.org [Thu, 11 Dec 2014 21:57:24 +0000 (21:57 +0000)]
Revert "toolchain_build: Use 'build_noncanonical' target type for target libraries"

This reverts r14208 because it failed to update the once_tests

R=jfb@chromium.org
TBR because rietveld is having issues.

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

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

4 months agotoolchain_build: Use 'build_noncanonical' target type for target libraries
dschuff@chromium.org [Thu, 11 Dec 2014 21:35:13 +0000 (21:35 +0000)]
toolchain_build: Use 'build_noncanonical' target type for target libraries

This CL introdudes a new build target type, 'build_noncanonical'. Previously
we were using 'work' targets for target libraries on non-x86-64-linux bots so that
only one bot would upload them. But since we now us package_version to extract
the fresh packages instead of --install, we are getting stale packages from
DEPS for the noncanonical targets rather than the freshly-built ones.

build_noncanonical targets are memoized but use a different key for the
same build signature to avoid collisions between canonical
and non-canonical builds.

However the package_version tools don't have a way to
distinguish canonical packages (i.e. those we want to
upload) from non-canonical ones; they only know how to process all the archives that are present. We can't just
leave out the the non-canonical packages entirely from the
json files because they are extracted by the package_version tool. So we do 2 invocations of
toolchain_build_pnacl: the first builds just the canonical
packages. We upload these, and then we do a second build
with everything and extract that locally for testing.

R=dyen@chromium.org

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

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

4 months agoUpdate .DEPS.git
chrome-admin@google.com [Thu, 11 Dec 2014 21:12:08 +0000 (21:12 +0000)]
Update .DEPS.git

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

4 months agoenable remaining disabled avx1 ops.
shyamsundarr@chromium.org [Thu, 11 Dec 2014 21:11:52 +0000 (21:11 +0000)]
enable remaining disabled avx1 ops.
This corresponds to adding:

vcmpeqpd | vcmpeqps | vcmpeqss |
vcvtpd2dq | vcvtpd2dqx | vcvtpd2dqy |
vcvtpd2ps | vcvtpd2psx | vcvtpd2psy |
vcvtsi2sd | vcvtsi2ss | vcvtsd2si | vcvtss2si |
vcvttpd2dq | vcvttpd2dqx | vcvttpd2dqy |
vcvttps2dq |
vcvttsd2si | vcvttss2si |
vextractps |
vinsertf128 |
vmovd | vmovq |
vpinsrb | vpinsrd | vpinsrw |
vrsqrtss |
vmaskmovdqu | vpinsrq | vpextrq

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

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

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

4 months agoMark performance tests as broken when running on VMs
jfb@chromium.org [Thu, 11 Dec 2014 21:00:18 +0000 (21:00 +0000)]
Mark performance tests as broken  when running on VMs

Gasper has been sending a flood of emails about performance regressions for the
performance tests. Their performance varies drastically from one run to another,
and this distracts the sheriff from actual performance regressions. Either
gasper or these tests should be fixed, but since the code isn't being modified
it shouldn't matter than its curtosic runtime isn't being measured.

Only mark the tests as broken on VMs, since the HW bots shouldn't have so much
variability.

R=bradnelson@google.com, bradnelson@chromium.org, mseaborn@chromium.org
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3161
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3987
TEST= is_sheriff && email_flood && patience_exceeded

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

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

4 months agoSwitch -split-module-sched back to dynamic for the sandboxed case.
jvoung@google.com [Thu, 11 Dec 2014 19:13:03 +0000 (19:13 +0000)]
Switch -split-module-sched back to dynamic for the sandboxed case.

Leave the non-sandboxed as "static" for deterministic builds,
but switch sandboxed to "dynamic" to keep measuring that on perf bots.

BUG= https://code.google.com/p/chromium/issues/detail?id=440427
R=dschuff@chromium.org, jfb@chromium.org

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

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

4 months agoFix stack alignment of child threads on ARM.
mazda@chromium.org [Thu, 11 Dec 2014 16:16:56 +0000 (16:16 +0000)]
Fix stack alignment of child threads on ARM.

It is intended that a child thread starts with the stack pointer
aligned with 16-byte boundary, but it was misaligned by 4 bytes
on ARM due to pop instruction. This CL fixes it by using ldr
instruction instead.

BUG= https://code.google.com/p/nativeclient/issues/detail?id=4016
TEST=./scons bitcode=1 nonsfi_nacl=1 pnacl_generate_pexe=0 platform=arm \
         run_stack_alignment_asm_test
TEST=./scons bitcode=1 nonsfi_nacl=1 pnacl_generate_pexe=0 platform=arm \
         nonsfi_tests
TEST=./stack_alignment_asm_test.nexe  # On a real ARM machine
TEST=./thread_test.nexe  # On a real ARM machine

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

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

4 months agoNon-SFI mode: Make nacl_helper_nonsfi build depend on libnacl_sys_private.a
mazda@chromium.org [Thu, 11 Dec 2014 16:16:51 +0000 (16:16 +0000)]
Non-SFI mode: Make nacl_helper_nonsfi build depend on libnacl_sys_private.a

Otherwise nacl_helper_nonsfi is not rebuilt when
libnacl_sys_private.a has been changed.

BUG= https://code.google.com/p/chromium/issues/detail?id=358465
TEST=# In Chromium repository
     touch native_client/src/nonsfi/linux/linux_pthread_private.c &&
     ninja -C out/Release nacl_helper_nonsfi

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

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

4 months agoStop closing thread handles owned by the Win32 debugging API.
grt@chromium.org [Thu, 11 Dec 2014 01:37:15 +0000 (01:37 +0000)]
Stop closing thread handles owned by the Win32 debugging API.

BUG= http://code.google.com/p/chromium/issues/detail?id=440502

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

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

4 months agoGN: do not assemble toolchain in output directory.
ncbray@chromium.org [Thu, 11 Dec 2014 01:11:17 +0000 (01:11 +0000)]
GN: do not assemble toolchain in output directory.

Note: this change will cause the GN build on the NaCl waterfall to use
pthreads, etc, from the toolchain directory.  This will be different
than SCons, which builds these artifacts itself.

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

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

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

4 months agoncval_new: on success don't produce any output by default.
sbc@chromium.org [Wed, 10 Dec 2014 23:21:08 +0000 (23:21 +0000)]
ncval_new: on success don't produce any output by default.

All errors now go to stderr and on success we don't output
anything by default.  This is more common among toolchain
binaries such as compilers and is desirable for build most
systems.

The old bevaiour of printing "Valid." on sucess is still
available by adding '-v' (for verbose) to the command line.

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

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

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

4 months agoPNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
jvoung@google.com [Wed, 10 Dec 2014 23:14:06 +0000 (23:14 +0000)]
PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS

This pulls in the following LLVM changes:

87dd0f5: (jvoung@chromium.org) Fix a couple of warnings about unused private fields, use TRI, etc.
d70ed0a: (jfb@chromium.org) Emit callq instead of call on x86-64
ad454c1: (jvoung@chromium.org) Remove localmod for disabling libcall simplifications while compiling implementations of libs.
90b592e: (kschimpf@google.com) Fix PNaCl bitcode when function call argument is has invalid reference.
f81627b: (kschimpf@google.com) Fix more error handling code wrt to handling the input bitcode buffer.
8c34579: (dschuff@chromium.org) Modify X86NaClRewritePass ApplyMemorySFI to handle multiple memory operands
19016fe: (jvoung@chromium.org) Cherrypick 217435 and 217942 which conflict with NACL_CG_CALL64r, and adjust localmod.

BUG= https://code.google.com/p/nativeclient/issues/detail?id=3999
BUG= https://code.google.com/p/nativeclient/issues/detail?id=4006
BUG= https://code.google.com/p/nativeclient/issues/detail?id=4014
BUG= merge to upstream/google/stable
TEST= PNaCl toolchain trybots
R=kschimpf@google.com

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

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

4 months agoRemove cygwin support from buildbot_pnacl_toolchain.py
dschuff@chromium.org [Wed, 10 Dec 2014 22:50:23 +0000 (22:50 +0000)]
Remove cygwin support from buildbot_pnacl_toolchain.py

Remove some custom munging that existed to support the mixing of cygwin and
Windows native python. This change is not intended to remove all cygwin
support from the build infrastructure, just from this file to facilitate
further changes.

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

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

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

4 months agoNon-SFI mode: Override NACL_BUILD_ARCH and _SUBARCH in build_nexe.py.
hidehiko@chromium.org [Wed, 10 Dec 2014 15:16:09 +0000 (15:16 +0000)]
Non-SFI mode: Override NACL_BUILD_ARCH and _SUBARCH in build_nexe.py.

These macros are defined in build/common.gypi. However, they are
for the host build macro. So, in some cases these values are wrong.
Specifically, we build 32-bit binary on x64 arch for example.
This CL overrides the macros in build_nexe.py based on --arch
flag, which is actual target architecture.
This is needed browser_tests on x64 Chrome.

The actual problem this CL fixes happens on nacl_helper_nonsfi built on
x64 arch, since NACL_BUILD_SUBARCH=64 on target_arch=x64.
It comes from native_client/build/common.gypi, which is included by
native_client/src/nonsfi/loader/loader.gypi.
As a result, the NACL_ELF_E_MACHINE in elf_loader.c becomes EM_X86_64 instead
of EM_386 (defined in nacl_config.h), so that loading fails.

The situation seems a bit unfortunate, because we want to build 32-bit binary
even if target_arch=x64. So, "defines" based on "target_arch" does not work
properly for this case. However, if we remove the defines, the host toolchain
will not define them, which causes a problem. Also, "defines" contains some
other macros we need for build_nexe.py and is widely used, so removing it from
untrusted.gypi wouldn't work, neither.
So, in this CL, fix the macro in build_nexe.py, following the code for other
macros (like NACL_WINDOWS, NACL_OSX ... etc) around edited code.

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

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

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

4 months agoRoll GCC toolchains.
ncbray@chromium.org [Wed, 10 Dec 2014 01:35:43 +0000 (01:35 +0000)]
Roll GCC toolchains.

The current "complete" toolchains do not include pthreads, etc, correctly.

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

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

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

4 months agoFixed package_version reusing work dirs between revision packages.
dyen@chromium.org [Wed, 10 Dec 2014 01:16:38 +0000 (01:16 +0000)]
Fixed package_version reusing work dirs between revision packages.

R=ncbray@chromium.org
BUG=None
TEST=Set revision nacl_x86_glibc for 14191 should fail.

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

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

4 months agoUpdate glibc version in tools/REVISIONS (f78e18e->1106743)
sbc@chromium.org [Tue, 9 Dec 2014 20:16:10 +0000 (20:16 +0000)]
Update glibc version in tools/REVISIONS (f78e18e->1106743)

This brings in the following change:
1106743: NaCl: Fix off-by-one in getcwd() syscall emulation.

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

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

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

4 months agoNaCl Core SDK libs for both x86-32/x86-64 x86 newlib/glibc toolchains.
dyen@chromium.org [Tue, 9 Dec 2014 19:22:32 +0000 (19:22 +0000)]
NaCl Core SDK libs for both x86-32/x86-64 x86 newlib/glibc toolchains.

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

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

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

4 months agoRemove a few locale-related "known failures" from libcxx list.
jvoung@google.com [Tue, 9 Dec 2014 17:57:14 +0000 (17:57 +0000)]
Remove a few locale-related "known failures" from libcxx list.

These were added with https://codereview.chromium.org/722393002/

They are actually "UNSUPPORTED" by the bot, which is
considered a "pass" instead of a failure. So the bot had a
few unexpected successes and turned red.

The bot does not seem to support the ru_RU.UTF-8, zh_CN.UTF-8,
and cs_CZ.ISO-8859-2 locales, while my local machine is only
missing cs_CZ.ISO-8859-2, so the results may differ unless
all devs and bots install all locales.

BUG=none -- red bot
R=dschuff@chromium.org

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

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

4 months agoPNaCl: Update Clang revision in pnacl/COMPONENT_REVISIONS
dschuff@chromium.org [Tue, 9 Dec 2014 17:56:13 +0000 (17:56 +0000)]
PNaCl: Update Clang revision in pnacl/COMPONENT_REVISIONS

This pulls in the following Clang change:

79e9765: (dschuff@chromium.org) Remove explicit -lnacl from linker command

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

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

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

4 months agoUpdate revision for PNaCl r14173->r14185
dschuff@chromium.org [Tue, 9 Dec 2014 16:50:09 +0000 (16:50 +0000)]
Update revision for PNaCl r14173->r14185

Pull the following PNaCl changes into NaCl:
  r14178: (dschuff@chromium.org) PNaCl: Update Clang revision in pnacl/COMPONENT_REVISIONS
    | ec2335b: (dschuff@chromium.org) Driver: Claim all -pthread/-pthreads flags when linking
    | e3f4cd2: (dschuff@chromium.org) Add <arch>/usr/lib and <arch>/usr/include to search paths for nacl-clang
  r14179: (kschimpf@google.com) PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
    | 12f5629: (kschimpf@google.com) Fix error reporting in the PNaCl bitcode reader.
  r14183: (dschuff@chromium.org) PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
    | 3bd3dbf: (jvoung@chromium.org) Remove localmod of C-API for linker symbol wrapping. Switched to C++.
    | 9b20c83: (dschuff@chromium.org) Use PushSection and PopSection when initializing NaCl MC streamer
    | a9788d8: (dschuff@chromium.org) Move NaCl MCStreamer initialization to after section init
  r14184: (dschuff@chromium.org) Use an architecture-specific newlib build for nacl-clang
  r14185: (dschuff@chromium.org) Make libc.a a linker script for nacl-clang

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

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

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

4 months agoNon-SFI Mode: Build PIE nonsfi_loader
hamaji@chromium.org [Tue, 9 Dec 2014 06:44:02 +0000 (06:44 +0000)]
Non-SFI Mode: Build PIE nonsfi_loader

Now elftools.py can parse program headers and nativeld.py
replaces PT_INTERP by PT_NULL so we can run non-SFI binaries
linked by gold on Linux using elftools.py.

pnacl-translate uses -pie instead of -static even when --noirt
is set and all non-SFI binaries relocate themselves.

Also update the unittest.

BUG= https://code.google.com/p/nativeclient/issues/detail?id=3868
TEST=PYTHONPATH=pnacl/driver pnacl/driver/tests/native_objects_test.py
TEST=trybots

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

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

4 months agoDon't use pnacl raw toolchain in llvm nightly and libcxx tests.
jvoung@google.com [Mon, 8 Dec 2014 23:14:13 +0000 (23:14 +0000)]
Don't use pnacl raw toolchain in llvm nightly and libcxx tests.

Use the non-raw one, which has libnacl built.

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

4 months agoMake libc.a a linker script for nacl-clang
dschuff@chromium.org [Mon, 8 Dec 2014 18:06:28 +0000 (18:06 +0000)]
Make libc.a a linker script for nacl-clang

This matches the behavior of nacl-gcc and will allow simplifying the driver
code.

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

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

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

4 months agoUse an architecture-specific newlib build for nacl-clang
dschuff@chromium.org [Sat, 6 Dec 2014 00:16:34 +0000 (00:16 +0000)]
Use an architecture-specific newlib build for nacl-clang

Previously we were using the le32 newlib target for nacl-clang because the
LLVM assembler couldn't handle the syntax used in the NaCl assembly files
for e.g. memcpy. Now that we use gas by default we can use the assembly
versions instead of the generic C versions in le32.

Includes a bump of newlib to bring in
b115f61 (dschuff@chromium.org) Do not define rintl, lrintl, or llrintl in libm/common for i386

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

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

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

4 months agoPNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
dschuff@chromium.org [Fri, 5 Dec 2014 23:51:53 +0000 (23:51 +0000)]
PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS

This pulls in the following LLVM changes:

3bd3dbf: (jvoung@chromium.org) Remove localmod of C-API for linker symbol wrapping. Switched to C++.
9b20c83: (dschuff@chromium.org) Use PushSection and PopSection when initializing NaCl MC streamer

and the following clang change:
a9788d8: (dschuff@chromium.org) Move NaCl MCStreamer initialization to after section init

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

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

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

4 months agoUpdate .DEPS.git
chrome-admin@google.com [Fri, 5 Dec 2014 21:56:15 +0000 (21:56 +0000)]
Update .DEPS.git

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

4 months agoenable all nonspecial avx1 instructions.
shyamsundarr@chromium.org [Fri, 5 Dec 2014 21:55:34 +0000 (21:55 +0000)]
enable all nonspecial avx1 instructions.

The remaining instructions have typos in their definitions or produce restricted registers or have special mnemonic handling.

This adds:
      vblendpd | vblendps | vblendvpd | vblendvps |
      vcomisd | vcomiss |
      vcvtdq2pd | vcvtdq2ps | vcvtps2dq | vcvtps2pd |
      vdppd | vdpps |
      vextractf128 | vinsertps |
      vldmxcsr | vstmxcsr |
      vldqqu |
      vmaskmovpd | vmaskmovps |
      vmovmskpd | vmovmskps |
      vmovntdqa | vmovntdq | vmovntpd | vmovntps |
      vmpsadbw |
      vpabsb | vpabsd | vpabsw |
      vpalignr |
      vpblendvb | vpblendw |
      vpcmpestri | vpcmpestrm | vpcmpistri | vpcmpistrm |
      vperm2f128 | vpermilpd | vpermilps |
      vpextrb | vpextrd | vpextrw |
      vphminposuw |
      vpmovmskb |
      vpmovsxbw | vpmovsxbd | vpmovsxbq | vpmovsxdq | vpmovsxwd | vpmovsxwq |
      vpmovzxbw | vpmovzxbd | vpmovzxbq | vpmovzxdq | vpmovzxwd | vpmovzxwq |
      vpshufd | vpshufhw | vpshuflw |
      vpslld | vpslldq | vpsllq | vpsllw |
      vpsrad | vpsraw | vpsrld | vpsrldq | vpsrlq  | vpsrlw |
      vptest |
      vrcpps |
      vroundpd | vroundps |
      vroundsd | vroundss |
      vrsqrtps |
      vshufpd | vshufps |
      vsqrtpd | vsqrtps |
      vtestpd | vtestps |
      vucomisd | vucomis

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

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

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

4 months agoGN: fix layering of library dependencies.
ncbray@chromium.org [Fri, 5 Dec 2014 20:12:34 +0000 (20:12 +0000)]
GN: fix layering of library dependencies.

The GN build did not match scons, and papered over issues by having sel_ldr
directly depend on libraries that should have been transitive dependencies.

A few targets that were unbuildable as either trusted or untrusted were also
gated out for their unbuildable configurations.

This change is needed to embed the NaCl build into other builds that depend
on sel_main_chrome.

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

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

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

4 months agoPNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
kschimpf@google.com [Fri, 5 Dec 2014 19:09:07 +0000 (19:09 +0000)]
PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS

This pulls in the following LLVM change:

12f5629: (kschimpf@google.com) Fix error reporting in the PNaCl bitcode reader.

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

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

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

4 months agoPNaCl: Update Clang revision in pnacl/COMPONENT_REVISIONS
dschuff@chromium.org [Fri, 5 Dec 2014 06:15:05 +0000 (06:15 +0000)]
PNaCl: Update Clang revision in pnacl/COMPONENT_REVISIONS

This pulls in the following Clang changes:

ec2335b: (dschuff@chromium.org) Driver: Claim all -pthread/-pthreads flags when linking
e3f4cd2: (dschuff@chromium.org) Add <arch>/usr/lib and <arch>/usr/include to search paths for nacl-clang

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

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

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

4 months agoDisable the getdents() syscall by default for security hardening
mseaborn@chromium.org [Fri, 5 Dec 2014 04:26:26 +0000 (04:26 +0000)]
Disable the getdents() syscall by default for security hardening

This disables the getdents() syscall unless filesystem access is enabled.

BUG=none
TEST=none

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

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

4 months agoRevert "Nest the pnacl section of untrusted.gypi to the same level."
bradnelson@google.com [Thu, 4 Dec 2014 22:29:02 +0000 (22:29 +0000)]
Revert "Nest the pnacl section of untrusted.gypi to the same level."

This reverts r14152.

Broke MSAN in chrome:
https://codereview.chromium.org/774883002/#msg19

BUG=None
TEST=None
R=kschimpf@google.com, kschimpf@chromium.org

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

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

4 months agoUpdate revision for PNaCl r14165->r14173
jfb@chromium.org [Thu, 4 Dec 2014 21:17:47 +0000 (21:17 +0000)]
Update revision for PNaCl r14165->r14173

Pull the following PNaCl changes into NaCl:
  r14173: (jfb@chromium.org) Use static split module scheduling when using pnacl-translate.py

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

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

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

4 months agocleanup scons test rules for validator proofs a bit.
shyamsundarr@chromium.org [Thu, 4 Dec 2014 19:02:33 +0000 (19:02 +0000)]
cleanup scons test rules for validator proofs a bit.

R=kschimpf@google.com

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

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

4 months agoUse static split module scheduling when using pnacl-translate.py
jfb@chromium.org [Thu, 4 Dec 2014 18:55:38 +0000 (18:55 +0000)]
Use static split module scheduling when using pnacl-translate.py

The chromium builders want to cache build results but the default translator behavior is to use dynamic scheduling for parallel translation, which reorders functions in the final nexe. This makes the build non-deterministic, which is nice to prevent predictable code generation in-browser (admitedly not a big security mitigation), but isn't nice for build caching. Static module scheduling will still use multiple cores to translate but is a tad slower.

R=jvoung@chromium.org, dschuff@chromium.org
BUG= https://code.google.com/p/chromium/issues/detail?id=429358
TEST= cd chromium/src && ninja -C out/Release ppapi_nacl_tests_pnacl_newlib_x64.nexe && mv out out.1 && gclient runhooks && ninja -C out/Release ppapi_nacl_tests_pnacl_newlib_x64.nexe && find ./ -name ppapi_nacl_tests_pnacl_newlib_x64.nexe | xargs -n1 md5sum

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

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

4 months agoUpdate binutils revision in tools/REVISIONS
mcgrathr@chromium.org [Thu, 4 Dec 2014 18:00:54 +0000 (18:00 +0000)]
Update binutils revision in tools/REVISIONS

This brings in:

1d8592c GAS: Handle multiple fixups in bundle for call adjustment
f009fc8 Add .dwarf2_addr_size directive to gas

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

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

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

4 months agoRe-enable exception_tests for nacl_clang on mac
dschuff@chromium.org [Wed, 3 Dec 2014 22:23:20 +0000 (22:23 +0000)]
Re-enable exception_tests for nacl_clang on mac

Build IDs are now being properly generated on non-Linux platforms.

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

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

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

4 months agoRemove __X_LEAST{8,16,32}_TYPE__ hack for appeasing GCC torture tests w/ Clang.
jvoung@google.com [Wed, 3 Dec 2014 21:43:44 +0000 (21:43 +0000)]
Remove __X_LEAST{8,16,32}_TYPE__ hack for appeasing GCC torture tests w/ Clang.

Clang defines those now, thanks to binji.

Reverts part of 13354 and a way earlier change when these were first set up.

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

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

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

4 months agoUpdate revision for PNaCl r14155->r14165
dschuff@chromium.org [Wed, 3 Dec 2014 21:20:36 +0000 (21:20 +0000)]
Update revision for PNaCl r14155->r14165

Pull the following PNaCl changes into NaCl:
  r14156: (dyen@chromium.org) Toolchain testing within the NaCl tree now use the raw variants.
  r14165: (dschuff@chromium.org) PNaCl: Update LLVM/binutils-x86 revision in pnacl/COMPONENT_REVISIONS
    | 6fa379e: (jvoung@chromium.org) Remove a couple random localmods that don't seem relevant anymore.
    | 566eb73: (jvoung@chromium.org) Remove localmod for 16-bit shld/shrd on x86-32.
    | 14fa683: (dschuff@chromium.org) Remove workaround for call+bundle_lock under gas in LowerTlsAddr
    | 1d8592c: (mcgrathr@chromium.org) GAS: Handle multiple fixups in bundle for call adjustment
    | 0a25822: (dschuff@chromium.org) Derive NaCl ToolChain from Generic_ELF instead of Linux

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

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

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

4 months agoFixed PNaCl buildbot test by adding extract argument to command.
dyen@chromium.org [Wed, 3 Dec 2014 20:54:31 +0000 (20:54 +0000)]
Fixed PNaCl buildbot test by adding extract argument to command.

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

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

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