@@ -1262,6 +1262,25 @@ impl Build {
12621262 if target. starts_with ( "thumbv7m" ) {
12631263 cmd. args . push ( "-march=armv7-m" . into ( ) ) ;
12641264 }
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+ }
12651284 }
12661285 }
12671286
@@ -1672,6 +1691,9 @@ impl Build {
16721691 "sparc64-unknown-linux-gnu" => Some ( "sparc64-linux-gnu" ) ,
16731692 "sparc64-unknown-netbsd" => Some ( "sparc64--netbsd" ) ,
16741693 "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" ) ,
16751697 "thumbv6m-none-eabi" => Some ( "arm-none-eabi" ) ,
16761698 "thumbv7em-none-eabi" => Some ( "arm-none-eabi" ) ,
16771699 "thumbv7em-none-eabihf" => Some ( "arm-none-eabi" ) ,
0 commit comments