@@ -1262,6 +1262,25 @@ impl Build {
1262
1262
if target. starts_with ( "thumbv7m" ) {
1263
1263
cmd. args . push ( "-march=armv7-m" . into ( ) ) ;
1264
1264
}
1265
+ if target. starts_with ( "armebv7r" ) | target. starts_with ( "armv7r" ) {
1266
+ // ARM mode
1267
+ cmd. args . push ( "-marm" . into ( ) ) ;
1268
+
1269
+ // R Profile
1270
+ cmd. args . push ( "-march=armv7-r" . into ( ) ) ;
1271
+
1272
+ if target. ends_with ( "eabihf" ) {
1273
+ // Calling convention
1274
+ cmd. args . push ( "-mfloat-abi=hard" . into ( ) ) ;
1275
+
1276
+ // lowest common denominator FPU
1277
+ // (see Cortex-R4 technical reference manual)
1278
+ cmd. args . push ( "-mfpu=vfpv3-d16" . into ( ) )
1279
+ } else {
1280
+ // Calling convention
1281
+ cmd. args . push ( "-mfloat-abi=soft" . into ( ) ) ;
1282
+ }
1283
+ }
1265
1284
}
1266
1285
}
1267
1286
@@ -1672,6 +1691,9 @@ impl Build {
1672
1691
"sparc64-unknown-linux-gnu" => Some ( "sparc64-linux-gnu" ) ,
1673
1692
"sparc64-unknown-netbsd" => Some ( "sparc64--netbsd" ) ,
1674
1693
"sparcv9-sun-solaris" => Some ( "sparcv9-sun-solaris" ) ,
1694
+ "armebv7r-none-eabihf" => Some ( "arm-none-eabi" ) ,
1695
+ "armv7r-none-eabi" => Some ( "arm-none-eabi" ) ,
1696
+ "armv7r-none-eabihf" => Some ( "arm-none-eabi" ) ,
1675
1697
"thumbv6m-none-eabi" => Some ( "arm-none-eabi" ) ,
1676
1698
"thumbv7em-none-eabi" => Some ( "arm-none-eabi" ) ,
1677
1699
"thumbv7em-none-eabihf" => Some ( "arm-none-eabi" ) ,
0 commit comments