native_client/src/native_client.git
39 hours agoRoll Bionic to take in cleanup of g_nacl_irt_syscalls_ptr master
noelallen@google.com [Fri, 18 Apr 2014 23:53:36 +0000 (23:53 +0000)]
Roll Bionic to take in cleanup of g_nacl_irt_syscalls_ptr

commit 49cc4cd03497d8540034eac1bf79549772d3d086
Author: Noel Allen <noelallen@chromium.org>
Date:   Fri Apr 18 16:40:59 2014 -0700

    Cleanup use of g_nacl_irt_syscalls_ptr

    Place definitions g_nacl_irt_syscalls_data and g_nacl_irt_syscalls_ptr
    so that they only occur in either crtbeginT.o (-static) or in
    begin.c (runnable-ld.so)

    Force dynamically loaded modules ot use only the g_nacl_irt_syscalls_ptr
    provided by runnable-ld.so.

BUG=none
TBR=mcgrathr@chromium.org

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

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

40 hours agoPNaCl: Allow targeting Non-SFI Mode for ARM
mseaborn@chromium.org [Fri, 18 Apr 2014 23:39:31 +0000 (23:39 +0000)]
PNaCl: Allow targeting Non-SFI Mode for ARM

Note that this isn't fully correct yet: It will target soft-float, but
we want hard-float.  See the comment in pnacl-translate.py.

Refactor the arch string parsing: Move some of the string parsing from
pnacl-translate.py into driver_tools.py, so that NONSFI_NACL and
BASE_ARCH are available across more tools.

Change pnacl_irt.c to define __aeabi_read_tp() on ARM.
__aeabi_read_tp() preserves all registers except the result register,
unlike __nacl_read_tp(), so we need an assembly-code wrapper.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3809
TEST=Tested using a nonsfi-loader implementation that I'll add in a later change
R=jvoung@chromium.org

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

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

40 hours agoAdded better logging package_version.py when syncing.
dyen@chromium.org [Fri, 18 Apr 2014 23:24:51 +0000 (23:24 +0000)]
Added better logging package_version.py when syncing.

During the old download_toolchains.py it used to notify the user what
it was downloading and extracting so the user knew what was going on.
In the new package_version.py script, it is hard to know what is going
on especially when extracting multiple tarballs. Now it displays the
current toolchain that it is downloading, as well as the number of
tars it is syncing/extracing.

R=bradnelson@google.com
BUG=

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

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

40 hours agoUse toolchain_build for PNaCl FYI bots instead of build.sh
dschuff@chromium.org [Fri, 18 Apr 2014 23:21:26 +0000 (23:21 +0000)]
Use toolchain_build for PNaCl FYI bots instead of build.sh

Make the bots use the new build of the PNaCl toolchain instead of the old one.
The biggest change is to the libcxx build, where the compiler
passed to CMake to build libcxx is the one used to build the
tests. In the future we can hopefully drive the tests with
toolchain_build rules as well.

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

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

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

40 hours agoPinned pnacl_newlib toolchain and pnacl_translator to revision 13060.
dyen@chromium.org [Fri, 18 Apr 2014 22:57:34 +0000 (22:57 +0000)]
Pinned pnacl_newlib toolchain and pnacl_translator to revision 13060.

R=dschuff@chromium.org
BUG=

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

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

41 hours agoUnsandboxed IRT: Fix some warnings from -Wextra
mseaborn@chromium.org [Fri, 18 Apr 2014 22:40:06 +0000 (22:40 +0000)]
Unsandboxed IRT: Fix some warnings from -Wextra

This fixes some warnings that occur when compiling this file with
Scons' trusted-code compiler options.  (However, I'm not fixing
-Wunused-parameter, because that's an obnoxious warning.)

GCC complains about the ordering "const static", and a signed/unsigned
comparison.

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

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

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

43 hours agoRoll to office bionic build.
noelallen@google.com [Fri, 18 Apr 2014 20:33:58 +0000 (20:33 +0000)]
Roll to office bionic build.

commit 4ecda34b18f73cf28cda57dd777c7b60f5326428
Author: Noel Allen <noelallen@chromium.org>
Date:   Fri Apr 18 10:51:47 2014 -0700

    Cleanup double use of lib_stubs.c

    lib_stubs.c was listed both in the static and dynamic case,
    causing make to overide one or the other.  This cleans up
    the warning message.

    This is also landing with the build change to start
    including the previous log in the build output to verify
    which version we are shipping.

BUG=none
TBR=mcgrathr@chromium.org

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

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

43 hours agoRoll bionic to get libc_stubs.c cleanup.
noelallen@google.com [Fri, 18 Apr 2014 20:00:40 +0000 (20:00 +0000)]
Roll bionic to get libc_stubs.c cleanup.
Add the top message in the git log to the build output to track
which version we are actually using.

TBR=mcgrapthr@chromium.org
BUG=none

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

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

44 hours agoFix DEPS typo.
bradnelson@google.com [Fri, 18 Apr 2014 19:19:17 +0000 (19:19 +0000)]
Fix DEPS typo.

BUG=None
TEST=1 trybot
R=dyen@chromium.org

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

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

45 hours agoSwitching DEPS to use googlecode_url variable.
bradnelson@google.com [Fri, 18 Apr 2014 18:07:44 +0000 (18:07 +0000)]
Switching DEPS to use googlecode_url variable.

For consistency and to insulate us from golo specific issues,
use the googlecode_url variable in the DEPS, allowing the golo to override
how we fetch from googlecode.

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

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

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

46 hours agoMade sure buildbot_pnacl.sh uses native python to escape cygwin on win32.
dyen@chromium.org [Fri, 18 Apr 2014 16:57:54 +0000 (16:57 +0000)]
Made sure buildbot_pnacl.sh uses native python to escape cygwin on win32.

BUG=
R=bradnelson@google.com

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

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

47 hours agoGenerate biased bitcode using the same triple everywhere
dschuff@chromium.org [Fri, 18 Apr 2014 16:49:10 +0000 (16:49 +0000)]
Generate biased bitcode using the same triple everywhere

Some scripts are using bitcode targets with "unknown" as the second item
of the target triple, and some are using just a 2-element triple
(e.g. x86_64-unknown-nacl vs x86_64-nacl). This doesn't affect the code
generation because nothing uses the second item, but the bitcode linker
emits a warning if they don't match exactly. So use a 3-tuple everywhere.

R=jvoung@chromium.org
BUG=None

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

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

2 days agoMove back to build_pnacl.sh version of the PNaCl toolchain to distribute.
dyen@chromium.org [Fri, 18 Apr 2014 06:50:29 +0000 (06:50 +0000)]
Move back to build_pnacl.sh version of the PNaCl toolchain to distribute.

The build.sh version of the toolchain may have some issues on windows with pathing. Temporarily revert back to the using the original pnacl toolchain tar uploaded by build_pnacl.sh instead of the multiple tar files from toolchain_build.

BUG=
R=dschuff@chromium.org

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

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

2 days agoRoll bionic
noelallen@google.com [Thu, 17 Apr 2014 22:57:42 +0000 (22:57 +0000)]
Roll bionic

commit ec1a1cf8fac60ccd179efb19f67b528503bea572
Author: Noel Allen <noelallen@chromium.org>
Date:   Thu Apr 17 15:25:57 2014 -0700

    Fix dynamic link issues, add wait
Adds the main nexe to the symbol search and place missing place holder functions such as 'wait'.

TBR=mcgrathr@chromium.org
BUG=none

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

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

2 days agoPNaCl: Only define __nacl_read_tp() on architectures that need it
mseaborn@chromium.org [Thu, 17 Apr 2014 22:26:18 +0000 (22:26 +0000)]
PNaCl: Only define __nacl_read_tp() on architectures that need it

This reduces code size a little, and helps ensure that we're using
fast paths for reading the thread pointer and not falling back to
__nacl_read_tp() accidentally.

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

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

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

2 days agoPNaCl: Test support for GCC/LLVM vector extensions
jfb@chromium.org [Thu, 17 Apr 2014 19:38:22 +0000 (19:38 +0000)]
PNaCl: Test support for GCC/LLVM vector extensions

This test is a companion to:
  https://codereview.chromium.org/221693002/

It tests that the expected GCC/LLVM vector extensions work, that
operators are supported as expected, and that the expected types get
properly translated. The test isn't thorough in that it doesn't test all
corner cases and undefined behavior, this will be left up to other tests
in the same directory.

BUG= https://code.google.com/p/nativeclient/issues/detail?id=2205
TEST= ./scons run_vector_extension_test -j32 bitcode=1
R=nfullagar@chromium.org

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

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

2 days agoRemove "PackageCheck" from pnacl/scripts (the check for texinfo, etc.).
jvoung@google.com [Thu, 17 Apr 2014 16:41:18 +0000 (16:41 +0000)]
Remove "PackageCheck" from pnacl/scripts (the check for texinfo, etc.).

Then we don't need to maintain this list and let the host
tool's build system warn us / give us the error directly if
a tool is missing.

Sometimes that warning is spurious. E.g., spec scripts pull
in build.sh and that always runs the package check.

One worry is if the build proceeds and silently does the
wrong thing. However, at least binutils will error out
if you don't actually have texinfo:

WARNING: `makeinfo' is missing on your system.  You should only need it if
         you modified a `.texi' or `.texinfo' file, or any other file
         indirectly affecting the aspect of the manual.  The spurious
         call might also be the consequence of using a buggy `make' (AIX,
         DU, IRIX).  You might want to install the `Texinfo' package or
         the `GNU make' package.  Grab either from any GNU archive site.
make[3]: *** [bfd.info] Error 1

BUG=none
R=dschuff@chromium.org

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

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

3 days agoTest validation cache/mmap main nexe w/ mock cache info and fix bug.
jvoung@google.com [Thu, 17 Apr 2014 15:43:37 +0000 (15:43 +0000)]
Test validation cache/mmap main nexe w/ mock cache info and fix bug.

Increase refcount of nexe to account for copy made from passing desc
reference by value into NaClAppLoadModule. This helps balance the
ref counts when using the mmap code path which will swap the
descs and do an unref to account for the swap. Otherwise we unref the
main nexe twice with only the single count: unref once from the swap
against the copy in NaClAppLoadModule and once for the original copy
kept by the caller of NaClAppLoadModule.

Also, set nap->main_nexe_desc *after*
NaClReplaceDescIfValidationCacheAssertsMappable has had a chance to
swap the main nexe desc w/ a more trusted one from the browser.

This doesn't affect anyone *for now* because mmap'ing the main nexe
isn't hooked up in chrome. However, when I tried to hook it up I ran into
this double unref.

Use sel_main_chrome_test to test via a mock validation cache
instead of using fault injection. Fault inject skips the actual
swap so it doesn't expose the double-unref bug, while the mock
cache does.

Also removes a dependency of desc_cacheability on fault injection.

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

R=bradnelson@google.com, ncbray@chromium.org
TBR=ncbray@google.com
(lg'ed from @chromium.org instead)

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

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

3 days agoUpdate pnacl_newlib.json for PNaCl r13013->r13042
jfb@chromium.org [Thu, 17 Apr 2014 04:09:07 +0000 (04:09 +0000)]
Update pnacl_newlib.json for PNaCl r13013->r13042

Note: this replaces TOOL_REVISIONS updates, the update was generated with:
  ./build/package_version/package_version.py setrevision --revision-package pnacl_newlib --revision 13044

Pull the following PNaCl changes into NaCl:
  r13020: (noelallen@google.com) Roll bionic
  r13026: (dyen@chromium.org) Toolchain bionic build can now output output package files.
  r13027: (dyen@chromium.org) Fixed typo in toolchain bionic build.
  r13028: (jvoung@google.com) Remove nosys references from spec2k harness.
  r13029: (dyen@chromium.org) Fixed a typo in toolchain build bionic.
  r13031: (dschuff@chromium.org) PNaCl: Update libc++ revision in pnacl/COMPONENT_REVISIONS
    | af0cb78: (dschuff@chromium.org) libcxx: Reduce scope of LOCALMOD to use custom cmake-ix only for pnacl
  r13033: (dyen@chromium.org) Updated deps file so it uses package_version to synchronize toolchains.
  r13039: (jvoung@google.com) PNaCl: Update LLVM and binutils revision in pnacl/COMPONENT_REVISIONS
    | e9fb656: (jvoung@chromium.org) Remove LLVM's StreamInit/StreamInitWithOverrides. No longer used.
    | 7a0788b: (jvoung@chromium.org) Remove gold's RPCs Run/RunWithDefaultCommandlines. No longer used.
  r13040: (dschuff@chromium.org) pnacl/build.sh: Don't print git revisions before git checkout
  r13041: (dschuff@chromium.org) once.py: Cache hashes of file paths within a run
  r13042: (kschimpf@google.com) PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
    | 51a7e51: (kschimpf@google.com) Add a text formatter to NaClObjDumpStream to handle long lines.
    | f3aa696: (kschimpf@google.com) Clean up handling of the previous token in NaCl Objdump.

BUG= https://code.google.com/p/nativeclient/issues/detail?id=3814
R= noelallen@google.com, bradnelson@google.com, jvoung@chromium.org, kschimpf@google.com, stichnot@chromium.org, dschuff@chromium.org, jvoung@google.com, mcgrathr@chromium.org, noelallen@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/237963021

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

3 days agoAdded getrevision command to package_version.py.
dyen@chromium.org [Thu, 17 Apr 2014 01:20:12 +0000 (01:20 +0000)]
Added getrevision command to package_version.py.

R=dschuff@chromium.org
BUG=

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

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

3 days agoMake package_version.py executable
jfb@chromium.org [Wed, 16 Apr 2014 23:52:50 +0000 (23:52 +0000)]
Make package_version.py executable

R=dyen@chromium.org
BUG= none

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

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

3 days agoTLS: Reduce the cost of getting the thread pointer by one jump on x86-64
mseaborn@chromium.org [Wed, 16 Apr 2014 21:30:58 +0000 (21:30 +0000)]
TLS: Reduce the cost of getting the thread pointer by one jump on x86-64

BUG=none
TEST=run_hello_world_test_irt on x86-64
R=mcgrathr@chromium.org

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

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

3 days agoFixed an issue with package_version setting a custom toolchain package.
dyen@chromium.org [Wed, 16 Apr 2014 20:23:21 +0000 (20:23 +0000)]
Fixed an issue with package_version setting a custom toolchain package.

This fixes package_version so you can pin specific revisions for
arbitrary toolchains even if they are not part of the standard list
of toolchains. This CL also pins the nacl_arm_bionic toolchain to
revision 13040.

R=noelallen@chromium.org
BUG=

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

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

3 days agoShortened gyp toolchain path to avoid windows path limit.
dyen@chromium.org [Wed, 16 Apr 2014 20:23:06 +0000 (20:23 +0000)]
Shortened gyp toolchain path to avoid windows path limit.

BUG=
R=bradnelson@google.com

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

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

3 days agoPNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
kschimpf@google.com [Wed, 16 Apr 2014 20:04:49 +0000 (20:04 +0000)]
PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS

This pulls in the following LLVM changes:

51a7e51: (kschimpf@google.com) Add a text formatter to NaClObjDumpStream to handle long lines.
f3aa696: (kschimpf@google.com) Clean up handling of the previous token in NaCl Objdump.

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

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

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

3 days agoonce.py: Cache hashes of file paths within a run
dschuff@chromium.org [Wed, 16 Apr 2014 18:09:48 +0000 (18:09 +0000)]
once.py: Cache hashes of file paths within a run

toolchain_build cause the same path to be hashed many times (once per
target that depends on that path). Caching the hashes of paths speeds
up a null (i.e. already-cached) pnacl build from 1:42 to 20s

R=bradnelson@google.com

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

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

3 days agopnacl/build.sh: Don't print git revisions before git checkout
dschuff@chromium.org [Wed, 16 Apr 2014 16:40:57 +0000 (16:40 +0000)]
pnacl/build.sh: Don't print git revisions before git checkout

show-config() currently dumps all the git reivions, but if the sources
all get deleted between bot runs, this step fails because it gets run
before source checkout. Just don't print it in that stage, it's not
really necessary

R=stichnot@chromium.org
BUG=Red pnacl FYI bots

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

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

3 days agoPNaCl: Update LLVM and binutils revision in pnacl/COMPONENT_REVISIONS
jvoung@google.com [Wed, 16 Apr 2014 16:37:07 +0000 (16:37 +0000)]
PNaCl: Update LLVM and binutils revision in pnacl/COMPONENT_REVISIONS

This pulls in the following LLVM change:

e9fb656: (jvoung@chromium.org) Remove LLVM's StreamInit/StreamInitWithOverrides. No longer used.

This pulls in the following Binutils change:

7a0788b: (jvoung@chromium.org) Remove gold's RPCs Run/RunWithDefaultCommandlines. No longer used.

BUG=none
TEST= PNaCl toolchain trybots
TBR=dschuff@chromium.org

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

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

3 days ago[MIPS] Fix build failures with bitcode=1
petarj@mips.com [Wed, 16 Apr 2014 15:53:34 +0000 (15:53 +0000)]
[MIPS] Fix build failures with bitcode=1

Similar to ARM, disable the tests if bit 'pnacl_generate_pexe' is set.

The commands to reproduce the failures:

./scons bitcode=1 platform=mips32 run_infoleak_test
./scons bitcode=1 platform=mips32 run_data_below_data_start_test

NOTRY=true
However, I have run a try job manually, and it passed fine, but CQ has
some issues, and this is a workaround for it.

BUG= the tests data_below_data_start and infoleak fail to build
TEST= run the command lines above

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

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

4 days agoEmpty toolchain directory no longer causes a failure when running hooks.
dyen@chromium.org [Wed, 16 Apr 2014 00:58:17 +0000 (00:58 +0000)]
Empty toolchain directory no longer causes a failure when running hooks.

Temporary clean up function in package_version no longer fails when
there is no toolchain directory. This was causing an issue when gclient
runhooks was being run.

R=bradnelson@google.com

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

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

4 days agoConvert (handle, path) MakeTempFile to (path) MakeEmptyFile
noelallen@google.com [Wed, 16 Apr 2014 00:52:31 +0000 (00:52 +0000)]
Convert (handle, path) MakeTempFile to (path) MakeEmptyFile
Convert exception SCons.Errors.UserError to Exception.

The only exception we try to catch is
../src/shared/platform/build.scons:236:try:
../src/shared/platform/build.scons-237-  os.makedirs(d)  # if scons-out is missing, MakeTempDir would fail
../src/shared/platform/build.scons-238-except:
../src/shared/platform/build.scons-239-  pass  # but the directory may already exist.

So we convert all exceptions which are not already Exception or AssertionError to Exception for consistency and to make transitioning to GN easier (so we don't need to import SCons.Errors).

Remove OS handle which is always closed immediately on return.
Instead we create an empty file, usually to diff against.
We clean this up to make it easier to migrate to GN.

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

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

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

4 days agoAdd libdbus-glib and libexif to ARM sysroot image builder.
sbc@chromium.org [Tue, 15 Apr 2014 16:46:13 +0000 (16:46 +0000)]
Add libdbus-glib and libexif to ARM sysroot image builder.

These were recently added to chrome's build deps.

A few Ubuntu security updates got rolled in as well.

R=bradnelson@google.com

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

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

5 days agoUpdate .DEPS.git
chrome-admin@google.com [Mon, 14 Apr 2014 23:17:17 +0000 (23:17 +0000)]
Update .DEPS.git

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

5 days agoUpdated deps file so it uses package_version to synchronize toolchains.
dyen@chromium.org [Mon, 14 Apr 2014 23:16:55 +0000 (23:16 +0000)]
Updated deps file so it uses package_version to synchronize toolchains.

Now that the new package version script is ready to synchronize our
toolchains, we can replace download_toolchains.py in the deps file.
I have also updated the TOOL_REVISIONS to the same revisions as in
the toolchain revision files so that the chromium side can still use
the old method but retrieve the same tar files. Once chromium side
gets all the changes, I can proceed to change the chromium side deps
file and transition completely away from download_toolchains.py.

R=bradnelson@google.com, dschuff@chromium.org, jvoung@chromium.org
TEST= trybots

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

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

5 days agoFilter out -fsanitize=memory when building nacl_bootstrap.
earthdok@chromium.org [Mon, 14 Apr 2014 17:13:05 +0000 (17:13 +0000)]
Filter out -fsanitize=memory when building nacl_bootstrap.

Instrumenting this target with MSan causes linker errors about unresolved
symbols. This change mirrors an earlier change done for ASan.

BUG=362159
TBR=mseaborn@chromium.org
NOTRY=true

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

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

8 days agoPNaCl: Update libc++ revision in pnacl/COMPONENT_REVISIONS
dschuff@chromium.org [Fri, 11 Apr 2014 19:58:22 +0000 (19:58 +0000)]
PNaCl: Update libc++ revision in pnacl/COMPONENT_REVISIONS

This pulls in the following libc++ change:

af0cb78: (dschuff@chromium.org) libcxx: Reduce scope of LOCALMOD to use custom cmake-ix only for pnacl

R=jvoung@chromium.org
BUG=none
TEST= PNaCl toolchain trybots

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

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

8 days agoMake Android sel_ldr build under Darwin
sehr@chromium.org [Fri, 11 Apr 2014 16:24:37 +0000 (16:24 +0000)]
Make Android sel_ldr build under Darwin

Make the paths for NDK compiler and tools be correct when building from Darwin.
Also, use the NDK ar and ranlib.

BUG=none
R=bradnelson@google.com

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

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

9 days agoFixed a typo in toolchain build bionic.
dyen@chromium.org [Thu, 10 Apr 2014 22:43:45 +0000 (22:43 +0000)]
Fixed a typo in toolchain build bionic.

There was another typo in the toolchain build bionic script, hashval was
improperly referenced.

R=noelallen@chromium.org

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

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

9 days agoRemove nosys references from spec2k harness.
jvoung@google.com [Thu, 10 Apr 2014 21:10:25 +0000 (21:10 +0000)]
Remove nosys references from spec2k harness.

libnosys.a is now an empty archive, so there's no point
linking against it. Also remove PNACL_LIBMODE variable that
decides use of nosys or not (avoid using it for glibc).

BUG=none (clean up spec harness a bit)
R=sbc@chromium.org

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

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

9 days agoFixed typo in toolchain bionic build.
dyen@chromium.org [Thu, 10 Apr 2014 21:03:24 +0000 (21:03 +0000)]
Fixed typo in toolchain bionic build.

R=noelallen@google.com, noelallen@chromium.org

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

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

9 days agoToolchain bionic build can now output output package files.
dyen@chromium.org [Thu, 10 Apr 2014 20:51:42 +0000 (20:51 +0000)]
Toolchain bionic build can now output output package files.

Toolchain bionic build has been modified to use our gsd_storage python
library to upload files to the GSD storage, and also has been modified
to output package information files for what has been uploaded for the
new toolchain scripts to use.

TEST= trybots
R=noelallen@chromium.org

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

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

9 days agoModified gyp toolchain directories so they match the standardized format.
dyen@chromium.org [Thu, 10 Apr 2014 20:51:16 +0000 (20:51 +0000)]
Modified gyp toolchain directories so they match the standardized format.

R=bradnelson@google.com, dschuff@chromium.org, binji@chromium.org, noelallen@chromium.org
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3816

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

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

9 days agoRemove unused NACL_NAME_SERVICE_LIST interface.
teravest@chromium.org [Thu, 10 Apr 2014 20:18:03 +0000 (20:18 +0000)]
Remove unused NACL_NAME_SERVICE_LIST interface.

There are no non-testing uses of NACL_NAME_SERVICE_LIST. This change removes
that interface and its supporting code, including
ReverseService::EnumerateManifestKeys. This reduces the amount of work a NaCl
embedder must perform.

BUG=none
R=bsy@google.com, ncbray@chromium.org

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

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

10 days agoFix stat.st_mode bits reported by win32 sel_ldr
sbc@chromium.org [Thu, 10 Apr 2014 03:25:51 +0000 (03:25 +0000)]
Fix stat.st_mode bits reported by win32 sel_ldr

The only code was inspecting the destination buffer
(which is all zeros) rather than the source one which
is the stat buffer from windows.

TEST=run_syscall_test
R=bradnelson@google.com

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

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

10 days agoUpdate WINVER to 0x602 in NaCl
dschuff@chromium.org [Wed, 9 Apr 2014 22:50:11 +0000 (22:50 +0000)]
Update WINVER to 0x602 in NaCl

This makes it match the value set in r145112 by cpu@ when porting to
the Windows 8 SDK.

Clang complains about a macro redefinition, while MSVC allows
conflicting macro definitions on the command line.

BUG= https://code.google.com/p/chromium/issues/detail?id=82385
R=rnk@chromium.org

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

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

10 days agoAdded pinned toolchain revision files using the new revision pin scheme.
dyen@chromium.org [Wed, 9 Apr 2014 22:19:25 +0000 (22:19 +0000)]
Added pinned toolchain revision files using the new revision pin scheme.

The pinned revision files have been set for the following revision:
1. nacl_x86_glibc has been set to revision 13014.
2. nacl_x86_newlib has been set to revision 13014.
3. arm_untrusted package info was manually uploaded to be the same as
   before, the revision number is 12292.
4. pnacl_translator has been set to revision 13018.

R=dschuff@chromium.org

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

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

10 days agoRoll bionic
noelallen@google.com [Wed, 9 Apr 2014 21:25:23 +0000 (21:25 +0000)]
Roll bionic

commit dfb812021017bceb2593657669dcdc6a902a0b2e
Author: Noel Allen <noelallen@chromium.org>
Date:   Wed Apr 9 14:12:55 2014 -0700

    Add setjmp, longjmp, sincos

BUG=none
TBR=mcgrathr@chromium.org

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

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

10 days agoAdded temporary code to clean out old toolchain directories.
dyen@chromium.org [Wed, 9 Apr 2014 20:38:13 +0000 (20:38 +0000)]
Added temporary code to clean out old toolchain directories.

Now that we have modified everything to use the new standardized
toolchain directories, we should clean up the old directories. This will
clean up machines so they don't have stale toolchain directories, and
will also enable us to catch errors that still use the old toolchain
directories.

R=bradnelson@google.com, dschuff@chromium.org, jvoung@chromium.org, mcgrathr@chromium.org
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3816
TEST= trybots

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

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

10 days agoUploads PNaCl translator package info during the PNaCl build.
dyen@chromium.org [Wed, 9 Apr 2014 20:25:18 +0000 (20:25 +0000)]
Uploads PNaCl translator package info during the PNaCl build.

R=bradnelson@google.com, dschuff@chromium.org, jvoung@chromium.org
TEST= trybots

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

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

10 days agoAdd package_version.py json file for pinned PNaCl version
dschuff@chromium.org [Wed, 9 Apr 2014 20:24:41 +0000 (20:24 +0000)]
Add package_version.py json file for pinned PNaCl version

It starts at 13013, the first revision that had a correct build.

R=dyen@chromium.org
BUG=none

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

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

10 days agoFixed an issue with pnacl buildbot using the old toolchain path.
dyen@chromium.org [Wed, 9 Apr 2014 16:08:57 +0000 (16:08 +0000)]
Fixed an issue with pnacl buildbot using the old toolchain path.

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

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

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

10 days agoFixed some issues with package version script.
dyen@chromium.org [Wed, 9 Apr 2014 16:07:22 +0000 (16:07 +0000)]
Fixed some issues with package version script.

Some arguments in package_version.py were not implemented
such as "--append" and "--exclude". The packages json
file also was missing "arm_trusted" from the linux
list of packages.

R=dschuff@chromium.org, bradnelson@google.com, jvoung@chromium.org
TEST= trybots

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

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

11 days agoRemove unnecessary nameservice test.
teravest@chromium.org [Wed, 9 Apr 2014 14:27:41 +0000 (14:27 +0000)]
Remove unnecessary nameservice test.

Remove a test usage of NACL_NAME_SERVICE_LIST, which isn't used by anything
besides tests, as far as I can tell.

This is part of a larger series of changes to remove NACL_NAME_SERVICE_LIST entirely, to reduce the number of things an embedder must implement.

BUG=none
R=bsy@chromium.org

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

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

11 days agoAdd basic sanity check for host binaries and gold plugin
dschuff@chromium.org [Wed, 9 Apr 2014 00:43:00 +0000 (00:43 +0000)]
Add basic sanity check for host binaries and gold plugin

This tests the basic host binaries (these are covered by the llvm
regression tests and binutils test suite, but we aren't running all of
those on all the toolchain bots right now), and the gold plugin
(which doesn't have any simple targeted tests). In particular it can
operate with only the host binaries built, and no target libraries, so
it's suitable for running on the mac and windows toolchain bots,
where we don't currently build the target libraries.

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

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

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

11 days agoFix fake cross target name for libstdc++ bitcode builds in toolchain_build
dschuff@chromium.org [Wed, 9 Apr 2014 00:40:59 +0000 (00:40 +0000)]
Fix fake cross target name for libstdc++ bitcode builds in toolchain_build

This was changed in r12810 which ARM biased bitcode builds, but it doesn't
actually have anything to do with bitcode bias, it only affects where the
libstdc++ puts its include files. This change makes the toolchain_build
build match build.sh, and match where the driver expects to find the
headers.

R=jvoung@chromium.org
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3719
TEST= eh_uncaught_exception_sjlj_libstdc++ and othter libstdc++ tests
      using the toolchain_build toolchain

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

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

11 days agoRoll GN
noelallen@google.com [Tue, 8 Apr 2014 23:15:25 +0000 (23:15 +0000)]
Roll GN

TBR=bradnelson@google.com
BUG=none

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

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

11 days agoCleaned up buildbot toolchain scripts and annotations.
dyen@chromium.org [Tue, 8 Apr 2014 21:06:18 +0000 (21:06 +0000)]
Cleaned up buildbot toolchain scripts and annotations.

TEST= trybots
R=dschuff@chromium.org

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

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

11 days agoFixed a bad merge which caused order issues in buildbot annotations.
dyen@chromium.org [Tue, 8 Apr 2014 18:41:08 +0000 (18:41 +0000)]
Fixed a bad merge which caused order issues in buildbot annotations.

R=dschuff@chromium.org
TEST= trybots

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

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

11 days agoFix name of PNaCl binutils json file and don't build redundantly
dschuff@chromium.org [Tue, 8 Apr 2014 16:25:40 +0000 (16:25 +0000)]
Fix name of PNaCl binutils json file and don't build redundantly

This fixes PNaCl's json metadata and avoids racy uploads for now.

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

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

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

11 days agoFixed URLs for package archives uploaded by glibc and newlib NaCl bots.
dyen@chromium.org [Tue, 8 Apr 2014 16:24:38 +0000 (16:24 +0000)]
Fixed URLs for package archives uploaded by glibc and newlib NaCl bots.

The URLs from which archives can be downloaded from should be pointing
to https://storage.googleapis.com instead of http://gsdview.appspot.com.
The package version script which downloads archives has also been
updated to give slightly better error messages when a download fails.

R=bradnelson@google.com
TEST= trybots

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

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

12 days agoAdd package target descriptions for PNaCl toolchain_build
dschuff@chromium.org [Tue, 8 Apr 2014 00:07:33 +0000 (00:07 +0000)]
Add package target descriptions for PNaCl toolchain_build

Defines all package targets that will be included in linux, mac and win PNaCl toolchains, so that json files will be uploaded for them.

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

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

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

12 days agoAdded better buildbot annotations in buildbot package uploading.
dyen@chromium.org [Mon, 7 Apr 2014 23:17:51 +0000 (23:17 +0000)]
Added better buildbot annotations in buildbot package uploading.

R=dschuff@chromium.org, bradnelson@google.com, jvoung@chromium.org
TEST= trybots

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

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

12 days agoUnsandboxed IRT: Add support for Mac OS X
mseaborn@chromium.org [Mon, 7 Apr 2014 22:27:22 +0000 (22:27 +0000)]
Unsandboxed IRT: Add support for Mac OS X

Extend the PNaCl toolchain to be able to translate a pexe to an OS X
executable.

This doesn't include threading support: I'll add that in a separate
change, since it involves adding a futex implementation.

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

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

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

12 days agoSeparate android trusted environment from build environment
sehr@google.com [Mon, 7 Apr 2014 20:38:19 +0000 (20:38 +0000)]
Separate android trusted environment from build environment

The android build changes TRUSTED_ENV to use the NDK toolchain to produce,
for example, sel_ldr.  These changes were previously applied to BUILD_ENV also,
which caused tls_edit to fail to build.  This change separates the two and
applies the android changes only to TRUSTED_ENV.

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

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

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

12 days agoPNaCl: Remove comment about RequiresNonStandardLDCommandline, which was removed
mseaborn@chromium.org [Mon, 7 Apr 2014 19:01:01 +0000 (19:01 +0000)]
PNaCl: Remove comment about RequiresNonStandardLDCommandline, which was removed

USE_DEFAULT_COMMAND_LINE was removed in r12884, but the comment about
it was missed.

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

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

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

12 days agoFix definition of PNACL_TOOLCHAIN_DIR in FYI buildbot script
dschuff@chromium.org [Mon, 7 Apr 2014 18:32:28 +0000 (18:32 +0000)]
Fix definition of PNACL_TOOLCHAIN_DIR in FYI buildbot script

Apparently it is picked up from the environment by the llvm testsuite and
torture test runners.

R=jvoung@chromium.org
BUG=red (a little less red) FYI bot

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

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

12 days ago[MIPS] Make 'mips32' suffix for all test nexes
petarj@mips.com [Mon, 7 Apr 2014 16:57:43 +0000 (16:57 +0000)]
[MIPS] Make 'mips32' suffix for all test nexes

Fix inconsistency between suffixes for MIPS test nexes.
Now all test nexes for MIPS32 match *_mips32.nexe.

NOTRY=true
However, I have run a try job manually, and it passed fine, but CQ has
some issues, and this is a workaround for it.

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

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

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

2 weeks agoUnsandboxed IRT: Make unsandboxed_irt.c compilable on Android (Bionic)
mseaborn@chromium.org [Fri, 4 Apr 2014 22:30:48 +0000 (22:30 +0000)]
Unsandboxed IRT: Make unsandboxed_irt.c compilable on Android (Bionic)

Use __NR_futex rather than SYS_futex.  The Linux kernel headers define
__NR_futex.  SYS_futex seems to be a glibcism -- it comes from
bits/syscall.h, which says "Generated at libc build time from kernel
syscall list".  Most Linux code uses the "__NR_*" names.

There seems to be no standard naming for stat's nanosecond-precision
fields.  "st_[amc]timensec" are always defined on Android (and are
conditionally defined in glibc and Mac OS X, albeit unusably), so use
that.

Tested in android-ndk-r9d with:

./toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc \
    .../unsandboxed_irt.c --sysroot=platforms/android-8/arch-arm \
    -c -I... -DNACL_LINUX

I'll do the plumbing for making this work with pnacl-translate in a
separate change.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3699
TEST=As above + tests run on PNaCl toolchain trybot
R=bradnelson@google.com

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

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

2 weeks agoCleanup: Remove unused sysconf, _SC_SENDMSG_MAX_SIZE
mseaborn@chromium.org [Fri, 4 Apr 2014 22:28:04 +0000 (22:28 +0000)]
Cleanup: Remove unused sysconf, _SC_SENDMSG_MAX_SIZE

Since imc_sendmsg() isn't part of NaCl's stable ABI, this sysconf
value isn't either, and since it's also unused, we can remove it.

BUG=none
TEST=build
R=mcgrathr@chromium.org

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

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

2 weeks agoARM: Avoid leaking an address of trusted code to untrusted code
mseaborn@chromium.org [Fri, 4 Apr 2014 21:10:06 +0000 (21:10 +0000)]
ARM: Avoid leaking an address of trusted code to untrusted code

Before this change, the address of NaClSyscallSeg (trusted code) is
visible in the trampoline code.  This defeats address randomisation of
trusted code.

We address this by putting the address of NaClSyscallSeg into
NaClThreadContext and by fetching this address via r9.

The simplifies the trampoline setup code, because the trampoline code
no longer requires any patching: each trampoline is the same.

BUG=http://code.google.com/p/nativeclient/issues/detail?id=3043
TEST=run_hello_world_test run_nacl_thread_capture_test
R=mcgrathr@chromium.org

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

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

2 weeks agoRemove PNaCl FYI bot's archived translator pexe test
dschuff@chromium.org [Fri, 4 Apr 2014 21:07:31 +0000 (21:07 +0000)]
Remove PNaCl FYI bot's archived translator pexe test

This test has not passed in a long time, has been neglected, and
does not offer significant additional coverage compared to the
archived frontend test.
Additionally, the bitcode stability story has changed significantly
(e.g. we have forked the bitcode reader/writer) compared to when
it was created, so it has become less valuable.

R=jvoung@chromium.org
BUG=red bots
TEST=local

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

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

2 weeks agoUpdate PNaCl FYI bot's archived frontend test to use new toolchain paths
dschuff@chromium.org [Fri, 4 Apr 2014 21:02:11 +0000 (21:02 +0000)]
Update PNaCl FYI bot's archived frontend test to use new toolchain paths

This test is currently failing in a way that keeps the bot from running
further tests. So update the paths and update the archived revision
past the recent addition of toolchain features.

R=jvoung@chromium.org
BUG=red FYI bot
TEST=local run (no FYI trybots)

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

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

2 weeks agoFixed up package version scripts to sync and set revisions.
dyen@chromium.org [Fri, 4 Apr 2014 20:24:56 +0000 (20:24 +0000)]
Fixed up package version scripts to sync and set revisions.

Now that we have toolchain build uploading packages properly, the
package_version commands sync and setrevision have been fixed to work
with the uploaded packages. I have also added a sample revision file
for nacl_arm_newlib for SVN revision 12986.

TEST= trybots
R=bradnelson@google.com

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

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

2 weeks agoFixed gsutil configuration for windows toolchain buildbots.
dyen@chromium.org [Fri, 4 Apr 2014 20:19:38 +0000 (20:19 +0000)]
Fixed gsutil configuration for windows toolchain buildbots.

The .boto file could not be found on windows buildbot builds because
the home directory would change depending on the environment the
shell script would be in (either CygWin or MinGW). buildbot_selector
now sets the absolute patch of the boto configuration file before
anything gets run to avoid this issue. Another similar issue exists
with windows not being able to interpret gsutil, we know explicitly
call python on the gsutil script.

R=bradnelson@google.com

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

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

2 weeks agoOnly provide chrome the option of learning the debug stub port on windows.
bradnelson@google.com [Fri, 4 Apr 2014 02:21:05 +0000 (02:21 +0000)]
Only provide chrome the option of learning the debug stub port on windows.

Gate previous debug stub port propagtion on NACL_WINDOWS, as getting socket
info on an externally provided socket may be prevented by many sandboxes.

BUG=crbug.com/328714
TEST=None
R=mseaborn@chromium.org

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

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

2 weeks agoBuildbot scripts now use native python in win32 to avoid cygwin issues.
dyen@chromium.org [Thu, 3 Apr 2014 23:23:16 +0000 (23:23 +0000)]
Buildbot scripts now use native python in win32 to avoid cygwin issues.

R=bradnelson@google.com

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

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

2 weeks agoDisable terminfo lib in LLVM cmake build
dschuff@chromium.org [Thu, 3 Apr 2014 22:56:46 +0000 (22:56 +0000)]
Disable terminfo lib in LLVM cmake build

This enables the 32-bit llvm to build on 64-bit machines which do not have the
32-bit libterminfo installed.

BUG=broken cmake build
R=jvoung@chromium.org

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

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

2 weeks agoAttempt to build cpu_features and desc library.
noelallen@google.com [Thu, 3 Apr 2014 22:04:43 +0000 (22:04 +0000)]
Attempt to build cpu_features and desc library.

Adds config and toolchain build files.
Adds default build targets.
Adds GN files for src/trusted desc & cpu_features.

Util GN supports rooting outside of .gn file, you will need to symlink these and execute GN from the directory above native_client.

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

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

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

2 weeks agoset svn:ignore on native_client/mingw32 directory
dschuff@chromium.org [Thu, 3 Apr 2014 21:53:03 +0000 (21:53 +0000)]
set svn:ignore on native_client/mingw32 directory

This is where the windows bot downloads PNaCl's mingw toolchain;
ignoring it ensures that it won't get deleted and redownloaded on every bot run.
(a separate check in the bot script ensures that it is up-to-date).

[this is a manual SVN commit because gcl doesn't handle property-only changes.]

R=bradn@google.com

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

2 weeks agoFixed some issues with the newlib and glibc buildbot.
dyen@chromium.org [Thu, 3 Apr 2014 20:26:54 +0000 (20:26 +0000)]
Fixed some issues with the newlib and glibc buildbot.

The working directory must be changed to the root NaCl directory
after toolchain build is finished, this was removed from one of
my last changes.

Our python cygtar library doesn't suppport the xz format. The
format for the windows and linux glibc package archives have been
changed to use the bz2 ones.

R=bradnelson@google.com

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

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

2 weeks agoUpdate TOOL_REVISIONS for PNaCl r12944->r12981
jfb@chromium.org [Thu, 3 Apr 2014 20:24:38 +0000 (20:24 +0000)]
Update TOOL_REVISIONS for PNaCl r12944->r12981

Pull the following PNaCl changes into NaCl:
  r12945: (noelallen@google.com) Roll bionic
  r12950: (noelallen@google.com) Fix DEPs and cleanup libc warnings
  r12951: (dyen@chromium.org) PNaCl toolchain and driver now uses the new toolchain location
  r12953: (mseaborn@chromium.org) Unsandboxed IRT: Implement getpid()
  r12954: (noelallen@google.com) Fix irt_syscalls.h dependency Roll bionic to get warning fixes.
  r12956: (mseaborn@chromium.org) PNaCl driver scripts: Remove unused USE_BOOTSTRAP field
  r12957: (mseaborn@chromium.org) IRT interfaces: Clean up use of off_t by defining a nacl_irt_off_t type
  r12958: (noelallen@google.com) Fix roll
  r12961: (mseaborn@chromium.org) PNaCl driver scripts: Fix various pyflakes warnings
  r12965: (mseaborn@chromium.org) PNaCl driver scripts: Remove use of "import *"
  r12966: (mseaborn@chromium.org) Unsandboxed IRT: Whitelist and convert mmap() flag values
  r12968: (dyen@chromium.org) Toolchain Build now stores package description files for final packages.
  r12969: (jvoung@google.com) PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
    | a75986e: (mseaborn@chromium.org) PNaCl: Remove all whitespace-only localmods
    | f0bd55f: (jvoung@chromium.org) FlattenGlobals: Only check size and alignment for non-opaque variables.
  r12971: (mseaborn@chromium.org) pnacl-translate: Refactor selection of arch-specific flags
  r12979: (jvoung@google.com) Remove match awk.pass.cpp from known fails. Test got commented out.
  r12980: (jvoung@google.com) Add single-threaded translation variants to PNaCl spec2k bots.
  r12981: (jfb@chromium.org) PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
    | 6110bae: (jfb@chromium.org) PNaCl bitcode reader: restrict some record sizes

BUG= none
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3699
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3804
BUG= <none>
BUG= http://code.google.com/p/nativeclient/issues/detail?id=3804
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3816
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3817
R= noelallen@google.com, jvoung@google.com, bradnelson@google.com, jvoung@chromium.org, mseaborn@chromium.org, petarj@mips.com, jfb@chromium.org, mcgrathr@chromium.org, kschimpf@chromium.org, stichnot@chromium.org, noelallen@chromium.org, dyen@chromium.org
TEST=git try
NOTRY=true
(Please LGTM this change and tick the "commit" box)

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

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

2 weeks agoFixed some issues with the toolchain build regarding buildbots.
dyen@chromium.org [Thu, 3 Apr 2014 18:40:52 +0000 (18:40 +0000)]
Fixed some issues with the toolchain build regarding buildbots.

Fixed 2 issues with the buildbots. The newlib toolchain buildbot was
untarring the toolchain twice, I've removed the second untar step. The
glibc buildbot were invoking a shell script version of gsutil, I've
changed it to the python version so so python can run it without a shell.

R=bradnelson@google.com

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

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

2 weeks agoIRT interfaces: Move the dev_getpid interface into irt_dev.h for consistency
mseaborn@chromium.org [Thu, 3 Apr 2014 18:05:54 +0000 (18:05 +0000)]
IRT interfaces: Move the dev_getpid interface into irt_dev.h for consistency

All the other dev interfaces have already been moved to irt_dev.h.

Update the comment and make it more general.  Querying for dev_getpid
used to succeed in Chromium (but returned a function that returned an
error), but since querying no longer succeeds unless getpid is
enabled, we don't need the warning in the comment any more.

BUG=none
TEST=build
R=mcgrathr@chromium.org

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

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

2 weeks agoIRT interfaces: Clean up use of clockid_t by defining nacl_irt_clockid_t
mseaborn@chromium.org [Thu, 3 Apr 2014 18:03:01 +0000 (18:03 +0000)]
IRT interfaces: Clean up use of clockid_t by defining nacl_irt_clockid_t

This makes irt.h #includable on Mac OS X, which does not provide
clock_gettime() or clock_getres().

Note that newlib currently defines clockid_t as "unsigned long" for
NaCl:

  newlib/libc/include/machine/types.h:#define _CLOCKID_T_         unsigned long
  newlib/libc/include/sys/types.h:typedef _CLOCKID_T_ clockid_t;

We don't want the IRT interfaces to say "unsigned long", though,
because its size is different for 32-bit and 64-bit systems, so we use
uint32_t instead.

This means we can't use NACL_OPTIONAL_FN, because the
"_not_implemented" function it creates won't have the right C type.
Instead, change clock_gettime()/clock_getres() to use the
__libnacl_irt_init_fn() pattern that much of the rest of libnacl have
been using.

Add comments to document that pattern, and document its concurrency
assumptions.

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

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

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

2 weeks agoUploads a package using package_version for all the toolchain builds
dyen@chromium.org [Thu, 3 Apr 2014 17:36:14 +0000 (17:36 +0000)]
Uploads a package using package_version for all the toolchain builds

As we are transitioning to the new package versioning tool, we need
to first have a package available for all of the different toolchains
for each SVN revision. Once we have a couple of packages uploaded, we
can set the sanctioned revision using package_version.py.

BUG=
TEST= trybots
R=bradnelson@google.com, jvoung@chromium.org, noelallen@chromium.org

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

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

2 weeks agoPNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
jfb@chromium.org [Thu, 3 Apr 2014 01:14:38 +0000 (01:14 +0000)]
PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS

This pulls in the following LLVM change:

6110bae: (jfb@chromium.org) PNaCl bitcode reader: restrict some record sizes

BUG=none
TEST= PNaCl toolchain trybots
R= kschimpf@chromium.org, jvoung@chromium.org

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

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

2 weeks agoAdd single-threaded translation variants to PNaCl spec2k bots.
jvoung@google.com [Wed, 2 Apr 2014 21:31:19 +0000 (21:31 +0000)]
Add single-threaded translation variants to PNaCl spec2k bots.

Gives us back a baseline comparison for compiletime and runtime
and notice differences in single-threaded vs multi-threaded perf.
Adds more build and runtime to the bots though. May help w/
investigating any upstream regressions (which show up in
single-threaded perf, but get confusing w/ multi-threaded).

Done in the most straightforward way. TODO: share more in the Make
recipes while still having a different build artifact name so that
we (continue to) get separate perf labels, and still be "readable".

Also fix the sel_ldr invocation to work on Mac (non-linux machines
do not have the nacl_helper_bootstrap).

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

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

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

2 weeks agoRemove match awk.pass.cpp from known fails. Test got commented out.
jvoung@google.com [Wed, 2 Apr 2014 18:02:33 +0000 (18:02 +0000)]
Remove match awk.pass.cpp from known fails. Test got commented out.

See:
https://llvm.org/viewvc/llvm-project/libcxx/trunk/test/re/re.alg/re.alg.match/awk.pass.cpp?r1=187636&r2=187635&pathrev=187636

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3804
red libcxx buildbot step

R=jfb@chromium.org

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

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

2 weeks agoFixed an issue where closing a cygtar file doesn't close the file handle.
dyen@chromium.org [Wed, 2 Apr 2014 17:56:27 +0000 (17:56 +0000)]
Fixed an issue where closing a cygtar file doesn't close the file handle.

R=bradnelson@google.com, mseaborn@chromium.org
TEST= trybots

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

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

2 weeks ago[MIPS] Make sure the function unfixed_code() ends up in the text section
petarj@mips.com [Wed, 2 Apr 2014 17:47:35 +0000 (17:47 +0000)]
[MIPS] Make sure the function unfixed_code() ends up in the text section

Body of the function unfixed_code() previously slipped out of the text
section, so make sure the assembly coded part is in it.

This nexe is later reused by one of the browser tests -
NaClBrowserTestNewlib.BadNative - and without this change validator would
not object (body of unfixed_code() was missing) and the test would start
and crash.

In addition to that, this patch changes %progbits to @progbits for
consistency reasons.

NOTRY=true
However, I have run a try job manually, and it passed fine, but CQ has
some issues, and this is a workaround for it.

BUG= NaClBrowserTestNewlib.BadNative fails on MIPS
TEST= run NaClBrowserTestNewlib.BadNative

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

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

2 weeks agoReducing egyptian cotton thread count for win32.
bradnelson@google.com [Wed, 2 Apr 2014 16:27:30 +0000 (16:27 +0000)]
Reducing egyptian cotton thread count for win32.

The new win32 bots don't seem to be able to handle the 900 threads that we
currently do across the board for Windows.

Reducing to 700.

BUG=http://code.google.com/p/chromium/issues/detail?id=357183
R=jvoung@google.com, jvoung@chromium.org
TEST=bots

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

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

2 weeks agoUpdate .DEPS.git
chrome-admin@google.com [Tue, 1 Apr 2014 23:07:01 +0000 (23:07 +0000)]
Update .DEPS.git

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

2 weeks agoAdding environment variable on the bots to look for msvs2013.
bradnelson@google.com [Tue, 1 Apr 2014 23:05:52 +0000 (23:05 +0000)]
Adding environment variable on the bots to look for msvs2013.

Our XP trybots will soon be replaced by win7-32 bots.
Adding the path to msvs2013.

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

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

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

2 weeks agobuildbot scripts changes should trigger all trybots.
dyen@chromium.org [Tue, 1 Apr 2014 22:54:27 +0000 (22:54 +0000)]
buildbot scripts changes should trigger all trybots.

R=bradnelson@google.com, mcgrathr@chromium.org
TEST= trybots

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

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

2 weeks agoClean up spec2k scripts a bit.
jvoung@google.com [Tue, 1 Apr 2014 22:15:15 +0000 (22:15 +0000)]
Clean up spec2k scripts a bit.

* Remove some old PNaCl JIT testing bits.
* Remove some unused env vars
* Change the "size" info messages to something less
  in-depth but something that works with non ELF files (like
  JS files).
* Print "running foo...". Should probably show the actual
  sel_ldr commands at some point.
* Remove some errant commas in file names.

BUG=none
NOTRY=true
R=dyen@chromium.org

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

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

2 weeks agopnacl-translate: Refactor selection of arch-specific flags
mseaborn@chromium.org [Tue, 1 Apr 2014 21:29:36 +0000 (21:29 +0000)]
pnacl-translate: Refactor selection of arch-specific flags

This removes uses of the messy "${FOO_%ARCH%}" construct in
pnacl-translate.py and replaces these uses with Python code.

This makes it easier to reduce duplication.  Otherwise, the
duplication would increase when we add {x86-64,arm,mips32}-nonsfi
targets and extend unsandboxed mode to work for Mac, Android, Windows,
etc.

I've removed a special case for MIPS: "-translate-fast" was using
"-fast-isel" on MIPS but "-O0" elsewhere.  I don't know the reason for
this difference, and it wasn't commented.  I can't see anything in the
LLVM codebase that suggests that "-fast-isel" is special for MIPS.
Removing this difference only affects offline translation, and I
assume it's not important (though it does seem to change the generated
code).

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3699
TEST=toolchain trybots
R=jvoung@chromium.org, petarj@mips.com

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

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

2 weeks agoPNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
jvoung@google.com [Tue, 1 Apr 2014 21:11:17 +0000 (21:11 +0000)]
PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS

This pulls in the following LLVM changes:

a75986e: (mseaborn@chromium.org) PNaCl: Remove all whitespace-only localmods
f0bd55f: (jvoung@chromium.org) FlattenGlobals: Only check size and alignment for non-opaque variables.

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

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

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

2 weeks agoToolchain Build now stores package description files for final packages.
dyen@chromium.org [Tue, 1 Apr 2014 21:04:00 +0000 (21:04 +0000)]
Toolchain Build now stores package description files for final packages.

Toolchain build now takes an additional dictionary argument describing
the final output packages. Using this new argument, Toolchain build
can output package description json files for each final package that had a
component that was built.

TEST= trybots
R=jvoung@chromium.org

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

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

2 weeks agoProvide chrome the option of learning the debug stub port chosen by nacl.
bradnelson@google.com [Tue, 1 Apr 2014 20:34:28 +0000 (20:34 +0000)]
Provide chrome the option of learning the debug stub port chosen by nacl.

On mac/linux the debug stub port is allocated chrome side and provided to
Native Client. On Windows (where socket handles cannot be passed between
processes), the debug port must be allocated by the nacl process (which can
only happen when the outer sandbox is disabled).

Propagate the debug port selected by the nacl side to the task manager to make
it available to the user and debugging extensions.

BUG=crbug.com/328714
TEST=None
R=mseaborn@chromium.org

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

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

2 weeks agoUnsandboxed IRT: Whitelist and convert mmap() flag values
mseaborn@chromium.org [Tue, 1 Apr 2014 16:59:11 +0000 (16:59 +0000)]
Unsandboxed IRT: Whitelist and convert mmap() flag values

Stop assuming that the host system's mmap() uses the same prot/flags
values as NaCl.  This will be necessary for unsandboxed_irt.c to work
on Mac OS X, where some of the flags have different numeric values.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3699
TEST=Tests run on PNaCl toolchain trybot
R=bradnelson@google.com

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

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