native_client/src/native_client.git
18 hours agoAdded support for using custom toolchains within the chromium gyp build. master
dyen@chromium.org [Fri, 24 Oct 2014 23:23:37 +0000 (23:23 +0000)]
Added support for using custom toolchains within the chromium gyp build.

Traditionally it has been very tricky to use a (P)NaCl toolchain other
than the default one pinned to the current revision. This makes doing
things such as debugging locally built toolchains difficult.

To accommodate using custom (P)NaCl toolchains, this CL adds various
gyp variables which you can set to point to toolchains on your local
machine (nacl_x86_newlib_toolchain, nacl_x86_glibc_toolchain,
nacl_arm_newlib_toolchain, pnacl_newlib_toolchain). Because of the
nature of build dependencies, users of these gyp variables are also
required to specify a file which acts as a "stamp" file for which
gyp can determine if the toolchain has been updated. The stamp file
should live within the toolchain directory and be specified in the
corresponding gyp variable relative to the toolchain directory
(nacl_x86_newlib_stamp, nacl_x86_glibc_stamp, nacl_arm_newlib_stamp,
pnacl_newlib_stamp).

Currently because of how the toolchain needs to be prepped in the
output directory, gyp sets up rules to make a copy of the toolchain
into the output directory to be prepped. Eventually we hope to make
the prepping stage part of the toolchain building process so this
copy will not be necessary. At that point gyp will be able to
utilize the toolchain directly from the specified directory. However,
when that time comes, the gyp variables will remain the same.

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

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

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

24 hours agoAdd an optional callback function + user data when running benchmarks.
nfullagar@google.com [Fri, 24 Oct 2014 17:44:46 +0000 (17:44 +0000)]
Add an optional callback function + user data when running benchmarks.
BUG=https://code.google.com/p/nativeclient/issues/detail?id=3987
TEST=the benchmark suite is a test
R=bradnelson@google.com

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

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

46 hours agoUpdate revision for PNaCl r13925->r13986
dschuff@chromium.org [Thu, 23 Oct 2014 19:59:11 +0000 (19:59 +0000)]
Update revision for PNaCl r13925->r13986

Pull the following PNaCl changes into NaCl:
  r13926: (dschuff@chromium.org) Fix build directory for LLVM regression test runner
  r13950: (jvoung@google.com) Build gold.nexe with a segment gap, and supply -B, to later support IRT use.
  r13963: (dyen@chromium.org) win32 i686-nacl-as and i686-nacl-ld for PNaCl direct to NaCl toolchain.
  r13986: (dschuff@chromium.org) PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
    | ee4f49b: (dschuff@chromium.org) Cherry-pick r215837 from upstream.
    | e370300: (dschuff@chromium.org) Cherrypick upstream r220439 [MC] Attach labels to existing fragments instead of using a separate fragment
    | 8e57321: (dschuff@chromium.org) De-C++11ify cherrypick of r220439

BUG= https://code.google.com/p/nativeclient/issues/detail?id=3982
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3914
R= jvoung@chromium.org, stichnot@chromium.org, dschuff@chromium.org, jvoung@google.com, mseaborn@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/678473002

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

47 hours agoNacl-clang does not appear to follow the same portable SIMD vector alignment
nfullagar@google.com [Thu, 23 Oct 2014 18:39:55 +0000 (18:39 +0000)]
Nacl-clang does not appear to follow the same portable SIMD vector alignment
rules as pnacl.  The workaround is to add attribute aligned(1) to the
vector type.  When nacl-clang follows the same vector alignment rules as
pnacl, this alignment attribute can be removed.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3986
TEST=benchmark_life.cc
R=bradnelson@google.com

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

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

2 days agoPNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
dschuff@chromium.org [Thu, 23 Oct 2014 17:09:26 +0000 (17:09 +0000)]
PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS

This pulls in the following LLVM changes:

ee4f49b: (dschuff@chromium.org) Cherry-pick r215837 from upstream.
e370300: (dschuff@chromium.org) Cherrypick upstream r220439 [MC] Attach labels to existing fragments instead of using a separate fragment
8e57321: (dschuff@chromium.org) De-C++11ify cherrypick of r220439

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

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

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

2 days agoNon-SFI IRT: Remove workarounds for service_runtime/include/ headers
mseaborn@chromium.org [Thu, 23 Oct 2014 15:38:38 +0000 (15:38 +0000)]
Non-SFI IRT: Remove workarounds for service_runtime/include/ headers

Now that the conditionalisation in the service_runtime/include/
headers has been cleaned up, the workarounds in
src/nonsfi/irt/irt_interfaces.c are no longer needed.

BUG= https://code.google.com/p/nativeclient/issues/detail?id=3909
TEST= main trybots + PNaCl toolchain trybot
R=hamaji@chromium.org

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

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

2 days agoUpdate .DEPS.git
chrome-admin@google.com [Thu, 23 Oct 2014 07:53:08 +0000 (07:53 +0000)]
Update .DEPS.git

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

2 days agoUpdate .DEPS.git
chrome-admin@google.com [Thu, 23 Oct 2014 07:52:43 +0000 (07:52 +0000)]
Update .DEPS.git

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

2 days agoUpdate .DEPS.git
chrome-admin@google.com [Thu, 23 Oct 2014 07:37:24 +0000 (07:37 +0000)]
Update .DEPS.git

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

2 days agoUpdate .DEPS.git
chrome-admin@google.com [Thu, 23 Oct 2014 07:36:13 +0000 (07:36 +0000)]
Update .DEPS.git

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

2 days agoUpdate .DEPS.git
chrome-admin@google.com [Thu, 23 Oct 2014 03:36:08 +0000 (03:36 +0000)]
Update .DEPS.git

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

2 days agoUpdate .DEPS.git
chrome-admin@google.com [Thu, 23 Oct 2014 03:35:03 +0000 (03:35 +0000)]
Update .DEPS.git

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

2 days ago[MIPS] Disable seg_gap tests
petarj@mips.com [Thu, 23 Oct 2014 00:35:09 +0000 (00:35 +0000)]
[MIPS] Disable seg_gap tests

MIPS's SFI expects data section to be above 256 MB, so the gap is expected
regardless of IRT. Thus, the recently added tests do not check correctly for
IRT presence in case of MIPS arch.

This change disables the following tests for MIPS:
- run_sel_main_chrome_irt_optional_with_seg_gap_tes
- run_sel_main_chrome_irt_optional_no_seg_gap_test

introduced in r13952.

BUG= run_sel_main_chrome_irt_optional_no_seg_gap_test fails for MIPS
TEST= ./scons platform=mips32 smoke_tests

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

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

2 days agoCapture build_nexe verbose log messages to emit in the event of error.
bradnelson@google.com [Wed, 22 Oct 2014 20:41:56 +0000 (20:41 +0000)]
Capture build_nexe verbose log messages to emit in the event of error.

Record log messages in memory for build_nexe runs, so that they can be
emitted for failures. The buildbots do not run with verbosity turned up
due to space / master performance constraints.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3934
BUG=https://code.google.com/p/chromium/issues/detail?id=390764
TEST=local
R=jam@chromium.org, ncbray@chromium.org, mseaborn@chromium.org

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

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

2 days agoMore include path truncation for benchmark source relocation into SDK.
nfullagar@google.com [Wed, 22 Oct 2014 18:18:53 +0000 (18:18 +0000)]
More include path truncation for benchmark source relocation into SDK.
BUG=none
TEST=manual, trybots, checkdeps.py
R=bradnelson@google.com

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

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

3 days agoDisable run_dynamic_load_test under nacl_clang x86-32
dschuff@chromium.org [Wed, 22 Oct 2014 17:35:58 +0000 (17:35 +0000)]
Disable run_dynamic_load_test under nacl_clang x86-32

It's quite flaky on the toolchain bot.

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

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

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

3 days agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 22 Oct 2014 09:34:10 +0000 (09:34 +0000)]
Update .DEPS.git

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

3 days agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 22 Oct 2014 09:33:36 +0000 (09:33 +0000)]
Update .DEPS.git

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

3 days agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 22 Oct 2014 09:26:11 +0000 (09:26 +0000)]
Update .DEPS.git

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

3 days agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 22 Oct 2014 09:25:31 +0000 (09:25 +0000)]
Update .DEPS.git

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

3 days agoNon-SFI Mode: Append --allow-llvm-bitcode-input only once
hamaji@chromium.org [Wed, 22 Oct 2014 05:25:17 +0000 (05:25 +0000)]
Non-SFI Mode: Append --allow-llvm-bitcode-input only once

Without this, we pass this flag hundreds times.

TEST=trybots, manually checked the flag for pnacl-translate
BUG=None

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

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

3 days agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 22 Oct 2014 03:48:08 +0000 (03:48 +0000)]
Update .DEPS.git

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

3 days agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 22 Oct 2014 03:27:09 +0000 (03:27 +0000)]
Update .DEPS.git

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

3 days agoAdditional path modification to make benchmark code more
nfullagar@google.com [Tue, 21 Oct 2014 23:42:14 +0000 (23:42 +0000)]
Additional path modification to make benchmark code more
relocatable between nacl test & SDK.
TEST=manual, trybots & checkdeps
BUG=none
R=bradnelson@google.com

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

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

3 days agoUpdate .DEPS.git
chrome-admin@google.com [Tue, 21 Oct 2014 21:19:13 +0000 (21:19 +0000)]
Update .DEPS.git

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

3 days agoAllow vzeroall and vzeroupper in ragel dfa.
shyamsundarr@chromium.org [Tue, 21 Oct 2014 21:18:19 +0000 (21:18 +0000)]
Allow vzeroall and vzeroupper in ragel dfa.

These are AVX instructions that have no operands. They respectively zero out all the YMM registers or just the top 128 bits of all the YMM registers. The corresponding test
for adding these are in vzero_proof.py, where we verify that no instructions were removed from the DFA, and that the set of added instructions to the DFA disassembles to {'vzeroall', 'vzeroupper'}

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

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

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

3 days agowin32 i686-nacl-as and i686-nacl-ld for PNaCl direct to NaCl toolchain.
dyen@chromium.org [Tue, 21 Oct 2014 19:02:13 +0000 (19:02 +0000)]
win32 i686-nacl-as and i686-nacl-ld for PNaCl direct to NaCl toolchain.

Repurposed redirector.exe to be used within toolchain_build_pnacl. We
now compile the redirector program using mingw and then use it to
redirect i686-nacl-as.exe and i686-nacl-ld.exe for windows.

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

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

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

4 days agoUpdate .DEPS.git
chrome-admin@google.com [Tue, 21 Oct 2014 14:37:13 +0000 (14:37 +0000)]
Update .DEPS.git

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

4 days agoUpdate .DEPS.git
chrome-admin@google.com [Tue, 21 Oct 2014 14:36:44 +0000 (14:36 +0000)]
Update .DEPS.git

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

4 days agoSimplify irt-linkage and fix an issue for MIPS
petarj@mips.com [Tue, 21 Oct 2014 10:19:38 +0000 (10:19 +0000)]
Simplify irt-linkage and fix an issue for MIPS

When built as static, MIPS irt is expected to be in one 256MB-aligned region
in order to use 'jal'. This is not the case in the fake "too-close-to-max"
case when first link is performed. Thus, this patch simplifies the irt link
procedure by removing "too-close-to-max" case, so we always use the second
link attempt to align and fit irt correctly.

This fixes number of linker issues when building irt as static for MIPS.

BUG= linker issues when building irt as static for MIPS

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

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

4 days agoUpdate .DEPS.git
chrome-admin@google.com [Tue, 21 Oct 2014 09:49:07 +0000 (09:49 +0000)]
Update .DEPS.git

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

4 days agoUpdate .DEPS.git
chrome-admin@google.com [Tue, 21 Oct 2014 09:48:43 +0000 (09:48 +0000)]
Update .DEPS.git

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

4 days agoUpdate .DEPS.git
chrome-admin@google.com [Tue, 21 Oct 2014 05:16:15 +0000 (05:16 +0000)]
Update .DEPS.git

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

4 days agoUpdate .DEPS.git
chrome-admin@google.com [Tue, 21 Oct 2014 05:15:15 +0000 (05:15 +0000)]
Update .DEPS.git

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

4 days agoNon-SFI Mode: Add linux_syscalls directory to the default include path of Non-SFI...
hidehiko@chromium.org [Tue, 21 Oct 2014 02:29:52 +0000 (02:29 +0000)]
Non-SFI Mode: Add linux_syscalls directory to the default include path of Non-SFI gyp rule.

The directory contains some header files which are not provided by newlib.

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

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

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

4 days agoClean up conditionalisation in the service_runtime/include/ headers
mseaborn@chromium.org [Mon, 20 Oct 2014 23:21:01 +0000 (23:21 +0000)]
Clean up conditionalisation in the service_runtime/include/ headers

Background: The headers in service_runtime/include/ are meant to be
usable in 3 contexts:
 1) Untrusted code as toolchain headers, munged to strip "NACL_ABI_" prefixes
 2) Untrusted code, directly #included without munging
 3) Trusted code, directly #included without munging

To this end, parts of the headers are conditionalised on
"defined(__native_client__)".  This makes various things work for use
case 3: it disables some parts that would conflict with system
headers, and it enables some "nacl_abi_*" declarations.  However, this
conditional fails to have the same effect for use case 2.

In order to make use cases 2 and 3 work the same, I'm replacing
"defined(__native_client__)" with
"defined(NACL_IN_TOOLCHAIN_HEADERS)".  I'm changing export_header.py
expand out the latter.  NACL_IN_TOOLCHAIN_HEADERS will be a
pseudo-#define: the C preprocessor never actually sees if #defined.

This cleanup should allow us to remove a hack in
src/nonsfi/irt/irt_interfaces.c.  It will reduce the number of
conflicts we have with these headers.

I've done the replacement semi-mechanically.  Some further cleanup
should be possible (e.g. removing "defined(__GLIBC__)" checks), but
I'm not attempting that now.  The only cleanup is to an #include in
sys/dirent.h.

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

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

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

4 days agoPrep for sdk inclusion - make source more relocatable, so
nfullagar@google.com [Mon, 20 Oct 2014 21:51:08 +0000 (21:51 +0000)]
Prep for sdk inclusion - make source more relocatable, so
it can be copied into SDK and released as part of the SDK update.
TEST=manually built, trybots
BUG=none
R=bradnelson@google.com

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

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

4 days agoAdd irt_load_optional flag to chrome_main args. Helps w/ making pnacl ld.nexe use...
jvoung@google.com [Mon, 20 Oct 2014 21:34:16 +0000 (21:34 +0000)]
Add irt_load_optional flag to chrome_main args. Helps w/ making pnacl ld.nexe use IRT.

There will be a transitional period where chrome will try
to supply the irt_fd when loading ld.nexe, but ld.nexe
may not be up to date to have a segment gap yet.

We can first build ld.nexe with a segment gap
(https://codereview.chromium.org/668723002/), without
*requiring* the IRT, then bump kMinPnaclVersion. That is
another way to help the issue of the IRT load being
rejected. This is another layer that could help
ease the transition, in case the on-demand update fails.

After the IRT starts being supplied and the segment
gap is present, we can start using the public libs
instead of the private libs.

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

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

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

4 days agoBuild gold.nexe with a segment gap, and supply -B, to later support IRT use.
jvoung@google.com [Mon, 20 Oct 2014 20:42:42 +0000 (20:42 +0000)]
Build gold.nexe with a segment gap, and supply -B, to later support IRT use.

This does not yet *require* the IRT, since the private libs
are still linked in first (need a change to the gold
Makefile). Also update the driver to start supplying the -B
flag for the IRT for sel_universal when running gold.nexe.

After that will be the actual change to stop using
the private libs, but we need to make sure Chrome is
ready and supplies the IRT first.

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

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

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

4 days agoFilter -fsanitize=undefined from cflags when nacl_bootstrap_lib.
glider@chromium.org [Mon, 20 Oct 2014 19:38:51 +0000 (19:38 +0000)]
Filter -fsanitize=undefined from cflags when nacl_bootstrap_lib.
Add a comment describing why we're removing sanitizer flags.

BUG=420710
R=mseaborn@chromium.org

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

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

4 days agoClean up sys/errno.h's #include guard to match the file's name
mseaborn@chromium.org [Mon, 20 Oct 2014 19:28:52 +0000 (19:28 +0000)]
Clean up sys/errno.h's #include guard to match the file's name

BUG=none
TEST=none
R=dschuff@chromium.org

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

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

5 days agoallow avx/xop/fma instructions but disable all them via def file attributes.
shyamsundarr@chromium.org [Mon, 20 Oct 2014 17:17:39 +0000 (17:17 +0000)]
allow avx/xop/fma instructions but disable all them via def file attributes.

introduce a def file attribute (disable_untested) which means that an
instruction is disabled because it is untested. As we test these instructions
we will remove this attribute, which will enable them. Changing the DFA to explicitly disallow vmaskmovdqu (which was previously the only AVX instruction in the DFA but disabled via cpufeature_avx which is now allowed).

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

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

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

5 days agoUpdate .DEPS.git
chrome-admin@google.com [Mon, 20 Oct 2014 08:39:08 +0000 (08:39 +0000)]
Update .DEPS.git

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

5 days agoUpdate .DEPS.git
chrome-admin@google.com [Mon, 20 Oct 2014 08:38:52 +0000 (08:38 +0000)]
Update .DEPS.git

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

5 days agoUpdate .DEPS.git
chrome-admin@google.com [Mon, 20 Oct 2014 08:31:08 +0000 (08:31 +0000)]
Update .DEPS.git

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

5 days agoUpdate .DEPS.git
chrome-admin@google.com [Mon, 20 Oct 2014 08:30:25 +0000 (08:30 +0000)]
Update .DEPS.git

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

5 days agoAvoid using mismatch compilers from buildbot.
yyanagisawa@chromium.org [Mon, 20 Oct 2014 00:39:52 +0000 (00:39 +0000)]
Avoid using mismatch compilers from buildbot.

Since buildbots are expected to be used as checking the compiler's
bug before submission.  It should not be good to check it by using
the different version compiler in goma server.

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

Fix: forget to import time.

Add import time to avoid NameError.
This is a follow up of https://codereview.chromium.org/581063002/.

Also, as suggested in the comment of above change, WindowsError will
be logged.

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

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

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

5 days agoUpdate .DEPS.git
chrome-admin@google.com [Sun, 19 Oct 2014 23:48:11 +0000 (23:48 +0000)]
Update .DEPS.git

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

5 days agoUpdate .DEPS.git
chrome-admin@google.com [Sun, 19 Oct 2014 23:47:36 +0000 (23:47 +0000)]
Update .DEPS.git

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

6 days agoUpdate .DEPS.git
chrome-admin@google.com [Sat, 18 Oct 2014 19:22:10 +0000 (19:22 +0000)]
Update .DEPS.git

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

6 days agoUpdate .DEPS.git
chrome-admin@google.com [Sat, 18 Oct 2014 19:21:30 +0000 (19:21 +0000)]
Update .DEPS.git

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

7 days ago[MIPS] Add missing -mtls-use-call when building irt libraries
petarj@mips.com [Sat, 18 Oct 2014 01:31:09 +0000 (01:31 +0000)]
[MIPS] Add missing -mtls-use-call when building irt libraries

Option "-mtls-use-call" was passed for building irt.nexe but not for
building irt libraries separately. The issue was triggered in Debug build in
Chromium.

BUG= NaCl crashes in Debug build in Chromium

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

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

7 days agoAdd third_party/computer_language_benchmarks_game to DEPS
nfullagar@google.com [Fri, 17 Oct 2014 22:54:02 +0000 (22:54 +0000)]
Add third_party/computer_language_benchmarks_game to DEPS
so checkdeps.py passes.
TEST=local run of checkdeps.py
BUG=none
R=jvoung@chromium.org

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

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

7 days agoInitial benchmark suite for toolchain side.
nfullagar@google.com [Fri, 17 Oct 2014 22:37:21 +0000 (22:37 +0000)]
Initial benchmark suite for toolchain side.
The benchmarks binarytrees, nbody, and chameneos are from
the computer language benchmarks game.  The benchmark
Life is from the native client sdk demo.
The benchmark timings are printed in a format that gasper
will scrape.  If a benchmark fails, it will show up as
a failure in large tests.
TEST=these benchmarks are, in a sense, tests.
BUG=none
R=bradnelson@google.com

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

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

7 days agoAllow 'opt' bots to use GN with is_debug=false ('dbg' bots get debug).
jvoung@google.com [Fri, 17 Oct 2014 20:19:46 +0000 (20:19 +0000)]
Allow 'opt' bots to use GN with is_debug=false ('dbg' bots get debug).

This hopefully makes the sel_ldr built by GN for 'performance_test'
similar to the sel_ldr built by scons.

BUG=none
R=bradnelson@google.com

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

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

7 days agoEnable arm callingconv test for varargs and va_list.
jvoung@google.com [Fri, 17 Oct 2014 19:04:21 +0000 (19:04 +0000)]
Enable arm callingconv test for varargs and va_list.

Enable structs, but don't enable doubles because of
possible constant island issues.

Should work now thanks to Roland's change to va_list
definition for arm-nacl-gcc.
See commit in comment #41 of:
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3650

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

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

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

7 days agoKeep the perf data of the trusted version of performance_tests separate.
jvoung@chromium.org [Fri, 17 Oct 2014 18:19:16 +0000 (18:19 +0000)]
Keep the perf data of the trusted version of performance_tests separate.

13910 changed it to use GetPerfEnvDescription() without
a 'trusted' prefix. Revert to old form with 'trusted'
prefix. Keep the perf_prefix, which was added by 13910 to
distinguish between gn and not gn.

This prevents run_trusted_performance_test from
clashing with run_performance_test.

BUG=none

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

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

8 days agofix lahf feature detection.
shyamsundarr@chromium.org [Fri, 17 Oct 2014 16:50:13 +0000 (16:50 +0000)]
fix lahf feature detection.

khim@ diagnosed the issue in:
https://codereview.chromium.org/638223002/
Add a test that contains sahf/lahf instructions that runs in sel_ldr.

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

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

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

8 days agoUpdate .DEPS.git
chrome-admin@google.com [Fri, 17 Oct 2014 05:37:12 +0000 (05:37 +0000)]
Update .DEPS.git

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

8 days agoUpdate .DEPS.git
chrome-admin@google.com [Fri, 17 Oct 2014 05:18:07 +0000 (05:18 +0000)]
Update .DEPS.git

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

8 days agoDisable flaky IRT extension thread tests on asan mac bots.
dyen@chromium.org [Fri, 17 Oct 2014 00:36:16 +0000 (00:36 +0000)]
Disable flaky IRT extension thread tests on asan mac bots.

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

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

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

8 days agoUpdate revision for PNaCl r13918->r13925
dschuff@chromium.org [Thu, 16 Oct 2014 21:20:05 +0000 (21:20 +0000)]
Update revision for PNaCl r13918->r13925

Pull the following PNaCl changes into NaCl:
  r13920: (dschuff@chromium.org) PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
    | e9104b5: (dschuff@chromium.org) Change usage of naclcall and nacljmp pseudo-instructions to match x86 gas
    | 7197942: (dschuff@chromium.org) Cherrypick Upstream r219811: [MC] Make bundle alignment mode setting idempotent and support nested bundles
  r13924: (dschuff@chromium.org) PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
    | 6eb1213: (dschuff@chromium.org) Fix mov register size sandbox-hiding frame setup
    | 5ec5bfe: (dschuff@chromium.org) Ensure jump tables get a unique rodata section if their corresponding function has a unique text section

BUG= https://code.google.com/p/nativeclient/issues/detail?id=3966
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3952
R= jvoung@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/643993003

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

8 days agoFix build directory for LLVM regression test runner
dschuff@chromium.org [Thu, 16 Oct 2014 21:12:31 +0000 (21:12 +0000)]
Fix build directory for LLVM regression test runner

The LLVM regression tests haven't been running on the x86-32
linux toolchain bot because they were looking for llvm_x86_64_linux_work as their working directory.
This fixes the directory specification.

In doing this I discovered a few extra failing tests, which
I added to known_failures under an extra attribute.

R=stichnot@chromium.org, stichnot@chromium.rog

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

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

8 days agofix the check_decoder_test.
shyamsundarr@chromium.org [Thu, 16 Oct 2014 18:10:39 +0000 (18:10 +0000)]
fix the check_decoder_test.

It is supposed to be manually run when changing the dfa.
However it is broken at top of tree. After this change, "scons dfacheckdecoder" passes again.

Note that the gas,objdump, etc are all taken from source control toolchain (e.g. $SVN_ROOT/native_client/toolchain/linux_x86/nacl_x86_newlib/bin/x86_64-nacl-as)

The issues fixed with this change are:

(a) By default, the nacl gas now emits a NACLALIGN symbol. This changes how objdump does the diassembly but not the validator disassembler which can't read symbols. We make gas omit this via '--strip-local-absolute'.

(b) By default, objdump puts a comment with the absolute address for rip relative addressing that our validator disassembler that doesn't know about addresses doesn't.
e.g. # 0x400408: ff 35 e2 0b 20 00     pushq  0x200be2(%rip)        # 0x600ff0
We fix this by generally ignoring comments.

(c) one of the reserved prefetch instructions will have a new mnemonic with AVX512 that the latest version of objdump we use already reflects. note that it is still forbidden.

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

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

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

8 days agoPNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
dschuff@chromium.org [Thu, 16 Oct 2014 18:09:20 +0000 (18:09 +0000)]
PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS

This pulls in the following LLVM changes:

6eb1213: (dschuff@chromium.org) Fix mov register size sandbox-hiding frame setup
5ec5bfe: (dschuff@chromium.org) Ensure jump tables get a unique rodata section if their corresponding function has a unique text section

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

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

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

9 days agoUpdate nacl_arm_newlib toolchain
mcgrathr@chromium.org [Thu, 16 Oct 2014 17:42:18 +0000 (17:42 +0000)]
Update nacl_arm_newlib toolchain

This brings in the va_list ABI change.

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

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

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

9 days agocleanup special case compatibility with old validator for avx.
shyamsundarr@chromium.org [Thu, 16 Oct 2014 17:04:15 +0000 (17:04 +0000)]
cleanup special case compatibility with old validator for avx.

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

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

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

9 days agoUpdate newlib-based toolchain versions.
sbc@chromium.org [Wed, 15 Oct 2014 22:39:09 +0000 (22:39 +0000)]
Update newlib-based toolchain versions.

This pulls in the following newlib changes:
bf66148 Split posix_spawn.c into 3 different files
a59cc12 libc/posix/posix_spawn.c: include _syslist.h.

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

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

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

9 days agoPNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
dschuff@chromium.org [Wed, 15 Oct 2014 21:46:23 +0000 (21:46 +0000)]
PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS

This pulls in the following LLVM changes:

e9104b5: (dschuff@chromium.org) Change usage of naclcall and nacljmp pseudo-instructions to match x86 gas
7197942: (dschuff@chromium.org) Cherrypick Upstream r219811: [MC] Make bundle alignment mode setting idempotent and support nested bundles

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

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

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

9 days agoReport S_IFCHR in windows sel_ldr stat()/fstat() calls.
sbc@chromium.org [Wed, 15 Oct 2014 20:34:22 +0000 (20:34 +0000)]
Report S_IFCHR in windows sel_ldr stat()/fstat() calls.

This makes windows and POSIX behavior consistent
and removes the sometimes confusing warning message
produced when stdout/stderr/stdin were fstat'd.

TEST=trybots + local testing with stdout as a command prompt.

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

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

9 days agotoolchain_build: Update gcc revision
mcgrathr@chromium.org [Wed, 15 Oct 2014 20:08:31 +0000 (20:08 +0000)]
toolchain_build: Update gcc revision

This brings in:

1e19388 Revert va_list padding

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

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

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

10 days agoUpdate newlib version
sbc@chromium.org [Wed, 15 Oct 2014 18:05:20 +0000 (18:05 +0000)]
Update newlib version

This brings in a single newlib revision:
bf66148 Split posix_spawn.c into 3 different files
a59cc12 libc/posix/posix_spawn.c: include _syslist.h.

BUG= https://code.google.com/p/nativeclient/issues/detail?id=3976
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3973
R=binji@chromium.org

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

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

10 days agoRemove some mostly-unused debug logging for printing memory layout
mseaborn@chromium.org [Wed, 15 Oct 2014 17:28:14 +0000 (17:28 +0000)]
Remove some mostly-unused debug logging for printing memory layout

This code is only called from mmap_test.c.

NaClMemRegionPrinter() duplicates what NaClVmmapDebug() does, which
mmap_test.c also calls.

NaClAppPrintDetails() duplicates what NaClLogAddressSpaceLayout()
does.

This code is one of the few users of Gio and gprintf(), so removing
this would help with removing Gio/gprintf().

BUG=none
TEST=build

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

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

10 days agoClean up sysconf() test to address a TODO that depended on a toolchain roll
mseaborn@chromium.org [Wed, 15 Oct 2014 16:37:16 +0000 (16:37 +0000)]
Clean up sysconf() test to address a TODO that depended on a toolchain roll

BUG=https://code.google.com/p/nativeclient/issues/detail?id=3909
BUG=https://code.google.com/p/nativeclient/issues/detail?id=2714
TEST=run_sysconf_pagesize_test

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

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

10 days agoAdd NaClDescCreateWithFilePathMetadata fallback.
teravest@chromium.org [Wed, 15 Oct 2014 16:05:13 +0000 (16:05 +0000)]
Add NaClDescCreateWithFilePathMetadata fallback.

If an empty file path is passed to NaClDescCreateWithFilePathMetadata, a
descriptor should be returned without any file info metadata attached to it.

Previously, this function depended on being called with a valid non-empty file
path.

This has been manually tested with a chromium-side change that depends on
this fallback.

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

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

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

10 days agoMake PNaCl translator use hard-float ABI for ARM nonsfi target.
mazda@chromium.org [Wed, 15 Oct 2014 05:02:23 +0000 (05:02 +0000)]
Make PNaCl translator use hard-float ABI for ARM nonsfi target.

Also add run_arm_float_abi_test to nonsfi_tests so that the test runs in buildbot.

TEST=./scons platform=arm bitcode=1 nonsfi_nacl=1 \
         pnacl_generate_pexe=0 run_arm_float_abi_test
TEST=try
BUG=https://code.google.com/p/nativeclient/issues/detail?id=3869

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

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

10 days agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 15 Oct 2014 02:20:12 +0000 (02:20 +0000)]
Update .DEPS.git

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

10 days agoUpdate .DEPS.git
chrome-admin@google.com [Wed, 15 Oct 2014 02:19:59 +0000 (02:19 +0000)]
Update .DEPS.git

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

10 days agoAdding a prefix to distinct perf results so they are graphed separately.
bradnelson@google.com [Wed, 15 Oct 2014 00:13:38 +0000 (00:13 +0000)]
Adding a prefix to distinct perf results so they are graphed separately.

We inadvertently have added perf result tags which are duplicates.
The perf capture plumbing in run_test.py seems to honor only the last
item which ran.

For some time we've been running these variants:
- non-irt
- irt
- gn non-irt
- non-ragel non-irt

When dropping the non-ragel variant we have therefore seen a change in result.

Adding a prefix to each variant so that they are graphed separately.
Preserving the existing naming convention for the non-irt version.
Reusing existing perf environment naming scheme, but including the irt prefix and optional external prefix for use with gn.

Variations will now include:
* '' - without irt
* 'with_irt_' - with irt
* 'gn_' - gn built without irt
* 'gn_with_irt_' - gn built with irt (not currently run on the bots)

BUG=None
TEST=trybots
R=jvoung@chromium.org, nfullagar@google.com, nfullagar@chromium.org

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

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

10 days agoARM: Remove Scons support for using ARM soft-float toolchains
mseaborn@chromium.org [Tue, 14 Oct 2014 22:11:00 +0000 (22:11 +0000)]
ARM: Remove Scons support for using ARM soft-float toolchains

Just assume a hard-float ("hf") toolchain on ARM.

This simplifies the toolchain setup a little.

BUG=none
TEST=build

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

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

10 days agoScons: Stop scanning for multiple versions of ARM GCC
mseaborn@chromium.org [Tue, 14 Oct 2014 19:41:50 +0000 (19:41 +0000)]
Scons: Stop scanning for multiple versions of ARM GCC

The preferred way to install the ARM GCC cross-compiler is just to
install the Ubuntu package "gcc-arm-linux-gnueabihf".  This works on
both Ubuntu Precise and Trusty, and it installs a GCC without a
version suffix.

Scanning for suffixed versions is unnecessary and creates confusion
about what the preferred way to install ARM GCC is.

BUG=none
TEST=trybots (Ubuntu Precise) + tested manually on Ubuntu Trusty

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

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

11 days agoNonSFI mode: irt-exception-handling for nonsfi NaCl on newlib
uekawa@chromium.org [Tue, 14 Oct 2014 11:14:14 +0000 (11:14 +0000)]
NonSFI mode: irt-exception-handling for nonsfi NaCl on newlib

Implements enough sigaction / sigprocmask linux interface on nonsfi newlib in order to get mmap tests to pass on i386 and arm.

This change introduces arch-dependency in IRT code path because it's hard to be CPU independent when we're touching register information.

BUG= https://code.google.com/p/chromium/issues/detail?id=408879
TESTED=./scons run_mmap_test_irt --mode=dbg-host,nacl_irt_test bitcode=1 nonsfi_nacl=1
TESTED=./scons run_mmap_test_irt --mode=dbg-host,nacl_irt_test bitcode=1 nonsfi_nacl=1  platform=arm
TESTED=./scons run_mmap_test bitcode=1 nonsfi_nacl=1
TESTED=./scons --mode=dbg-host,nacl_irt_test nonsfi_tests bitcode=1 nonsfi_nacl=1 pnacl_generate_pexe=0
TESTED=./scons --mode=dbg-host,nacl_irt_test nonsfi_tests bitcode=1 nonsfi_nacl=1 pnacl_generate_pexe=0 platform=arm

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

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

11 days agoAllow non-crashing SIGSYS handlers.
rickyz@chromium.org [Mon, 13 Oct 2014 23:24:30 +0000 (23:24 +0000)]
Allow non-crashing SIGSYS handlers.

This is used in the seccomp bpf sandbox to intercept and handle certain
system calls.

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

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

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

11 days ago[MIPS] Enhance MIPS testing on its buildbot
petarj@mips.com [Mon, 13 Oct 2014 21:33:27 +0000 (21:33 +0000)]
[MIPS] Enhance MIPS testing on its buildbot

Modify the buildbot scripts so they can be reused for MIPS as well.
Execution of the tests is not yet enabled for MIPS since some tests do
not pass.

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

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

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

11 days agoCleanup: Remove GioMemoryFile (gio_mem.c), which is now unused
mseaborn@chromium.org [Mon, 13 Oct 2014 21:31:47 +0000 (21:31 +0000)]
Cleanup: Remove GioMemoryFile (gio_mem.c), which is now unused

The only remaining user of this was the old x86 validators, which have
been removed.

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

(I'm adding:
TBR=noone
as a workaround so that I can use the CQ to commit.
Otherwise the CQ complains that the reviewer wasn't a committer.)

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

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

11 days agoFix nonnacl_util64 gyp depedencies -- depend on foo64 instead of foo.
jvoung@google.com [Mon, 13 Oct 2014 20:41:40 +0000 (20:41 +0000)]
Fix nonnacl_util64 gyp depedencies -- depend on foo64 instead of foo.

E.g., imc64 instead of imc.

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

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

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

11 days agoUpdate .DEPS.git
chrome-admin@google.com [Mon, 13 Oct 2014 19:43:08 +0000 (19:43 +0000)]
Update .DEPS.git

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

11 days agoAdd test that checked-in trie matches the DFA.
shyamsundarr@chromium.org [Mon, 13 Oct 2014 19:42:32 +0000 (19:42 +0000)]
Add test that checked-in trie matches the DFA.

It is manual via ./scons dfachecktries for now. However, we can potentially add it to the validator buildbot once we are comfortable with the run time (after getting rid of the old validator tests for example).

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

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

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

11 days agoDelete old x86 validator.
shyamsundarr@chromium.org [Mon, 13 Oct 2014 18:56:54 +0000 (18:56 +0000)]
Delete old x86 validator.

The old x86 validator was only being kept around for comparison testing with the new validator. Given our new testing strategy, it is time to remove it.

TODO(shyamsundarr): Remove stubout mode completely given that only mips validator supports it.

validator/x86/ and sub directories are completely removed.
validator_x86/ now only contains the nccopycode library.

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

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

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

12 days agoUpdate .DEPS.git
chrome-admin@google.com [Mon, 13 Oct 2014 15:59:14 +0000 (15:59 +0000)]
Update .DEPS.git

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

12 days agoRun nacl-clang tests on PNaCl bots
dschuff@chromium.org [Mon, 13 Oct 2014 15:47:10 +0000 (15:47 +0000)]
Run nacl-clang tests on PNaCl bots

Also switch the x86-32 toolchain bot's test code to use buildbot_pnacl.py.
Now the only code that doesn't use it is the ARM hardware bots.

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

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

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

12 days agoUpdate .DEPS.git
chrome-admin@google.com [Mon, 13 Oct 2014 15:40:08 +0000 (15:40 +0000)]
Update .DEPS.git

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

2 weeks agoEnable x86-32 cross calling convention test for varargs and va_list and method pointers.
jvoung@google.com [Fri, 10 Oct 2014 23:52:28 +0000 (23:52 +0000)]
Enable x86-32 cross calling convention test for varargs and va_list and method pointers.

Now that i686-nacl-gcc is reverted to use the original
va_list def, it matches the i686-nacl-clang va_list.

Also enable and add more method pointer tests for:
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3961
They were disabled before because of a switch in the method
pointer representation, but that should have only affected
le32-nacl-clang, and not native-nacl-clang.

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

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

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

2 weeks agoUpdate revision for PNaCl r13879->r13890
dschuff@chromium.org [Fri, 10 Oct 2014 23:44:00 +0000 (23:44 +0000)]
Update revision for PNaCl r13879->r13890

Pull the following PNaCl changes into NaCl:
  r13880: (petarj@mips.com) PNaCl: Update LLVM revision in pnacl/COMPONENT_REVISIONS
    | 1fe3032: (jfb@chromium.org) PNaCl: Handle invoke instructions in -expand-small-arguments...
    | 8018d65: (petar.jovanovic@rt-rk.com) Apply upstream: [mips] For indirect calls we don't need $gp to point to .got
  r13885: (dschuff@chromium.org) Add back one exclusion to libcxx test known failures.
  r13888: (dschuff@chromium.org) Add nacl-clang testing to SCons
  r13889: (dschuff@chromium.org) Upload packages for nacl_clang libc++ and support libs

BUG= <none>
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3946
BUG= barebones/top_of_sandbox fails for MIPS
R=jvoung@chromium.org
TEST=git try
NOTRY=true
(Please LGTM this change and tick the "commit" box)

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

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

2 weeks agoRemove floating-point support from serialization library
mcgrathr@chromium.org [Fri, 10 Oct 2014 21:19:16 +0000 (21:19 +0000)]
Remove floating-point support from serialization library

The floating-point support in the serialization library is not
actually used.  Building it requires the nonstandard <ieee754.h>
header file, which is not available everywhere.  Drop this dead code.

BUG= none
TEST= trybots
R=sehr@chromium.org

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

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

2 weeks agoUpload packages for nacl_clang libc++ and support libs
dschuff@chromium.org [Fri, 10 Oct 2014 21:08:18 +0000 (21:08 +0000)]
Upload packages for nacl_clang libc++ and support libs

They have been built but not uploaded, so the installed packages are
missing them.

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

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

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

2 weeks agoAdd nacl-clang testing to SCons
dschuff@chromium.org [Fri, 10 Oct 2014 20:43:39 +0000 (20:43 +0000)]
Add nacl-clang testing to SCons

This CL adds a nacl_clang flag to SCons to use nacl-clang.

It adds an implicit dependence on -lpthread to nexes because nacl-clang
always links with it (because libc++ requires it). It's also enabled
for PNaCl; if this ends up working out well for nacl-clang maybe we can
remove the really ugly special-casing for pthread_private in pnacl-ld.

It modifies or disables a few tests, so that everything now build with
nacl-clang (or has a bug filed for why not).

It also ifdefs out the .init and .fini sections from crti/crtn, because
we do not use them with clang.

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

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

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

2 weeks agoMake nonsfi_tests with pnacl_generate_pexe=0 run on buildbot.
mazda@chromium.org [Fri, 10 Oct 2014 17:02:04 +0000 (17:02 +0000)]
Make nonsfi_tests with pnacl_generate_pexe=0 run on buildbot.

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

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

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

2 weeks agoUpdate NaCl x86 GCC newlib/glibc revision from 13729 to 13880.
jvoung@chromium.org [Fri, 10 Oct 2014 17:02:01 +0000 (17:02 +0000)]
Update NaCl x86 GCC newlib/glibc revision from 13729 to 13880.

Pulls in reverted va_list definition (r13877) and updated newlib to use abort() from libnacl instead of newlib (r13879).

BUG= https://code.google.com/p/nativeclient/issues/detail?id=3650
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3248
NOTRY=true

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

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

2 weeks agoAdd back one exclusion to libcxx test known failures.
dschuff@chromium.org [Fri, 10 Oct 2014 16:23:02 +0000 (16:23 +0000)]
Add back one exclusion to libcxx test known failures.

It was mistakenly removed in the last update.

R=jfb@chromium.org

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

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