Update revision for PNaCl

Update f7d719122cd7c2fe3ebc52e7c0b011c583bf3e9c -> 5dfe030a71ca66e72c5719ef5034c2ed24706c43

Pull the following PNaCl changes into NaCl:
  a123a8b: (stichnot@chromium.org) PNaCl: Update subzero revision in pnacl/COMPONENT_REVISIONS
    | 8fbddc6: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Randomly insert NOP
    | 3e37647: (capn@google.com) Abstract the ELFStreamer class.
    | 40fc819: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: nacl-other-intrinsics-mips merged to original file
    | 132ea7a: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Floating point support in ELF output
    | 41ce47c: (capn@google.com) Allow 64-bit code to be stored as ELF64.
    | 464df5b: (capn@google.com) Implement Microsoft x86-64 calling convention support.
    | cc6dea7: (jaydeep.patil@imgtec.com) [SubZero] Use DIV instruction instead of TargetHelperCall
    | 3b61d70: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: lowerUnreachable
    | cf9c12f: (jaydeep.patil@imgtec.com) [SubZero] lower float and double constants for MIPS
    | 8d16c1d: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Encoding of FP comparison instructions
    | 0465d02: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Intrinsic call Trap
    | d895447: (jaydeep.patil@imgtec.com) [SubZero] Fix floating-point comparison for MIPS
    | f5d8e09: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Remove duplicate functionalities
    | cadda79: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Instruction NOR, pseudoinstruction NOT
    | d27ce3d: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Intrinsic call Ctlz for i32
    | 6ee373f: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Fix floating point comparison crosstest
    | 0a7f99d: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Intrinsic call Cttz for i32
    | 86b60ef: (sagar.thakur@imgtec.com) [Subzero][MIPS32] Implements 64-bit shl, lshr, ashr for MIPS
    | 98405d3: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: lowerSelect for i64
    | 623f8ce: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Cross-testing enabled for MIPS32
    | 4c49b10: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Filling missing bits from genTargetHelperCallFor
    | 58eeedf: (jaydeep.patil@imgtec.com) Subzero, MIPS32: Binding intrablock labels, unconditional branch
    | 6fd9c0e: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Intrinsic calls Ctlz and Cttz for i64
    | 175cb13: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: Intrinsic call Bswap for i16, i32 and i64
    | 6163c62: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: DIVU instruction encoding
    | b0f09fc: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: MOVZ instruction encoding
    | 70b6ed4: (sagar.thakur@imgtec.com) [Subzero][MIPS] Implement 64-bit integer compare operations
    | fe93fdd: (Srdjan.Obucina@imgtec.com) Subzero, MIPS32: SRAV instruction encoding
    | f53580b: (capn@google.com) Don't emit address size prefixes for native x86-64 ABI.
    | 269eed4: (sagar.thakur@imgtec.com) [Subzero][MIPS] Add RUN command line with -Om1 in test 64bit.pnacl.ll
    | 9309756: (sagar.thakur@imgtec.com) [Subzero][MIPS] Implement conditional branches with 64-bit integer compares
    | 958ddb7: (jaydeep.patil@imgtec.com) [SubZero] Vector types support for MIPS
    | 033dda7: (stichnot@chromium.org) Subzero: Remove --skip-unimplemented from ARM lit tests.
    | afe5fe2: (makdstefan@gmail.com) Subzero, MIPS32: Fix conditional mov instructions
    | 533a514: (stichnot@chromium.org) Subzero: Fix "make -f Makefile.standalone check-lit FORCEASM=1".
    | acfb3df: (capn@google.com) Implement intrinsics for loading/storing subvectors.
    | 71c6937: (capn@google.com) Optimize lowering of x86 byte and word vector unpack.
    | b093539: (capn@google.com) Optimize x86 vector shift by constant.
    | 46f4fea: (capn@google.com) Support running unit tests on Windows.
    | b001cc4: (sagar.thakur@imgtec.com) [Subzero][MIPS32] Implement bitcast operation for both 32-bit and 64-bit operands
  d564ff3: (petarj@mips.com) PNaCl: Update llvm revision in pnacl/COMPONENT_REVISIONS
    | 5a87509: (kschimpf@google.com) Create one-off tool pnacl-hack-memset
    | 1d79adf: (petar.jovanovic@rt-rk.com) Cherry-pick r237153: [Mips] Return false for isFPCloseToIncomingSP()
    | 7251d5b: (petar.jovanovic@rt-rk.com) Cherry-pick r246309: [mips] Remove incorrect DebugLoc entries from prologue
  cb27d1f: (petarj@mips.com) [MIPS] Remove explicit masks from assembly code
  01d3ae0: (stichnot@chromium.org) PNaCl: Update subzero revision in pnacl/COMPONENT_REVISIONS
    | ec92917: (jaydeep.patil@imgtec.com) [SubZero] Legalize load, store for MIPS post lower
    | 4683237: (sagar.thakur@imgtec.com) [Subzero][MIPS32] Fix alloca alignment and offset for Om1 and O2 optimization
    | 45e4d5e: (jaydeep.patil@imgtec.com) [SubZero] Handle relocatable constants for MIPS
    | 3a01f33: (jaydeep.patil@imgtec.com) [SubZero] Implement Fcmp, ICmp, Cast and Select for vector type
    | f52cea4: (capn@google.com) Fix unpacking from a single vector.
    | 7638e27: (capn@google.com) Add x86 vector packing instructions.
    | 0e90622: (capn@google.com) Generate error on unexpected intrisics.
    | 89be887: (sagar.thakur@imgtec.com) [Subzero][MIPS32] Account for variable alloca alignment bytes in addProlog
    | 1448d95: (capn@google.com) Optimize shuffles corresponding to x86 punpckh instructions.
    | 7145e69: (stichnot@chromium.org) Subzero: Fix compiler warnings.
    | 32f9cce: (capn@google.com) Fix 64-bit pointer type for non-x32 ABIs.
    | ef8210d: (capn@google.com) Implement vector packing intrinsics.
    | 8b8af82: (capn@google.com) Implement bitcast between i32 and (emulated) v4i8.
    | e3cabda: (capn@google.com) Implement vector sign mask intrinsic.
    | d0e3030: (capn@google.com) Assert that PNaCl bitcode only uses 128-bit vector casts.
    | c9e91af: (capn@google.com) Remove verified asserts.
    | 61593fb: (capn@google.com) Fix unit tests.
    | a3688ea: (capn@google.com) Fix two-vector unpack case.
    | a7979bf: (jaydeep.patil@imgtec.com) [SubZero] Fix f64 to/from i64 moves
    | 0dabe18: (makdstefan@gmail.com) Subzero, MIPS32: Remove --skip-unimplemented from lit tests
    | 130aca7: (jaydeep.patil@imgtec.com) [SubZero] Generate relocations for MIPS
    | 73ae4fd: (capn@google.com) Preserve rsi and rdi when using Microsoft x86-64 calling convention.
    | 7ad028e: (makdstefan@gmail.com) This patch enables running a couple more of lit tests for MIPS32
    | 956cfd6: (capn@google.com) Generalize the Sqrt intrinsic to process vectors.
    | 13cde0f: (capn@google.com) Implement integer vector multiply intrinsics.
    | 67a49b5: (capn@google.com) Implement saturated vector add/subtract.
    | 0c4c07d: (jaydeep.patil@imgtec.com) [SubZero] Fix code generation for vector type
    | f8c9977: (makdstefan@gmail.com) Subzero, MIPS32: Stacksave/Stackrestore implementation
    | f0d12c3: (capn@google.com) Implement floating-point rounding intrinsic.
    | 3da9f65: (jaydeep.patil@imgtec.com) [SubZero] Generate MIPS.abiflags section
    | 21f78bb: (jaydeep.patil@imgtec.com) [SubZero] Utilize instructions with immediate operands
    | 83425de: (capn@google.com) Support 64-bit jump tables with LP64 data model.
    | 6e03343: (makdstefan@gmail.com) Subzero, MIPS32: Sandbox initial patch
    | becb85f: (sagar.thakur@imgtec.com) [Subzero][MIPS] Implements atomic intrinsics for MIPS32
    | 8208e75: (makdstefan@gmail.com) Subzero, MIPS32: Changes for improving sandbox crosstest results
    | 2220990: (capn@google.com) Fix offset adjustment in x86 address optimization.
    | ef18fc5: (capn@google.com) Match sub-vector load/store operand order to regular load/store.
    | 8be6975: (jaydeep.patil@imgtec.com) [SubZero] Fix size of arguments on stack
    | e1e1783: (capn@google.com) Fix skipping deleted instructions before replacing operands.
    | a29da90: (capn@google.com) Ensure that the sub-vector load destination is a register.
    | 579b1b3: (capn@google.com) Generalize vector shuffling to accept any operand.
    | 373913f: (stichnot@chromium.org) Subzero: Legalize the movzx argument.
    | 35bbca3: (stichnot@chromium.org) Subzero: Fix multiply defined symbols in Windows/g++ build.
  5dfe030: (stichnot@chromium.org) PNaCl: Update subzero revision in pnacl/COMPONENT_REVISIONS

BUG= <none>
BUG= none
BUG= pnacl-llc aborts on run_vector_extension_test for MIPS
BUG= swiftshader:15
BUG= swiftshader:24
R=dschuff@chromium.org, petarj@mips.com, stichnot@chromium.org
TEST=git cl try
(Please LGTM this change and tick the "commit" box)

Review-Url: https://codereview.chromium.org/2623603002 .
3 files changed
tree: c772f94d544f2fd3665310724c518a32067ff162
  1. .gitignore
  2. .gn
  4. BUILD.gn
  6. DEPS
  10. PRESUBMIT.py
  11. README.md
  12. SConstruct
  13. build/
  14. buildbot/
  15. codereview.settings
  16. config.gni
  17. docs/
  18. documentation/
  19. infra/
  20. pnacl/
  21. pynacl/
  22. run.py
  23. scons
  24. scons.bat
  25. scons.py
  26. site_scons/
  27. src/
  28. tests/
  29. toolchain_build/
  30. toolchain_revisions/
  31. tools/

Native Client

Welcome to Native Client. For the latest information about Native Client, see the Native Client project page.


Most of the Native Client project documentation is available online:

Directory structure

The following list describes major files and directories that you‘ll see in your working copy of the repository, including some directories that don’t exist until you've built Native Client. Paths are relative to the native_client directory.

  • COPYING NOTICE README.md RELEASE_NOTES documentation/: Documentation, release, and license information.

  • SConstruct scons.bat scons scons-out/ site_scons/: Build-related files. The scons.bat and scons files, with data from SConstruct, let you build Native Client and its tests. The scons-out and site-scons directories don‘t exist in the git repository; they’re created when Native Client is built. The scons-out/*/staging directories contain files, such as the Native Client plug-in and compiled examples, that let you use and test Native Client.

  • src/: Core source code for Native Client.

  • src/include/: Header files that are missing from some platforms and are used by more than one major part of Native Client

  • src/shared/: Source code that's used by both trusted code (such as the service runtime) and untrusted code (such as Native Client modules)

  • src/third_party: Other people's source code

  • src/trusted/: Source code that's used only by trusted code

  • src/untrusted/: Source code that's used only by untrusted code

  • tests/common/: Source code for examples and tests.

  • ../third_party/: Third-party source code and binaries that aren't part of the service runtime. When built, the Native Client toolchain is in src/third_party/nacl_sdk/.

  • tools/: Utilities such as the plug-in installer.