-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Add the aarch64-apple-darwin target #74541
Add the aarch64-apple-darwin target #74541
Conversation
r? @varkor (rust_highfive has picked a reviewer for you, use r? to override) |
target_endian: "little".to_string(), | ||
target_pointer_width: "64".to_string(), | ||
target_c_int_width: "32".to_string(), | ||
data_layout: "e-m:o-i64:64-i128:128-n32:64-S128".to_string(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was copied from LLVM.
llvm_target, | ||
target_endian: "little".to_string(), | ||
target_pointer_width: "64".to_string(), | ||
target_c_int_width: "32".to_string(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
% cat size.c
#include <stdio.h>
int main() {
printf("%zu\n", sizeof(int));
return 0;
}
% cc size.c
% file a.out
a.out: Mach-O 64-bit executable arm64
% ./a.out
4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You might also want Whoops, that was your next comment!printf("%zu %zu\n", sizeof(int*), sizeof(int (*)()));
. Not that I expect it to be anything other than 8 bytes.
Ok(Target { | ||
llvm_target, | ||
target_endian: "little".to_string(), | ||
target_pointer_width: "64".to_string(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
% cat size.c
#include <stdio.h>
int main() {
printf("%zu\n", sizeof(void *));
return 0;
}
% cc size.c
% file a.out
a.out: Mach-O 64-bit executable arm64
% ./a.out
8
3605bcd
to
4a0bbf4
Compare
base.pre_link_args.insert(LinkerFlavor::Gcc, vec!["-m64".to_string()]); | ||
base.pre_link_args.insert( | ||
LinkerFlavor::Gcc, | ||
vec!["-m64".to_string(), "-arch".to_string(), "x86_64".to_string()], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These additions allow cross-compiling from aarch64 back to x86_64.
This is a basic copy-paste-modify from the existing x86_64-apple-darwin target.
4a0bbf4
to
804241e
Compare
@bors r+ |
📌 Commit 804241e has been approved by |
…get, r=nagisa Add the aarch64-apple-darwin target This is a basic copy-paste-modify from the existing x86_64-apple-darwin target.
…get, r=nagisa Add the aarch64-apple-darwin target This is a basic copy-paste-modify from the existing x86_64-apple-darwin target.
…get, r=nagisa Add the aarch64-apple-darwin target This is a basic copy-paste-modify from the existing x86_64-apple-darwin target.
…get, r=nagisa Add the aarch64-apple-darwin target This is a basic copy-paste-modify from the existing x86_64-apple-darwin target.
…get, r=nagisa Add the aarch64-apple-darwin target This is a basic copy-paste-modify from the existing x86_64-apple-darwin target.
…arth Rollup of 9 pull requests Successful merges: - rust-lang#73783 (Detect when `'static` obligation might come from an `impl`) - rust-lang#73868 (Advertise correct stable version for const control flow) - rust-lang#74460 (rustdoc: Always warn when linking from public to private items) - rust-lang#74538 (Guard against non-monomorphized type_id intrinsic call) - rust-lang#74541 (Add the aarch64-apple-darwin target ) - rust-lang#74600 (Enable perf try builder) - rust-lang#74618 (Do not ICE on assoc type with bad placeholder) - rust-lang#74631 (rustc_target: Add a target spec option for disabling `--eh-frame-hdr`) - rust-lang#74643 (build: Remove unnecessary `cargo:rerun-if-env-changed` annotations) Failed merges: r? @ghost
Adding missing |
discussed in T-compiler meeting. beta-accepted. |
Note that we only cherry-picked the first commit here into beta, not the Cargo.lock changes. |
…ulacrum [beta] backports * Forbid non-derefable types explicitly in unsizing casts rust-lang#75136 * forbid `#[track_caller]` on main rust-lang#75130 * Fix #[track_caller] shims for trait objects. rust-lang#74784 * rustc_target: Add a target spec option for disabling `--eh-frame-hdr` rust-lang#74631 * Disable Azure Pipelines except for macOS rust-lang#74620 * Upload builds from GHA instead of Azure Pipelines rust-lang#74565 * Add the aarch64-apple-darwin target rust-lang#74541 * Use `ReEmpty(U0)` as the implicit region bound in typeck rust-lang#74509 * rustbuild: drop tool::should_install rust-lang#74457 * lint: use `transparent_newtype_field` to avoid ICE rust-lang#74340 * Don't panic if the lhs of a div by zero is not statically known rust-lang#74221 * improper_ctypes_definitions: allow `Box` rust-lang#74448 * typeck: check for infer before type impls trait rust-lang#73965
This is a basic copy-paste-modify from the existing
x86_64-apple-darwin target.