Skip aeabi_cdcmp and aeabi_cfcmp on big-endian targets
First of all aeabi_cdcmp and aeabi_cfcmp are never called LLVM. Second are little-endian only, so build fail on big-endian targets. Temporally workaround: exclude these files for big-endian targets.
This commit is contained in:
parent
bf912e607e
commit
a75a49990c
18
build.rs
18
build.rs
|
@ -5430,10 +5430,6 @@ mod c {
|
||||||
if target_arch == "arm" && target_os != "ios" {
|
if target_arch == "arm" && target_os != "ios" {
|
||||||
sources.extend(
|
sources.extend(
|
||||||
&[
|
&[
|
||||||
"arm/aeabi_cdcmp.S",
|
|
||||||
"arm/aeabi_cdcmpeq_check_nan.c",
|
|
||||||
"arm/aeabi_cfcmp.S",
|
|
||||||
"arm/aeabi_cfcmpeq_check_nan.c",
|
|
||||||
"arm/aeabi_dcmp.S",
|
"arm/aeabi_dcmp.S",
|
||||||
"arm/aeabi_div0.c",
|
"arm/aeabi_div0.c",
|
||||||
"arm/aeabi_drsub.c",
|
"arm/aeabi_drsub.c",
|
||||||
|
@ -5467,6 +5463,20 @@ mod c {
|
||||||
// "arm/udivsi3.S",
|
// "arm/udivsi3.S",
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// First of all aeabi_cdcmp and aeabi_cfcmp are never called LLVM.
|
||||||
|
// Second are little-endian only, so build fail on big-endian targets.
|
||||||
|
// Temporally workaround: exclude these files for big-endian targets.
|
||||||
|
if !llvm_target[0].starts_with("thumbeb") &&
|
||||||
|
!llvm_target[0].starts_with("armeb") {
|
||||||
|
sources.extend(
|
||||||
|
&[
|
||||||
|
"arm/aeabi_cdcmp.S",
|
||||||
|
"arm/aeabi_cdcmpeq_check_nan.c",
|
||||||
|
"arm/aeabi_cfcmp.S",
|
||||||
|
"arm/aeabi_cfcmpeq_check_nan.c",
|
||||||
|
],
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if llvm_target[0] == "armv7" {
|
if llvm_target[0] == "armv7" {
|
||||||
|
|
Loading…
Reference in New Issue