Skip to content

Commit

Permalink
Swap TargetOptions::linker_is_gnu default from false to true and upda…
Browse files Browse the repository at this point in the history
…te targets as appropriate.
  • Loading branch information
luqmana committed May 20, 2021
1 parent 99e3aef commit 0188664
Show file tree
Hide file tree
Showing 7 changed files with 8 additions and 2 deletions.
1 change: 1 addition & 0 deletions compiler/rustc_target/src/spec/apple_base.rs
Expand Up @@ -22,6 +22,7 @@ pub fn opts(os: &str) -> TargetOptions {
// macOS has -dead_strip, which doesn't rely on function_sections
function_sections: false,
dynamic_linking: true,
linker_is_gnu: false,
executables: true,
families: vec!["unix".to_string()],
is_like_osx: true,
Expand Down
1 change: 1 addition & 0 deletions compiler/rustc_target/src/spec/illumos_base.rs
Expand Up @@ -33,6 +33,7 @@ pub fn opts() -> TargetOptions {
has_rpath: true,
families: vec!["unix".to_string()],
is_like_solaris: true,
linker_is_gnu: false,
limit_rdylib_exports: false, // Linker doesn't support this
eliminate_frame_pointer: false,
eh_frame_header: false,
Expand Down
1 change: 1 addition & 0 deletions compiler/rustc_target/src/spec/l4re_base.rs
Expand Up @@ -20,6 +20,7 @@ pub fn opts() -> TargetOptions {
executables: true,
panic_strategy: PanicStrategy::Abort,
linker: Some("ld".to_string()),
linker_is_gnu: false,
families: vec!["unix".to_string()],
..Default::default()
}
Expand Down
4 changes: 2 additions & 2 deletions compiler/rustc_target/src/spec/mod.rs
Expand Up @@ -1086,7 +1086,7 @@ pub struct TargetOptions {
/// Version of DWARF to use if not using the default.
/// Useful because some platforms (osx, bsd) only want up to DWARF2.
pub dwarf_version: Option<u32>,
/// Whether the linker support GNU-like arguments such as -O. Defaults to false.
/// Whether the linker support GNU-like arguments such as -O. Defaults to true.
pub linker_is_gnu: bool,
/// The MinGW toolchain has a known issue that prevents it from correctly
/// handling COFF object files with more than 2<sup>15</sup> sections. Since each weak
Expand Down Expand Up @@ -1307,7 +1307,7 @@ impl Default for TargetOptions {
is_like_fuchsia: false,
is_like_wasm: false,
dwarf_version: None,
linker_is_gnu: false,
linker_is_gnu: true,
allows_weak_linkage: true,
has_rpath: false,
no_default_libraries: true,
Expand Down
1 change: 1 addition & 0 deletions compiler/rustc_target/src/spec/msvc_base.rs
Expand Up @@ -16,6 +16,7 @@ pub fn opts() -> TargetOptions {
is_like_windows: true,
is_like_msvc: true,
lld_flavor: LldFlavor::Link,
linker_is_gnu: false,
pre_link_args,
abi_return_struct_as_int: true,
emit_debug_gdb_scripts: false,
Expand Down
1 change: 1 addition & 0 deletions compiler/rustc_target/src/spec/nvptx64_nvidia_cuda.rs
Expand Up @@ -14,6 +14,7 @@ pub fn target() -> Target {
linker_flavor: LinkerFlavor::PtxLinker,
// The linker can be installed from `crates.io`.
linker: Some("rust-ptx-linker".to_string()),
linker_is_gnu: false,

// With `ptx-linker` approach, it can be later overridden via link flags.
cpu: "sm_30".to_string(),
Expand Down
1 change: 1 addition & 0 deletions compiler/rustc_target/src/spec/solaris_base.rs
Expand Up @@ -8,6 +8,7 @@ pub fn opts() -> TargetOptions {
has_rpath: true,
families: vec!["unix".to_string()],
is_like_solaris: true,
linker_is_gnu: false,
limit_rdylib_exports: false, // Linker doesn't support this
eh_frame_header: false,

Expand Down

0 comments on commit 0188664

Please sign in to comment.