Skip to content

Commit fff04ab

Browse files
---
yaml --- r: 235517 b: refs/heads/stable c: f9a20bb h: refs/heads/master i: 235515: fb0237f v: v3
1 parent 45a6737 commit fff04ab

Some content is hidden

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

65 files changed

+677
-202
lines changed

[refs]

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

branches/stable/src/librustc/lib.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,14 @@ pub mod diagnostics;
9999

100100
pub mod back {
101101
pub use rustc_back::abi;
102+
pub use rustc_back::arm;
103+
pub use rustc_back::mips;
104+
pub use rustc_back::mipsel;
102105
pub use rustc_back::rpath;
103106
pub use rustc_back::svh;
107+
pub use rustc_back::target_strs;
108+
pub use rustc_back::x86;
109+
pub use rustc_back::x86_64;
104110
}
105111

106112
pub mod ast_map;
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
// Copyright 2012-2015 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+
use target_strs;
12+
use syntax::abi;
13+
14+
pub fn get_target_strs(target_triple: String, target_os: abi::Os) -> target_strs::t {
15+
let cc_args = if target_triple.contains("thumb") {
16+
vec!("-mthumb".to_string())
17+
} else {
18+
vec!("-marm".to_string())
19+
};
20+
return target_strs::t {
21+
module_asm: "".to_string(),
22+
23+
data_layout: match target_os {
24+
abi::OsMacos => {
25+
"e-p:32:32:32\
26+
-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64\
27+
-f32:32:32-f64:64:64\
28+
-v64:64:64-v128:64:128\
29+
-a:0:64-n32".to_string()
30+
}
31+
32+
abi::OsiOS => {
33+
"e-p:32:32:32\
34+
-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64\
35+
-f32:32:32-f64:64:64\
36+
-v64:64:64-v128:64:128\
37+
-a:0:64-n32".to_string()
38+
}
39+
40+
abi::OsWindows => {
41+
"e-p:32:32:32\
42+
-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64\
43+
-f32:32:32-f64:64:64\
44+
-v64:64:64-v128:64:128\
45+
-a:0:64-n32".to_string()
46+
}
47+
48+
abi::OsLinux => {
49+
"e-p:32:32:32\
50+
-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64\
51+
-f32:32:32-f64:64:64\
52+
-v64:64:64-v128:64:128\
53+
-a:0:64-n32".to_string()
54+
}
55+
56+
abi::OsAndroid => {
57+
"e-p:32:32:32\
58+
-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64\
59+
-f32:32:32-f64:64:64\
60+
-v64:64:64-v128:64:128\
61+
-a:0:64-n32".to_string()
62+
}
63+
64+
abi::OsFreebsd | abi::OsDragonfly | abi::OsBitrig | abi::OsOpenbsd | abi::OsNetbsd => {
65+
"e-p:32:32:32\
66+
-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64\
67+
-f32:32:32-f64:64:64\
68+
-v64:64:64-v128:64:128\
69+
-a:0:64-n32".to_string()
70+
}
71+
},
72+
73+
target_triple: target_triple,
74+
75+
cc_args: cc_args,
76+
};
77+
}

branches/stable/src/librustc_back/lib.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,13 @@ extern crate rustc_llvm;
5252

5353
pub mod abi;
5454
pub mod tempdir;
55+
pub mod arm;
56+
pub mod mips;
57+
pub mod mipsel;
5558
pub mod rpath;
5659
pub mod sha2;
5760
pub mod svh;
61+
pub mod target_strs;
62+
pub mod x86;
63+
pub mod x86_64;
5864
pub mod target;
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
// Copyright 2012-2015 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+
use target_strs;
12+
use syntax::abi;
13+
14+
pub fn get_target_strs(target_triple: String, target_os: abi::Os) -> target_strs::t {
15+
return target_strs::t {
16+
module_asm: "".to_string(),
17+
18+
data_layout: match target_os {
19+
abi::OsMacos => {
20+
"E-p:32:32:32\
21+
-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64\
22+
-f32:32:32-f64:64:64\
23+
-v64:64:64-v128:64:128\
24+
-a:0:64-n32".to_string()
25+
}
26+
27+
abi::OsiOS => {
28+
"E-p:32:32:32\
29+
-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64\
30+
-f32:32:32-f64:64:64\
31+
-v64:64:64-v128:64:128\
32+
-a:0:64-n32".to_string()
33+
}
34+
35+
abi::OsWindows => {
36+
"E-p:32:32:32\
37+
-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64\
38+
-f32:32:32-f64:64:64\
39+
-v64:64:64-v128:64:128\
40+
-a:0:64-n32".to_string()
41+
}
42+
43+
abi::OsLinux => {
44+
"E-p:32:32:32\
45+
-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64\
46+
-f32:32:32-f64:64:64\
47+
-v64:64:64-v128:64:128\
48+
-a:0:64-n32".to_string()
49+
}
50+
51+
abi::OsAndroid => {
52+
"E-p:32:32:32\
53+
-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64\
54+
-f32:32:32-f64:64:64\
55+
-v64:64:64-v128:64:128\
56+
-a:0:64-n32".to_string()
57+
}
58+
59+
abi::OsBitrig | abi::OsDragonfly | abi::OsFreebsd | abi::OsNetbsd | abi::OsOpenbsd => {
60+
"E-p:32:32:32\
61+
-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64\
62+
-f32:32:32-f64:64:64\
63+
-v64:64:64-v128:64:128\
64+
-a:0:64-n32".to_string()
65+
}
66+
},
67+
68+
target_triple: target_triple,
69+
70+
cc_args: Vec::new(),
71+
};
72+
}
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
// Copyright 2012-2015 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+
use target_strs;
12+
use syntax::abi;
13+
14+
pub fn get_target_strs(target_triple: String, target_os: abi::Os) -> target_strs::t {
15+
return target_strs::t {
16+
module_asm: "".to_string(),
17+
18+
data_layout: match target_os {
19+
abi::OsMacos => {
20+
"e-p:32:32:32\
21+
-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64\
22+
-f32:32:32-f64:64:64\
23+
-v64:64:64-v128:64:128\
24+
-a:0:64-n32".to_string()
25+
}
26+
27+
abi::OsiOS => {
28+
"e-p:32:32:32\
29+
-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64\
30+
-f32:32:32-f64:64:64\
31+
-v64:64:64-v128:64:128\
32+
-a:0:64-n32".to_string()
33+
}
34+
35+
abi::OsWindows => {
36+
"e-p:32:32:32\
37+
-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64\
38+
-f32:32:32-f64:64:64\
39+
-v64:64:64-v128:64:128\
40+
-a:0:64-n32".to_string()
41+
}
42+
43+
abi::OsLinux => {
44+
"e-p:32:32:32\
45+
-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64\
46+
-f32:32:32-f64:64:64\
47+
-v64:64:64-v128:64:128\
48+
-a:0:64-n32".to_string()
49+
}
50+
51+
abi::OsAndroid => {
52+
"e-p:32:32:32\
53+
-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64\
54+
-f32:32:32-f64:64:64\
55+
-v64:64:64-v128:64:128\
56+
-a:0:64-n32".to_string()
57+
}
58+
59+
abi::OsFreebsd | abi::OsDragonfly | abi::OsBitrig | abi::OsOpenbsd | abi::OsNetbsd => {
60+
"e-p:32:32:32\
61+
-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64\
62+
-f32:32:32-f64:64:64\
63+
-v64:64:64-v128:64:128\
64+
-a:0:64-n32".to_string()
65+
}
66+
},
67+
68+
target_triple: target_triple,
69+
70+
cc_args: Vec::new(),
71+
};
72+
}

branches/stable/src/librustc_back/target/aarch64_apple_ios.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ use super::apple_ios_base::{opts, Arch};
1313

1414
pub fn target() -> Target {
1515
Target {
16+
// reference layout: e-m:o-i64:64-i128:128-n32:64-S128
17+
data_layout: "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-\
18+
i128:128-f32:32:32-f64:64:64-v64:64:64-v128:128:128-\
19+
a:0:64-n32:64-S128".to_string(),
1620
llvm_target: "arm64-apple-ios".to_string(),
1721
target_endian: "little".to_string(),
1822
target_pointer_width: "64".to_string(),

branches/stable/src/librustc_back/target/aarch64_linux_android.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ use target::Target;
1212

1313
pub fn target() -> Target {
1414
Target {
15+
data_layout: "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-\
16+
f32:32:32-f64:64:64-v64:64:64-v128:128:128-a:0:64-\
17+
n32:64-S128".to_string(),
1518
llvm_target: "aarch64-linux-android".to_string(),
1619
target_endian: "little".to_string(),
1720
target_pointer_width: "64".to_string(),

branches/stable/src/librustc_back/target/aarch64_unknown_linux_gnu.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ use target::Target;
1313
pub fn target() -> Target {
1414
let base = super::linux_base::opts();
1515
Target {
16+
data_layout: "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-\
17+
f32:32:32-f64:64:64-v64:64:64-v128:128:128-a:0:64-\
18+
n32:64-S128".to_string(),
1619
llvm_target: "aarch64-unknown-linux-gnu".to_string(),
1720
target_endian: "little".to_string(),
1821
target_pointer_width: "64".to_string(),

branches/stable/src/librustc_back/target/apple_base.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ pub fn opts() -> TargetOptions {
2323
has_rpath: true,
2424
dll_prefix: "lib".to_string(),
2525
dll_suffix: ".dylib".to_string(),
26-
archive_format: "bsd".to_string(),
2726
pre_link_args: Vec::new(),
2827
.. Default::default()
2928
}

branches/stable/src/librustc_back/target/arm_linux_androideabi.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ pub fn target() -> Target {
1515
base.features = "+v7".to_string();
1616

1717
Target {
18+
data_layout: "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-\
19+
f32:32:32-f64:64:64-v64:64:64-v128:64:128-a:0:64-\
20+
n32".to_string(),
1821
llvm_target: "arm-linux-androideabi".to_string(),
1922
target_endian: "little".to_string(),
2023
target_pointer_width: "32".to_string(),

branches/stable/src/librustc_back/target/arm_unknown_linux_gnueabi.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ use target::{Target, TargetOptions};
1313
pub fn target() -> Target {
1414
let base = super::linux_base::opts();
1515
Target {
16+
data_layout: "e-p:32:32:32\
17+
-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64\
18+
-f32:32:32-f64:64:64\
19+
-v64:64:64-v128:64:128\
20+
-a:0:64-n32".to_string(),
1621
llvm_target: "arm-unknown-linux-gnueabi".to_string(),
1722
target_endian: "little".to_string(),
1823
target_pointer_width: "32".to_string(),

branches/stable/src/librustc_back/target/arm_unknown_linux_gnueabihf.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ use target::{Target, TargetOptions};
1313
pub fn target() -> Target {
1414
let base = super::linux_base::opts();
1515
Target {
16+
data_layout: "e-p:32:32:32\
17+
-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64\
18+
-f32:32:32-f64:64:64\
19+
-v64:64:64-v128:64:128\
20+
-a:0:64-n32".to_string(),
1621
llvm_target: "arm-unknown-linux-gnueabihf".to_string(),
1722
target_endian: "little".to_string(),
1823
target_pointer_width: "32".to_string(),

branches/stable/src/librustc_back/target/armv7_apple_ios.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ use super::apple_ios_base::{opts, Arch};
1313

1414
pub fn target() -> Target {
1515
Target {
16+
data_layout: "e-p:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32".to_string(),
1617
llvm_target: "armv7-apple-ios".to_string(),
1718
target_endian: "little".to_string(),
1819
target_pointer_width: "32".to_string(),

branches/stable/src/librustc_back/target/armv7s_apple_ios.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ use super::apple_ios_base::{opts, Arch};
1313

1414
pub fn target() -> Target {
1515
Target {
16+
data_layout: "e-p:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32".to_string(),
1617
llvm_target: "armv7s-apple-ios".to_string(),
1718
target_endian: "little".to_string(),
1819
target_pointer_width: "32".to_string(),

branches/stable/src/librustc_back/target/bitrig_base.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ pub fn opts() -> TargetOptions {
2222
position_independent_executables: true,
2323
pre_link_args: vec!(
2424
),
25-
archive_format: "bsd".to_string(),
2625

2726
.. Default::default()
2827
}

branches/stable/src/librustc_back/target/dragonfly_base.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ pub fn opts() -> TargetOptions {
2929
"-Wl,--as-needed".to_string(),
3030
),
3131
position_independent_executables: true,
32-
archive_format: "bsd".to_string(),
3332
.. Default::default()
3433
}
3534
}

branches/stable/src/librustc_back/target/freebsd_base.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ pub fn opts() -> TargetOptions {
1818
executables: true,
1919
morestack: true,
2020
has_rpath: true,
21-
archive_format: "bsd".to_string(),
2221

2322
.. Default::default()
2423
}

branches/stable/src/librustc_back/target/i386_apple_ios.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ use super::apple_ios_base::{opts, Arch};
1313

1414
pub fn target() -> Target {
1515
Target {
16+
data_layout: "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16\
17+
-i32:32:32-i64:32:64\
18+
-f32:32:32-f64:32:64-v64:64:64\
19+
-v128:128:128-a:0:64-f80:128:128\
20+
-n8:16:32".to_string(),
1621
llvm_target: "i386-apple-ios".to_string(),
1722
target_endian: "little".to_string(),
1823
target_pointer_width: "32".to_string(),

branches/stable/src/librustc_back/target/i686_apple_darwin.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ pub fn target() -> Target {
1616
base.pre_link_args.push("-m32".to_string());
1717

1818
Target {
19+
data_layout: "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16\
20+
-i32:32:32-i64:32:64\
21+
-f32:32:32-f64:32:64-v64:64:64\
22+
-v128:128:128-a:0:64-f80:128:128\
23+
-n8:16:32".to_string(),
1924
llvm_target: "i686-apple-darwin".to_string(),
2025
target_endian: "little".to_string(),
2126
target_pointer_width: "32".to_string(),

0 commit comments

Comments
 (0)