Swap TargetOptions::linker_is_gnu default from false to true and update targets as appropriate.

This commit is contained in:
Luqman Aden 2021-05-20 16:38:40 -07:00
parent 99e3aef020
commit 0188664425
7 changed files with 8 additions and 2 deletions

View File

@ -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,

View File

@ -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,

View File

@ -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()
}

View File

@ -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
@ -1307,7 +1307,7 @@ fn default() -> 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,

View File

@ -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,

View File

@ -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(),

View File

@ -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,