Skip to content

Commit

Permalink
Merge pull request rust-lang#223 from paoloteti/be
Browse files Browse the repository at this point in the history
Skip aeabi_cdcmp and aeabi_cfcmp on big-endian targets
  • Loading branch information
alexcrichton authored Jan 19, 2018
2 parents bf912e6 + 083f107 commit 22f76e3
Showing 1 changed file with 15 additions and 4 deletions.
19 changes: 15 additions & 4 deletions build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5430,10 +5430,6 @@ mod c {
if target_arch == "arm" && target_os != "ios" {
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_div0.c",
"arm/aeabi_drsub.c",
Expand Down Expand Up @@ -5467,6 +5463,21 @@ mod c {
// "arm/udivsi3.S",
],
);

// First of all aeabi_cdcmp and aeabi_cfcmp are never called by 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" {
Expand Down

0 comments on commit 22f76e3

Please sign in to comment.