Andrew Geissler | 595f630 | 2022-01-24 19:11:47 +0000 | [diff] [blame] | 1 | From c3c2d1c69859c5e567005f0c3fa07a0dbe31e4a3 Mon Sep 17 00:00:00 2001 |
| 2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> |
| 3 | Date: Fri, 29 Oct 2021 21:18:26 +0200 |
| 4 | Subject: [PATCH] riscv: Set march correctly |
| 5 | MIME-Version: 1.0 |
| 6 | Content-Type: text/plain; charset=UTF-8 |
| 7 | Content-Transfer-Encoding: 8bit |
| 8 | |
| 9 | Stolen from leftover patch in oe-core [1] |
| 10 | |
| 11 | [1] https://github.com/openembedded/openembedded-core/blob/c884878f6c833b18a3a95b193f5de68df5bcea48/meta/recipes-devtools/rust/files/rv64gc.patch |
| 12 | |
| 13 | Upstream-Status: Pending |
| 14 | |
| 15 | Signed-off-by: Andreas MΓΌller <schnitzeltony@gmail.com> |
| 16 | --- |
| 17 | third_party/rust/cc/src/lib.rs | 14 ++++++++++---- |
| 18 | third_party/rust/cc/.cargo-checksum.json | 2 +- |
| 19 | 1 file changed, 10 insertions(+), 4 deletions(-) |
| 20 | |
| 21 | diff --git a/third_party/rust/cc/src/lib.rs b/third_party/rust/cc/src/lib.rs |
| 22 | index 621d31d..6f72e13 100644 |
| 23 | --- a/third_party/rust/cc/src/lib.rs |
| 24 | +++ b/third_party/rust/cc/src/lib.rs |
| 25 | @@ -1587,14 +1587,20 @@ impl Build { |
| 26 | let mut parts = target.split('-'); |
| 27 | if let Some(arch) = parts.next() { |
| 28 | let arch = &arch[5..]; |
| 29 | - cmd.args.push(("-march=rv".to_owned() + arch).into()); |
| 30 | - // ABI is always soft-float right now, update this when this is no longer the |
| 31 | - // case: |
| 32 | - if arch.starts_with("64") { |
| 33 | + if target.contains("linux") && arch.starts_with("64") { |
| 34 | + cmd.args.push(("-march=rv64gc").into()); |
| 35 | + cmd.args.push("-mabi=lp64d".into()); |
| 36 | + } else if target.contains("linux") && arch.starts_with("32") { |
| 37 | + cmd.args.push(("-march=rv32gc").into()); |
| 38 | + cmd.args.push("-mabi=ilp32d".into()); |
| 39 | + } else if arch.starts_with("64") { |
| 40 | + cmd.args.push(("-march=rv".to_owned() + arch).into()); |
| 41 | cmd.args.push("-mabi=lp64".into()); |
| 42 | } else { |
| 43 | + cmd.args.push(("-march=rv".to_owned() + arch).into()); |
| 44 | cmd.args.push("-mabi=ilp32".into()); |
| 45 | } |
| 46 | + cmd.args.push("-mcmodel=medany".into()); |
| 47 | } |
| 48 | } |
| 49 | } |
| 50 | diff --git a/third_party/rust/cc/.cargo-checksum.json b/third_party/rust/cc/.cargo-checksum.json |
| 51 | index 417fde7..70e5d02 100644 |
| 52 | --- a/third_party/rust/cc/.cargo-checksum.json |
| 53 | +++ b/third_party/rust/cc/.cargo-checksum.json |
| 54 | @@ -1 +1 @@ |
| 55 | -{"files":{"Cargo.lock":"3aff5f8b0a7f4d72852b11b0526f0002e6bf55f19f1ebd6470d7f97fbd540e60","Cargo.toml":"6ab10d9b6a9c6f0909074e6698c90c6b6a7223661ec2e83174d2593117cbe7f2","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"7184fbdf375a057e673257348f6d7584c0dd11b66318d98f3647f69eb610b097","src/bin/gcc-shim.rs":"b77907875029494b6288841c3aed2e4939ed40708c7f597fca5c9e2570490ca6","src/com.rs":"bcdaf1c28b71e6ef889c6b08d1ce9d7c0761344a677f523bc4c3cd297957f804","src/lib.rs":"4753929dbb7b676c19d7cfa06d0a47e37003554b80c536cbf2b892d591ef61c2","src/registry.rs":"3cc1b5a50879fa751572878ae1d0afbfc960c11665258492754b2c8bccb0ff5d","src/setup_config.rs":"7014103587d3382eac599cb76f016e2609b8140970861b2237982d1db24af265","src/winapi.rs":"ea8b7edbb9ff87957254f465c2334e714c5d6b3b19a8d757c48ea7ca0881c50c","src/windows_registry.rs":"388e79dcf3e84078ae0b086c6cdee9cf9eb7e3ffafdcbf3e2df26163661f5856","tests/cc_env.rs":"e02b3b0824ad039b47e4462c5ef6dbe6c824c28e7953af94a0f28f7b5158042e","tests/cflags.rs":"57f06eb5ce1557e5b4a032d0c4673e18fbe6f8d26c1deb153126e368b96b41b3","tests/cxxflags.rs":"c2c6c6d8a0d7146616fa1caed26876ee7bc9fcfffd525eb4743593cade5f3371","tests/support/mod.rs":"71620b178583b6e6e5e0d4cac14e2cef6afc62fb6841e0c72ed1784543abf8ac","tests/test.rs":"1605640c9b94a77f48fc92e1dc0485bdf1960da5626e2e00279e4703691656bc"},"package":"aa87058dce70a3ff5621797f1506cb837edd02ac4c0ae642b4542dce802908b8"} |
| 56 | \ No newline at end of file |
| 57 | +{"files":{"Cargo.lock":"3aff5f8b0a7f4d72852b11b0526f0002e6bf55f19f1ebd6470d7f97fbd540e60","Cargo.toml":"6ab10d9b6a9c6f0909074e6698c90c6b6a7223661ec2e83174d2593117cbe7f2","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"7184fbdf375a057e673257348f6d7584c0dd11b66318d98f3647f69eb610b097","src/bin/gcc-shim.rs":"b77907875029494b6288841c3aed2e4939ed40708c7f597fca5c9e2570490ca6","src/com.rs":"bcdaf1c28b71e6ef889c6b08d1ce9d7c0761344a677f523bc4c3cd297957f804","src/lib.rs":"feab2b4cc51fcfb041f83a1a689960c3c9abfbaa9580ba186244a880586ba29a","src/registry.rs":"3cc1b5a50879fa751572878ae1d0afbfc960c11665258492754b2c8bccb0ff5d","src/setup_config.rs":"7014103587d3382eac599cb76f016e2609b8140970861b2237982d1db24af265","src/winapi.rs":"ea8b7edbb9ff87957254f465c2334e714c5d6b3b19a8d757c48ea7ca0881c50c","src/windows_registry.rs":"388e79dcf3e84078ae0b086c6cdee9cf9eb7e3ffafdcbf3e2df26163661f5856","tests/cc_env.rs":"e02b3b0824ad039b47e4462c5ef6dbe6c824c28e7953af94a0f28f7b5158042e","tests/cflags.rs":"57f06eb5ce1557e5b4a032d0c4673e18fbe6f8d26c1deb153126e368b96b41b3","tests/cxxflags.rs":"c2c6c6d8a0d7146616fa1caed26876ee7bc9fcfffd525eb4743593cade5f3371","tests/support/mod.rs":"71620b178583b6e6e5e0d4cac14e2cef6afc62fb6841e0c72ed1784543abf8ac","tests/test.rs":"1605640c9b94a77f48fc92e1dc0485bdf1960da5626e2e00279e4703691656bc"},"package":"aa87058dce70a3ff5621797f1506cb837edd02ac4c0ae642b4542dce802908b8"} |
| 58 | -- |
| 59 | 2.31.1 |
| 60 | |