Distinguish different vfp?
features
The different generations of ARM floating point VFP correspond to the LLVM CPU features named `vfp2`, `vfp3`, and `vfp4`; they are now exposed in Rust under the same names. This commit fixes some crashes that would occour when checking if the `vfp` feature exists (the crash occurs because the linear scan of the LLVM feature goes past the end of the features whenever it searches for a feature that does not exist in the LLVM tables).
This commit is contained in:
parent
f942c28900
commit
5879ee1eca
@ -24,9 +24,15 @@ use libc::c_char;
|
||||
pub fn add_configuration(cfg: &mut ast::CrateConfig, sess: &Session) {
|
||||
let target_machine = create_target_machine(sess);
|
||||
|
||||
// WARNING: the features must be known to LLVM or the feature
|
||||
// detection code will walk past the end of the feature array,
|
||||
// leading to crashes.
|
||||
|
||||
let arm_whitelist = [
|
||||
"neon\0",
|
||||
"vfp\0",
|
||||
"vfp2\0",
|
||||
"vfp3\0",
|
||||
"vfp4\0",
|
||||
];
|
||||
|
||||
let x86_whitelist = [
|
||||
|
Loading…
Reference in New Issue
Block a user