Merge pull request #1582 from rust-lang/update_abi_cafe
Update to abi-cafe 1.0
This commit is contained in:
commit
aafdccfd9e
4 changed files with 45 additions and 71 deletions
|
|
@ -6,8 +6,8 @@ use crate::{CodegenBackend, SysrootKind, build_sysroot};
|
|||
static ABI_CAFE_REPO: GitRepo = GitRepo::github(
|
||||
"Gankra",
|
||||
"abi-cafe",
|
||||
"f1220cfd13b57f5c0082c26529163865ee25e115",
|
||||
"fe93a9acd461425d",
|
||||
"49efdca14e9d48c34e50552d1f620615a87637bb",
|
||||
"21fed1b4ca4cd439",
|
||||
"abi-cafe",
|
||||
);
|
||||
|
||||
|
|
@ -46,6 +46,8 @@ pub(crate) fn run(
|
|||
let mut cmd = ABI_CAFE.run(bootstrap_host_compiler, dirs);
|
||||
cmd.arg("--");
|
||||
|
||||
cmd.arg("--rules").arg(dirs.source_dir.join("scripts/abi-cafe-rules.toml"));
|
||||
|
||||
// stdcall, vectorcall and such don't work yet
|
||||
cmd.arg("--conventions").arg("c").arg("--conventions").arg("rust");
|
||||
|
||||
|
|
|
|||
|
|
@ -1,69 +0,0 @@
|
|||
From 236df390f3bc4ed69c26f4d51d584bea246da886 Mon Sep 17 00:00:00 2001
|
||||
From: bjorn3 <17426603+bjorn3@users.noreply.github.com>
|
||||
Date: Tue, 9 Jul 2024 11:25:14 +0000
|
||||
Subject: [PATCH] Disable broken tests
|
||||
|
||||
---
|
||||
src/report.rs | 36 ++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 36 insertions(+)
|
||||
|
||||
diff --git a/src/toolchains/rust.rs b/src/toolchains/rust.rs
|
||||
index 0c50f7a..bfde2b1 100644
|
||||
--- a/src/toolchains/rust.rs
|
||||
+++ b/src/toolchains/rust.rs
|
||||
@@ -83,6 +83,7 @@ impl Toolchain for RustcToolchain {
|
||||
.arg(out_dir)
|
||||
.arg("--target")
|
||||
.arg(built_info::TARGET)
|
||||
+ .arg("-g")
|
||||
.arg(format!("-Cmetadata={lib_name}"))
|
||||
.arg(src_path);
|
||||
if let Some(codegen_backend) = &self.codegen_backend {
|
||||
diff --git a/src/report.rs b/src/report.rs
|
||||
index 958ab43..dcf1044 100644
|
||||
--- a/src/report.rs
|
||||
+++ b/src/report.rs
|
||||
@@ -48,6 +48,40 @@ pub fn get_test_rules(test: &TestKey, caller: &dyn Toolchain, callee: &dyn Toolc
|
||||
//
|
||||
// THIS AREA RESERVED FOR VENDORS TO APPLY PATCHES
|
||||
|
||||
+ if cfg!(all(target_arch = "aarch64", target_os = "linux")) {
|
||||
+ if test.test == "F32Array" && test.options.convention == CallingConvention::C {
|
||||
+ result.check = Busted(Check);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if cfg!(all(target_arch = "aarch64", target_os = "macos")) {
|
||||
+ if test.test == "SingleVariantUnion" && test.options.convention == CallingConvention::C && test.options.repr == LangRepr::C {
|
||||
+ result.check = Busted(Check);
|
||||
+ }
|
||||
+
|
||||
+ if test.test == "OptionU128" && test.caller == "rustc" && test.options.convention == CallingConvention::Rust && test.options.repr == LangRepr::C {
|
||||
+ result.check = Busted(Run);
|
||||
+ }
|
||||
+
|
||||
+ if test.test == "OptionU128" && test.caller == "cgclif" && test.options.convention == CallingConvention::Rust && test.options.repr == LangRepr::C {
|
||||
+ result.check = Busted(Check);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if cfg!(all(target_arch = "x86_64", windows)) {
|
||||
+ if test.test == "simple" && test.options.convention == CallingConvention::Rust {
|
||||
+ result.check = Busted(Check);
|
||||
+ }
|
||||
+
|
||||
+ if test.test == "simple" && test.options.convention == CallingConvention::Rust && test.caller == "rustc" {
|
||||
+ result.check = Busted(Run);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if test.test == "f16" || test.test == "f128" {
|
||||
+ result.run = Skip;
|
||||
+ }
|
||||
+
|
||||
// END OF VENDOR RESERVED AREA
|
||||
//
|
||||
//
|
||||
--
|
||||
2.34.1
|
||||
|
||||
24
patches/0002-abi-cafe-Enable-debuginfo.patch
Normal file
24
patches/0002-abi-cafe-Enable-debuginfo.patch
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
From 236df390f3bc4ed69c26f4d51d584bea246da886 Mon Sep 17 00:00:00 2001
|
||||
From: bjorn3 <17426603+bjorn3@users.noreply.github.com>
|
||||
Date: Tue, 9 Jul 2024 11:25:14 +0000
|
||||
Subject: [PATCH] Enable debuginfo
|
||||
|
||||
---
|
||||
src/toolchains/rust.rs | 1 +
|
||||
1 file changed, 1 insertions(+)
|
||||
|
||||
diff --git a/src/toolchains/rust.rs b/src/toolchains/rust.rs
|
||||
index 0c50f7a..bfde2b1 100644
|
||||
--- a/src/toolchains/rust.rs
|
||||
+++ b/src/toolchains/rust.rs
|
||||
@@ -83,6 +83,7 @@ impl Toolchain for RustcToolchain {
|
||||
.arg(out_dir)
|
||||
.arg("--target")
|
||||
.arg(&self.platform_info.target)
|
||||
+ .arg("-g")
|
||||
.arg(format!("-Cmetadata={lib_name}"))
|
||||
.arg(src_path);
|
||||
if let Some(codegen_backend) = &self.codegen_backend {
|
||||
--
|
||||
2.34.1
|
||||
|
||||
17
scripts/abi-cafe-rules.toml
Normal file
17
scripts/abi-cafe-rules.toml
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
[target.'cfg(all(target_arch = "aarch64", target_os = "linux"))']
|
||||
'F32Array::conv_c'.busted = "check"
|
||||
|
||||
[target.'cfg(all(target_arch = "aarch64", target_os = "macos"))']
|
||||
'SingleVariantUnion::conv_c::repr_c'.busted = "check"
|
||||
'OptionU128::conv_rust::repr_c::rustc_caller'.busted = "run"
|
||||
'OptionU128::conv_rust::repr_c::cgclif_caller'.busted = "check"
|
||||
|
||||
[target.'cfg(all(target_arch = "x86_64", windows))']
|
||||
'simple::conv_rust'.busted = "check"
|
||||
'simple::conv_rust::rustc_caller'.busted = "run"
|
||||
|
||||
[target.'*'.'f16']
|
||||
run = "skip"
|
||||
|
||||
[target.'*'.'f128']
|
||||
run = "skip"
|
||||
Loading…
Add table
Add a link
Reference in a new issue