Skip to content

Port Rust to PNaCl. #26148

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 50 commits into from
Closed
Changes from 1 commit
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
bda0a8d
Port libstd to PNaCl.
DiamondLovesYou Jun 9, 2015
a98088c
Add the NaCl OS && `le32` architecture enum values.
DiamondLovesYou Jun 9, 2015
2b11e78
Port libcore to PNaCl.
DiamondLovesYou Jun 9, 2015
6f554e0
Port liballoc to PNaCl.
DiamondLovesYou Jun 9, 2015
e85a636
Makefile changes for PNaCl.
DiamondLovesYou Jun 9, 2015
5b2e7a8
Don't allow some SIMD types which aren't rewriten by the PNaCl IR sim…
DiamondLovesYou Jun 9, 2015
b6141ae
Provide `rust_readdir_r` for Newlib.
DiamondLovesYou Jun 9, 2015
0fdbc6b
Define unwinding functions so we don't have to depend on `unwind.bc` …
DiamondLovesYou Jun 9, 2015
7c96f92
Wrap PNaCl specific parts of LLVM for Rust.
DiamondLovesYou Jun 9, 2015
64424ec
Add `main_link_name` attribute for use with `nacl-spawn`.
DiamondLovesYou Jun 9, 2015
b854999
`librustc` changes needed for PNaCl.
DiamondLovesYou Jun 9, 2015
a0c8bf7
Add an option for specifying the gold plugin to use.
DiamondLovesYou Jun 9, 2015
e28f458
`librustc_back` changes for PNaCl.
DiamondLovesYou Jun 9, 2015
aba1a3b
Add a forgotten file to `librustc`.
DiamondLovesYou Jun 9, 2015
a8f0b98
`librustc_driver` changes for PNaCl.
DiamondLovesYou Jun 9, 2015
5cab570
`librustc_llvm` changes for PNaCl.
DiamondLovesYou Jun 9, 2015
7804b55
`librustc_trans` changes for PNaCl.
DiamondLovesYou Jun 9, 2015
888a9a5
`librustdoc` changes for hosting on PNaCl.
DiamondLovesYou Jun 9, 2015
f1b3964
`configure` changes for PNaCl + changes for hosting Rust on PNaCl.
DiamondLovesYou Jun 10, 2015
4cff458
Add the `le32-unknown-nacl` target!
DiamondLovesYou Jun 10, 2015
e6a22bf
Add a forgotten part of mk/rt.mk.
DiamondLovesYou Jun 10, 2015
16661b5
`glibc-compat` can be found in the toolchain w/ use of `naclports`.
DiamondLovesYou Jun 10, 2015
c345211
Automatically set --llvm-root if targeting PNaCl.
DiamondLovesYou Jun 10, 2015
36a9117
`-rewrite-llvm-debugtrap-intrinsic` doesn't exist in `pnacl-llvm`
DiamondLovesYou Jun 10, 2015
b9d0e3c
Use globs.
DiamondLovesYou Jun 10, 2015
9596582
Move link deps to `rtdeps.rs`
DiamondLovesYou Jun 10, 2015
19e029a
Add a comment.
DiamondLovesYou Jun 10, 2015
d1a5ef4
Remove some stuff that shouldn't be.
DiamondLovesYou Jun 10, 2015
6ef772d
Refactor.
DiamondLovesYou Jun 10, 2015
2cc9544
Correct a couple of mistakes in mk/main.mk
DiamondLovesYou Jun 10, 2015
a9b258b
Remove an extra ')'.
DiamondLovesYou Jun 10, 2015
7b3df44
Add a new flag to TargetOptions, de-pnacl-ify the check for asm.
DiamondLovesYou Jun 10, 2015
9036369
Remove some dead code.
DiamondLovesYou Jun 10, 2015
3e6ae80
Remove two unused functions.
DiamondLovesYou Jun 10, 2015
654dfa8
Move a function to a more local location.
DiamondLovesYou Jun 10, 2015
ea03016
Fix some compile errors.
DiamondLovesYou Jun 18, 2015
b74278c
Allow the Rust tools to run on PNaCl.
DiamondLovesYou Jun 18, 2015
57453b0
Don't forget to add a target spec key for `no_asm`.
DiamondLovesYou Jun 18, 2015
7952e55
Don't forget to load the PNaCl target.
DiamondLovesYou Jun 18, 2015
5fc7743
Remove unused imports.
DiamondLovesYou Jun 18, 2015
bead590
Add code to allow `compiletest` to run PNaCl tests.
DiamondLovesYou Jun 18, 2015
96bb8ea
s/TODO/FIXME/
DiamondLovesYou Jun 18, 2015
e50d108
Add a new `is_like_pnacl` target option field.
DiamondLovesYou Jun 20, 2015
8266f1c
Move two functions to a location closer to their use.
DiamondLovesYou Jun 20, 2015
9aee917
Mips has NaCl support.
DiamondLovesYou Jun 20, 2015
2bfa689
Remove pound sign.
DiamondLovesYou Jun 20, 2015
9592500
Fix tidy.
DiamondLovesYou Jun 20, 2015
06a4b76
Refactor.
DiamondLovesYou Jun 20, 2015
fe3e338
Rust will use the NaCl SDK LLVM, so the debug versions will always ma…
DiamondLovesYou Jun 20, 2015
bc0b435
Bump clang to 3.7.0
DiamondLovesYou Jun 20, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add the le32-unknown-nacl target!
  • Loading branch information
DiamondLovesYou committed Jun 10, 2015
commit 4cff45877fc272b9a85ea43e79d85e3eb41dff7e
38 changes: 38 additions & 0 deletions mk/cfg/le32-unknown-nacl.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# le32-unknown-nacl (portable, PNaCl)
CROSS_PREFIX_le32-unknown-nacl:=$(CFG_NACL_CROSS_PATH)/toolchain/$(NACL_TOOLCHAIN_OS_PATH)_pnacl/bin/pnacl-
CC_le32-unknown-nacl=clang
CXX_le32-unknown-nacl=clang++
CPP_le32-unknown-nacl=$(CXX_le32-unknown-nacl) -E
AR_le32-unknown-nacl=ar

# Note: pso's aren't supported by PNaCl or Rust yet.
CFG_LIB_NAME_le32-unknown-nacl=lib$(1).pso
CFG_STATIC_LIB_NAME_le32-unknown-nacl=lib$(1).a
CFG_LIB_GLOB_le32-unknown-nacl=lib$(1)-*.pso
CFG_LIB_DSYM_GLOB_le32-unknown-nacl=lib$(1)-*.dylib.dSYM
CFG_CFLAGS_le32-unknown-nacl := -Wall -Wno-unused-variable -Wno-unused-value -I$(CFG_NACL_CROSS_PATH)/include -I$(CFG_NACL_CROSS_PATH)/include/pnacl -D_YUGA_LITTLE_ENDIAN=1 -D_YUGA_BIG_ENDIAN=0 -Os
CFG_CXXFLAGS_le32-unknown-nacl := -stdlib=libc++ $(CFG_CFLAGS_le32-unknown-nacl)
CFG_GCCISH_CFLAGS_le32-unknown-nacl := $(CFG_CFLAGS_le32-unknown-nacl)
CFG_GCCISH_CXXFLAGS_le32-unknown-nacl := $(CFG_CXXFLAGS_le32-unknown-nacl)
CFG_GCCISH_LINK_FLAGS_le32-unknown-nacl := -static -pthread -lm
CFG_GCCISH_DEF_FLAG_le32-unknown-nacl := -Wl,--export-dynamic,--dynamic-list=
CFG_GCCISH_PRE_LIB_FLAGS_le32-unknown-nacl := -Wl,-no-whole-archive
CFG_GCCISH_POST_LIB_FLAGS_le32-unknown-nacl :=
CFG_DEF_SUFFIX_le32-unknown-nacl := .le32.nacl.def
CFG_INSTALL_NAME_le32-unknown-nacl =
CFG_LIBUV_LINK_FLAGS_le32-unknown-nacl =
CFG_DISABLE_LIBUV_le32-unknown-nacl := 1
CFG_EXE_SUFFIX_le32-unknown-nacl = .pexe
CFG_WINDOWSY_le32-unknown-nacl :=
CFG_UNIXY_le32-unknown-nacl := 1
CFG_NACLY_le32-unknown-nacl := 1
CFG_PATH_MUNGE_le32-unknown-nacl := true
CFG_LDPATH_le32-unknown-nacl :=
CFG_RUN_le32-unknown-nacl=$(2)
CFG_RUN_TARG_le32-unknown-nacl=$(call CFG_RUN_le32-unknown-nacl,,$(2))
SHARED_LIBS_DISABLED_le32-unknown-nacl := 1
RUNTIME_CFLAGS_le32-unknown-nacl:= -I$(CFG_NACL_CROSS_PATH)/include/pnacl
RUNTIME_DISABLE_ASM_le32-unknown-nacl := 1
RUSTC_FLAGS_le32-unknown-nacl:=
RUSTC_CROSS_FLAGS_le32-unknown-nacl=-C cross-path=$(CFG_NACL_CROSS_PATH) --cfg "target_libc=\"newlib\"" -L $(CFG_NACL_CROSS_PATH)/lib/pnacl/Release -L $(CFG_NACL_CROSS_PATH)/toolchain/$(NACL_TOOLCHAIN_OS_PATH)_pnacl/lib/clang/3.6.0/lib/le32-nacl -L $(S)src/etc/third-party/nacl-spawn/lib
CFG_GNU_TRIPLE_le32-unknown-nacl := le32-unknown-nacl