Don't compile assembly on x86_64 Windows

They've all got the wrong ABI...
master
Alex Crichton 2017-06-23 21:09:24 -07:00
parent 94bc9953a1
commit b42d267065
2 changed files with 15 additions and 11 deletions

View File

@ -4142,16 +4142,20 @@ mod c {
sources.extend(&["gcc_personality_v0.c"]);
}
if target_arch == "x86_64" {
sources.extend(
&[
"x86_64/floatdisf.c",
"x86_64/floatdixf.c",
"x86_64/floatundidf.S",
"x86_64/floatundisf.S",
"x86_64/floatundixf.S",
],
);
// None of these seem to be used on x86_64 windows, and they've all
// got the wrong ABI anyway, so we want to avoid them.
if target_os != "windows" {
if target_arch == "x86_64" {
sources.extend(
&[
"x86_64/floatdisf.c",
"x86_64/floatdixf.c",
"x86_64/floatundidf.S",
"x86_64/floatundisf.S",
"x86_64/floatundixf.S",
],
);
}
}
if target_arch == "x86" {

View File

@ -113,7 +113,7 @@ intrinsics! {
}
#[use_c_shim_if(all(any(target_arch = "x86", target_arch = "x86_64"),
not(target_env = "msvc")))]
not(windows)))]
#[arm_aeabi_alias = __aeabi_ul2d]
pub extern "C" fn __floatundidf(i: u64) -> f64 {
int_to_float!(i, u64, f64)