Skip to content

Commit 3339f3a

Browse files
author
Peter Kolloch
committed
---
yaml --- r: 274169 b: refs/heads/stable c: 235bdf1 h: refs/heads/master i: 274167: 82b5578
1 parent f96f089 commit 3339f3a

File tree

566 files changed

+11683
-16181
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

566 files changed

+11683
-16181
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ refs/heads/tmp: e06d2ad9fcd5027bcaac5b08fc9aa39a49d0ecd3
2929
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f
3030
refs/tags/homu-tmp: c0221c8897db309a79990367476177b1230bb264
3131
refs/tags/1.0.0-beta: 8cbb92b53468ee2b0c2d3eeb8567005953d40828
32-
refs/heads/stable: 8ff48fea131c951d2054634dc0d77fb741999891
32+
refs/heads/stable: 235bdf1f3b463ae7bdb67196a8b28be434cde9d3
3333
refs/tags/1.0.0: 55bd4f8ff2b323f317ae89e254ce87162d52a375
3434
refs/tags/1.1.0: bc3c16f09287e5545c1d3f76b7abd54f2eca868b
3535
refs/tags/1.2.0: f557861f822c34f07270347b94b5280de20a597e

branches/stable/CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ labels to triage issues:
174174
* Yellow, **A**-prefixed labels state which **area** of the project an issue
175175
relates to.
176176

177-
* Magenta, **B**-prefixed labels identify bugs which are **blockers**.
177+
* Magenta, **B**-prefixed labels identify bugs which **belong** elsewhere.
178178

179179
* Green, **E**-prefixed labels explain the level of **experience** necessary
180180
to fix the issue.

branches/stable/Makefile.in

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,12 +220,19 @@ endif
220220
# The test suite
221221
ifneq ($(strip $(findstring check,$(MAKECMDGOALS)) \
222222
$(findstring test,$(MAKECMDGOALS)) \
223+
$(findstring perf,$(MAKECMDGOALS)) \
223224
$(findstring tidy,$(MAKECMDGOALS))),)
224225
CFG_INFO := $(info cfg: including test rules)
225226
include $(CFG_SRC_DIR)mk/tests.mk
226227
include $(CFG_SRC_DIR)mk/grammar.mk
227228
endif
228229

230+
# Performance and benchmarking
231+
ifneq ($(findstring perf,$(MAKECMDGOALS)),)
232+
CFG_INFO := $(info cfg: including perf rules)
233+
include $(CFG_SRC_DIR)mk/perf.mk
234+
endif
235+
229236
# Copy all the distributables to another directory for binary install
230237
ifneq ($(strip $(findstring prepare,$(MAKECMDGOALS)) \
231238
$(findstring dist,$(MAKECMDGOALS)) \

branches/stable/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Read ["Installing Rust"] from [The Book].
1717
1. Make sure you have installed the dependencies:
1818

1919
* `g++` 4.7 or `clang++` 3.x
20-
* `python` 2.7 or later (but not 3.x)
20+
* `python` 2.6 or later (but not 3.x)
2121
* GNU `make` 3.81 or later
2222
* `curl`
2323
* `git`
@@ -78,7 +78,7 @@ build.
7878
Download [MinGW from
7979
here](http://mingw-w64.org/doku.php/download/mingw-builds), and choose the
8080
`threads=win32,exceptions=dwarf/seh` flavor when installing. After installing,
81-
add its `bin` directory to your `PATH`. This is due to [#28260](https://github.com/rust-lang/rust/issues/28260), in the future,
81+
add its `bin` directory to your `PATH`. This is due to #28260, in the future,
8282
installing from pacman should be just fine.
8383
8484
```

branches/stable/configure

Lines changed: 7 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -499,18 +499,13 @@ case $CFG_CPUTYPE in
499499
CFG_CPUTYPE=aarch64
500500
;;
501501

502-
powerpc | ppc)
502+
# At some point, when ppc64[le] support happens, this will need to do
503+
# something clever. For now it's safe to assume that we're only ever
504+
# interested in building 32 bit.
505+
powerpc | ppc | ppc64)
503506
CFG_CPUTYPE=powerpc
504507
;;
505508

506-
powerpc64 | ppc64)
507-
CFG_CPUTYPE=powerpc64
508-
;;
509-
510-
powerpc64le | ppc64le)
511-
CFG_CPUTYPE=powerpc64le
512-
;;
513-
514509
x86_64 | x86-64 | x64 | amd64)
515510
CFG_CPUTYPE=x86_64
516511
;;
@@ -550,7 +545,7 @@ CFG_SELF="$0"
550545
CFG_CONFIGURE_ARGS="$@"
551546

552547

553-
case "${CFG_SRC_DIR}" in
548+
case "${CFG_SRC_DIR}" in
554549
*\ * )
555550
err "The path to the rust source directory contains spaces, which is not supported"
556551
;;
@@ -627,7 +622,6 @@ valopt aarch64-linux-android-ndk "" "aarch64-linux-android NDK standalone path"
627622
valopt nacl-cross-path "" "NaCl SDK path (Pepper Canary is recommended). Must be absolute!"
628623
valopt release-channel "dev" "the name of the release channel to build"
629624
valopt musl-root "/usr/local" "MUSL root installation directory"
630-
valopt extra-filename "" "Additional data that is hashed and passed to the -C extra-filename flag"
631625

632626
# Used on systems where "cc" and "ar" are unavailable
633627
valopt default-linker "cc" "the default linker"
@@ -892,13 +886,6 @@ then
892886
CFG_DISABLE_JEMALLOC=1
893887
fi
894888

895-
if [ $CFG_OSTYPE = pc-windows-gnu ]
896-
then
897-
# FIXME(#31030) - there's not a great reason to disable jemalloc here
898-
step_msg "on Windows, disabling jemalloc"
899-
CFG_DISABLE_JEMALLOC=1
900-
fi
901-
902889
# OS X 10.9, gcc is actually clang. This can cause some confusion in the build
903890
# system, so if we find that gcc is clang, we should just use clang directly.
904891
if [ $CFG_OSTYPE = apple-darwin -a -z "$CFG_ENABLE_CLANG" ]
@@ -1042,7 +1029,7 @@ then
10421029
if [ -n "$CFG_OSX_CLANG_VERSION" ]
10431030
then
10441031
case $CFG_OSX_CLANG_VERSION in
1045-
(7.0* | 7.1* | 7.2*)
1032+
(7.0*)
10461033
step_msg "found ok version of APPLE CLANG: $CFG_OSX_CLANG_VERSION"
10471034
;;
10481035
(*)
@@ -1361,22 +1348,16 @@ for h in $CFG_HOST
13611348
do
13621349
for t in $CFG_TARGET
13631350
do
1364-
# host bin dir stage0
1365-
make_dir $h/stage0/bin
1366-
13671351
# host lib dir stage0
13681352
make_dir $h/stage0/lib
13691353

1370-
# host test dir stage0
1371-
make_dir $h/stage0/test
1372-
13731354
# target bin dir stage0
13741355
make_dir $h/stage0/lib/rustlib/$t/bin
13751356

13761357
# target lib dir stage0
13771358
make_dir $h/stage0/lib/rustlib/$t/lib
13781359

1379-
for i in 1 2 3
1360+
for i in 0 1 2 3
13801361
do
13811362
# host bin dir
13821363
make_dir $h/stage$i/bin

branches/stable/mk/cfg/arm-unknown-linux-gnueabi.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ CFG_LIB_NAME_arm-unknown-linux-gnueabi=lib$(1).so
88
CFG_STATIC_LIB_NAME_arm-unknown-linux-gnueabi=lib$(1).a
99
CFG_LIB_GLOB_arm-unknown-linux-gnueabi=lib$(1)-*.so
1010
CFG_LIB_DSYM_GLOB_arm-unknown-linux-gnueabi=lib$(1)-*.dylib.dSYM
11-
CFG_JEMALLOC_CFLAGS_arm-unknown-linux-gnueabi := -D__arm__ -mfloat-abi=soft $(CFLAGS)
12-
CFG_GCCISH_CFLAGS_arm-unknown-linux-gnueabi := -Wall -g -fPIC -D__arm__ -mfloat-abi=soft $(CFLAGS)
11+
CFG_JEMALLOC_CFLAGS_arm-unknown-linux-gnueabi := -D__arm__ -mfpu=vfp $(CFLAGS)
12+
CFG_GCCISH_CFLAGS_arm-unknown-linux-gnueabi := -Wall -g -fPIC -D__arm__ -mfpu=vfp $(CFLAGS)
1313
CFG_GCCISH_CXXFLAGS_arm-unknown-linux-gnueabi := -fno-rtti $(CXXFLAGS)
1414
CFG_GCCISH_LINK_FLAGS_arm-unknown-linux-gnueabi := -shared -fPIC -g
1515
CFG_GCCISH_DEF_FLAG_arm-unknown-linux-gnueabi := -Wl,--export-dynamic,--dynamic-list=

branches/stable/mk/cfg/powerpc64-unknown-linux-gnu.mk

Lines changed: 0 additions & 24 deletions
This file was deleted.

branches/stable/mk/cfg/powerpc64le-unknown-linux-gnu.mk

Lines changed: 0 additions & 24 deletions
This file was deleted.

branches/stable/mk/cfg/x86_64-unknown-bitrig.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ CFG_STATIC_LIB_NAME_x86_64-unknown-bitrig=lib$(1).a
88
CFG_LIB_GLOB_x86_64-unknown-bitrig=lib$(1)-*.so
99
CFG_LIB_DSYM_GLOB_x86_64-unknown-bitrig=$(1)-*.dylib.dSYM
1010
CFG_JEMALLOC_CFLAGS_x86_64-unknown-bitrig := -m64 -I/usr/include $(CFLAGS)
11-
CFG_GCCISH_CFLAGS_x86_64-unknown-bitrig := -Wall -Werror -fPIE -fPIC -m64 -I/usr/include $(CFLAGS)
11+
CFG_GCCISH_CFLAGS_x86_64-unknown-bitrig := -Wall -Werror -fPIC -m64 -I/usr/include $(CFLAGS)
1212
CFG_GCCISH_LINK_FLAGS_x86_64-unknown-bitrig := -shared -pic -pthread -m64 $(LDFLAGS)
1313
CFG_GCCISH_DEF_FLAG_x86_64-unknown-bitrig := -Wl,--export-dynamic,--dynamic-list=
1414
CFG_LLC_FLAGS_x86_64-unknown-bitrig :=

branches/stable/mk/crates.mk

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ TARGET_CRATES := libc std flate arena term \
5757
RUSTC_CRATES := rustc rustc_typeck rustc_mir rustc_borrowck rustc_resolve rustc_driver \
5858
rustc_trans rustc_back rustc_llvm rustc_privacy rustc_lint \
5959
rustc_data_structures rustc_front rustc_platform_intrinsics \
60-
rustc_plugin rustc_metadata rustc_passes
60+
rustc_plugin rustc_metadata
6161
HOST_CRATES := syntax syntax_ext $(RUSTC_CRATES) rustdoc fmt_macros
6262
TOOLS := compiletest rustdoc rustc rustbook error-index-generator
6363

@@ -97,14 +97,13 @@ DEPS_rustc_data_structures := std log serialize
9797
DEPS_rustc_driver := arena flate getopts graphviz libc rustc rustc_back rustc_borrowck \
9898
rustc_typeck rustc_mir rustc_resolve log syntax serialize rustc_llvm \
9999
rustc_trans rustc_privacy rustc_lint rustc_front rustc_plugin \
100-
rustc_metadata syntax_ext rustc_passes
100+
rustc_metadata syntax_ext
101101
DEPS_rustc_front := std syntax log serialize
102102
DEPS_rustc_lint := rustc log syntax
103103
DEPS_rustc_llvm := native:rustllvm libc std rustc_bitflags
104104
DEPS_rustc_metadata := rustc rustc_front syntax rbml
105-
DEPS_rustc_passes := syntax rustc core rustc_front
106105
DEPS_rustc_mir := rustc rustc_front syntax
107-
DEPS_rustc_resolve := arena rustc rustc_front log syntax
106+
DEPS_rustc_resolve := rustc rustc_front log syntax
108107
DEPS_rustc_platform_intrinsics := rustc rustc_llvm
109108
DEPS_rustc_plugin := rustc rustc_metadata syntax
110109
DEPS_rustc_privacy := rustc rustc_front log syntax
@@ -176,5 +175,9 @@ endef
176175

177176
$(foreach crate,$(TOOLS),$(eval $(call RUST_TOOL,$(crate))))
178177

178+
ifdef CFG_DISABLE_ELF_TLS
179+
RUSTFLAGS_std := --cfg no_elf_tls
180+
endif
181+
179182
CRATEFILE_libc := $(SREL)src/liblibc/src/lib.rs
180183
RUSTFLAGS_libc := --cfg stdbuild

branches/stable/mk/main.mk

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
######################################################################
1414

1515
# The version number
16-
CFG_RELEASE_NUM=1.8.0
16+
CFG_RELEASE_NUM=1.7.0
1717

1818
# An optional number to put after the label, e.g. '.2' -> '-beta.2'
1919
# NB Make sure it starts with a dot to conform to semver pre-release
@@ -22,7 +22,7 @@ CFG_PRERELEASE_VERSION=.1
2222

2323
# Append a version-dependent hash to each library, so we can install different
2424
# versions in the same place
25-
CFG_FILENAME_EXTRA=$(shell printf '%s' $(CFG_RELEASE)$(CFG_EXTRA_FILENAME) | $(CFG_HASH_COMMAND))
25+
CFG_FILENAME_EXTRA=$(shell printf '%s' $(CFG_RELEASE) | $(CFG_HASH_COMMAND))
2626

2727
ifeq ($(CFG_RELEASE_CHANNEL),stable)
2828
# This is the normal semver version string, e.g. "0.12.0", "0.12.0-nightly"
@@ -522,6 +522,14 @@ STAGE$(1)_T_$(2)_H_$(3) := \
522522
$$(CFG_RUSTC_FLAGS) $$(EXTRAFLAGS_STAGE$(1)) --target=$(2)) \
523523
$$(RUSTC_FLAGS_$(2))
524524

525+
PERF_STAGE$(1)_T_$(2)_H_$(3) := \
526+
$$(Q)$$(call CFG_RUN_TARG_$(3),$(1), \
527+
$$(CFG_PERF_TOOL) \
528+
$$(HBIN$(1)_H_$(3))/rustc$$(X_$(3)) \
529+
--cfg $$(CFGFLAG$(1)_T_$(2)_H_$(3)) \
530+
$$(CFG_RUSTC_FLAGS) $$(EXTRAFLAGS_STAGE$(1)) --target=$(2)) \
531+
$$(RUSTC_FLAGS_$(2))
532+
525533
endef
526534

527535
$(foreach build,$(CFG_HOST), \

branches/stable/mk/perf.mk

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Copyright 2012 The Rust Project Developers. See the COPYRIGHT
2+
# file at the top-level directory of this distribution and at
3+
# http://rust-lang.org/COPYRIGHT.
4+
#
5+
# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
# option. This file may not be copied, modified, or distributed
9+
# except according to those terms.
10+
11+
12+
ifdef CFG_PERF_TOOL
13+
rustc-perf$(X): $(CFG_BUILD)/stage2/bin/rustc$(X_$(CFG_BUILD))
14+
@$(call E, perf compile: $@)
15+
$(PERF_STAGE2_T_$(CFG_BUILD)_H_$(CFG_BUILD)) \
16+
-o $@ $(COMPILER_CRATE) >rustc-perf.err 2>&1
17+
$(Q)rm -f $(LIBRUSTC_GLOB)
18+
else
19+
rustc-perf$(X): $(CFG_BUILD)/stage2/bin/rustc$(X_$(CFG_BUILD))
20+
$(Q)touch $@
21+
endif
22+
23+
perf: check-stage2-perf rustc-perf$(X_$(CFG_BUILD))
24+
$(Q)find $(CFG_BUILD)/test/perf -name \*.err | xargs cat
25+
$(Q)cat rustc-perf.err

branches/stable/mk/platform.mk

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,23 @@ define DEF_GOOD_VALGRIND
7777
endef
7878
$(foreach t,$(CFG_TARGET),$(eval $(call DEF_GOOD_VALGRIND,$(t))))
7979

80+
ifneq ($(findstring linux,$(CFG_OSTYPE)),)
81+
ifdef CFG_PERF
82+
ifneq ($(CFG_PERF_WITH_LOGFD),)
83+
CFG_PERF_TOOL := $(CFG_PERF) stat -r 3 --log-fd 2
84+
else
85+
CFG_PERF_TOOL := $(CFG_PERF) stat -r 3
86+
endif
87+
else
88+
ifdef CFG_VALGRIND
89+
CFG_PERF_TOOL := \
90+
$(CFG_VALGRIND) --tool=cachegrind --cache-sim=yes --branch-sim=yes
91+
else
92+
CFG_PERF_TOOL := /usr/bin/time --verbose
93+
endif
94+
endif
95+
endif
96+
8097
AR := ar
8198

8299
define SET_FROM_CFG

0 commit comments

Comments
 (0)