Page MenuHomeFreeBSD

lang/rust: Update to 1.49.0
ClosedPublic

Authored by mikael on Jan 3 2021, 11:36 AM.
Tags
None
Referenced Files
F106417943: D27940.diff
Mon, Dec 30, 10:13 AM
Unknown Object (File)
Mon, Dec 16, 6:55 AM
Unknown Object (File)
Nov 29 2024, 3:26 PM
Unknown Object (File)
Nov 7 2024, 5:22 PM
Unknown Object (File)
Nov 7 2024, 6:59 AM
Unknown Object (File)
Oct 26 2024, 8:04 PM
Unknown Object (File)
Oct 21 2024, 4:59 AM
Unknown Object (File)
Oct 20 2024, 1:50 AM

Details

Test Plan
archlang/rustconsumers
11.4 i386okok
11.4 amd64okok
12.2 i386okok
12.2 amd64okok
13 i386okok
13 amd64okok
powerpc64 elfv2okok
powerpc64 elfv1okok

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

I only tested lang/spidermonkey78 on elfv1 since this nowadays seems the most sophisticated port available for elfv1.

www/firefox builds on powerpc64 elfv2.

This revision was not accepted when it landed; it landed in state Needs Review.Jan 6 2021, 10:14 AM
Closed by commit rP560492: lang/rust: Update to 1.49.0 (authored by mikael). · Explain Why
This revision was automatically updated to reflect the committed changes.

I did NOT test this on all powerpc* platforms where Rust works. And as it turns out, it doesn't build on powerpc64le:

error[E0432]: unresolved import `crate::spec::TargetResult`
 --> compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs:1:56
  |
1 | use crate::spec::{LinkerFlavor, Target, TargetOptions, TargetResult};
  |                                                        ^^^^^^^^^^^^ no `TargetResult` in `spec`

error[E0560]: struct `Target` has no field named `target_endian`
  --> compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs:11:9
   |
11 |         target_endian: "little".to_string(),
   |         ^^^^^^^^^^^^^ `Target` does not have this field
   |
   = note: available fields are: `llvm_target`, `pointer_width`, `arch`, `data_layout`, `options`

error[E0560]: struct `Target` has no field named `target_pointer_width`
  --> compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs:12:9
   |
12 |         target_pointer_width: "64".to_string(),
   |         ^^^^^^^^^^^^^^^^^^^^ `Target` does not have this field
   |
   = note: available fields are: `llvm_target`, `pointer_width`, `arch`, `data_layout`, `options`

error[E0560]: struct `Target` has no field named `target_c_int_width`
  --> compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs:13:9
   |
13 |         target_c_int_width: "32".to_string(),
   |         ^^^^^^^^^^^^^^^^^^ `Target` does not have this field
   |
   = note: available fields are: `llvm_target`, `pointer_width`, `arch`, `data_layout`, `options`

error[E0560]: struct `Target` has no field named `target_os`
  --> compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs:16:9
   |
16 |         target_os: "freebsd".to_string(),
   |         ^^^^^^^^^ `Target` does not have this field
   |
   = note: available fields are: `llvm_target`, `pointer_width`, `arch`, `data_layout`, `options`

error[E0560]: struct `Target` has no field named `target_env`
  --> compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs:17:9
   |
17 |         target_env: String::new(),
   |         ^^^^^^^^^^ `Target` does not have this field
   |
   = note: available fields are: `llvm_target`, `pointer_width`, `arch`, `data_layout`, `options`

error[E0560]: struct `Target` has no field named `target_vendor`
  --> compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs:18:9
   |
18 |         target_vendor: "unknown".to_string(),
   |         ^^^^^^^^^^^^^ `Target` does not have this field
   |
   = note: available fields are: `llvm_target`, `pointer_width`, `arch`, `data_layout`, `options`

error[E0560]: struct `Target` has no field named `linker_flavor`
  --> compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs:19:9
   |
19 |         linker_flavor: LinkerFlavor::Gcc,
   |         ^^^^^^^^^^^^^ `Target` does not have this field
   |
   = note: available fields are: `llvm_target`, `pointer_width`, `arch`, `data_layout`, `options`

error[E0560]: struct `TargetOptions` has no field named `target_mcount`
  --> compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs:20:34
   |
20 |         options: TargetOptions { target_mcount: "_mcount".to_string(), ..base },
   |                                  ^^^^^^^^^^^^^ `TargetOptions` does not have this field
   |
   = note: available fields are: `is_builtin`, `endian`, `c_int_width`, `os`, `env` ... and 87 others

error: aborting due to 9 previous errors

Some errors have detailed explanations: E0432, E0560.
For more information about an error, try `rustc --explain E0432`.

In the future, could you NOT commit the untested or only partially tested patches?