Skip to content
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

Rollup of 8 pull requests #81674

Closed
wants to merge 28 commits into from
Closed
Changes from 1 commit
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
8afe598
Add big-endian support for AArch64 va_arg
Jan 20, 2021
d53b0a0
Fix ARM and AArch64 calling convention for passing small composite types
Jan 20, 2021
06f14df
Support AArch64 ILP32 in libunwind bindings
Jan 20, 2021
a112c4d
Support AArch64 big-endian and ILP32 in compiletest
Jan 20, 2021
8783d1a
Add big-endian and ILP32 AArch64 targets
Jan 20, 2021
69e6326
Add new aarch64 targets to platform-support.md
Jan 26, 2021
5307230
Bump LLVM submodule
Jan 21, 2021
4b64bc1
Upgrade Chalk
jackh726 Jan 1, 2021
b35d601
Directly use `Option<&[T]>` instead of converting from `Option<&Vec<T…
LingMan Feb 1, 2021
6f90365
Add lint for `panic!(123)` which is not accepted in Rust 2021.
m-ou-se Feb 1, 2021
91a9866
Make panic/assert calls in rustc compatible with Rust 2021.
m-ou-se Feb 1, 2021
c3dedd0
Upgrade libc to 0.2.85
Jan 21, 2021
3408c58
Fix AArch64 types in std::os::raw
Amanieu Feb 1, 2021
bad0f28
Improve wording of suggestion about accessing field
hkmatsumoto Feb 2, 2021
535f487
Allow/fix non_fmt_panic in tests.
m-ou-se Feb 1, 2021
717355d
Update panic!() documentation about non-string panics.
m-ou-se Feb 2, 2021
07c4eeb
Fix out of date `Scalar` documentation
jacob-hughes Feb 2, 2021
6525671
Add better diagnostic for missing where clause
JulianKnodt Jan 30, 2021
ae3164e
Add .editorconfig
vn971 Jan 22, 2021
a0622d6
Update Chalk
jackh726 Jan 31, 2021
9cbd231
Rollup merge of #80593 - jackh726:chalk-upgrade, r=nikomatsakis
m-ou-se Feb 2, 2021
aed63da
Rollup merge of #81260 - vn971:restore-editorconfig, r=Mark-Simulacrum
m-ou-se Feb 2, 2021
a262bc1
Rollup merge of #81455 - Amanieu:aarch64_ilp32, r=sanxiyn
m-ou-se Feb 2, 2021
7fa357d
Rollup merge of #81544 - JulianKnodt:sat_where, r=lcnr
m-ou-se Feb 2, 2021
2a41f20
Rollup merge of #81636 - LingMan:slice_not_vec, r=petrochenkov
m-ou-se Feb 2, 2021
132f55c
Rollup merge of #81645 - m-ou-se:panic-lint, r=estebank
m-ou-se Feb 2, 2021
0513708
Rollup merge of #81655 - matsujika:suggest-accessing-field-rewording,…
m-ou-se Feb 2, 2021
ddf8dc7
Rollup merge of #81665 - jacob-hughes:mir_doc_fix, r=estebank
m-ou-se Feb 2, 2021
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 big-endian and ILP32 AArch64 targets
Amanieu d'Antras authored and Amanieu committed Jan 27, 2021
commit 8783d1a47eeaf04635e29b2418795bd36ac49605
20 changes: 20 additions & 0 deletions compiler/rustc_target/src/spec/aarch64_be_unknown_linux_gnu.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
use crate::abi::Endian;
use crate::spec::{Target, TargetOptions};

pub fn target() -> Target {
let mut base = super::linux_gnu_base::opts();
base.max_atomic_width = Some(128);

Target {
llvm_target: "aarch64_be-unknown-linux-gnu".to_string(),
pointer_width: 64,
data_layout: "E-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
arch: "aarch64".to_string(),
options: TargetOptions {
unsupported_abis: super::arm_base::unsupported_abis(),
mcount: "\u{1}_mcount".to_string(),
endian: Endian::Big,
..base
},
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
use crate::abi::Endian;
use crate::spec::{Target, TargetOptions};

pub fn target() -> Target {
let mut base = super::linux_gnu_base::opts();
base.max_atomic_width = Some(128);

Target {
llvm_target: "aarch64_be-unknown-linux-gnu_ilp32".to_string(),
pointer_width: 32,
data_layout: "E-m:e-p:32:32-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
arch: "aarch64".to_string(),
options: TargetOptions {
unsupported_abis: super::arm_base::unsupported_abis(),
mcount: "\u{1}_mcount".to_string(),
endian: Endian::Big,
..base
},
}
}
18 changes: 18 additions & 0 deletions compiler/rustc_target/src/spec/aarch64_unknown_linux_gnu_ilp32.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
use crate::spec::{Target, TargetOptions};

pub fn target() -> Target {
let mut base = super::linux_gnu_base::opts();
base.max_atomic_width = Some(128);

Target {
llvm_target: "aarch64-unknown-linux-gnu_ilp32".to_string(),
pointer_width: 32,
data_layout: "e-m:e-p:32:32-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
arch: "aarch64".to_string(),
options: TargetOptions {
unsupported_abis: super::arm_base::unsupported_abis(),
mcount: "\u{1}_mcount".to_string(),
..base
},
}
}
4 changes: 4 additions & 0 deletions compiler/rustc_target/src/spec/mod.rs
Original file line number Diff line number Diff line change
@@ -745,6 +745,10 @@ supported_targets! {
("mipsel-sony-psp", mipsel_sony_psp),
("mipsel-unknown-none", mipsel_unknown_none),
("thumbv4t-none-eabi", thumbv4t_none_eabi),

("aarch64_be-unknown-linux-gnu", aarch64_be_unknown_linux_gnu),
("aarch64-unknown-linux-gnu_ilp32", aarch64_unknown_linux_gnu_ilp32),
("aarch64_be-unknown-linux-gnu_ilp32", aarch64_be_unknown_linux_gnu_ilp32),
}

/// Everything `rustc` knows about how to compile for a specific target.