@@ -58,6 +58,7 @@ use rustc_macros::HashStable_Generic;
5858pub mod abi;
5959pub mod crt_objects;
6060
61+ mod aix_base;
6162mod android_base;
6263mod apple_base;
6364mod avr_gnu_base;
@@ -1027,6 +1028,7 @@ supported_targets! {
10271028 ( "powerpc-unknown-linux-gnu" , powerpc_unknown_linux_gnu) ,
10281029 ( "powerpc-unknown-linux-gnuspe" , powerpc_unknown_linux_gnuspe) ,
10291030 ( "powerpc-unknown-linux-musl" , powerpc_unknown_linux_musl) ,
1031+ ( "powerpc64-ibm-aix" , powerpc64_ibm_aix) ,
10301032 ( "powerpc64-unknown-linux-gnu" , powerpc64_unknown_linux_gnu) ,
10311033 ( "powerpc64-unknown-linux-musl" , powerpc64_unknown_linux_musl) ,
10321034 ( "powerpc64le-unknown-linux-gnu" , powerpc64le_unknown_linux_gnu) ,
@@ -1454,6 +1456,9 @@ pub struct TargetOptions {
14541456 pub families : StaticCow < [ StaticCow < str > ] > ,
14551457 /// Whether the target toolchain's ABI supports returning small structs as an integer.
14561458 pub abi_return_struct_as_int : bool ,
1459+ /// Whether the target toolchain is like AIX's. Linker options on AIX are special and it uses
1460+ /// XCOFF as binary format. Defaults to false.
1461+ pub is_like_aix : bool ,
14571462 /// Whether the target toolchain is like macOS's. Only useful for compiling against iOS/macOS,
14581463 /// in particular running dsymutil and some other stuff like `-dead_strip`. Defaults to false.
14591464 /// Also indiates whether to use Apple-specific ABI changes, such as extending function
@@ -1817,6 +1822,7 @@ impl Default for TargetOptions {
18171822 staticlib_suffix : ".a" . into ( ) ,
18181823 families : cvs ! [ ] ,
18191824 abi_return_struct_as_int : false ,
1825+ is_like_aix : false ,
18201826 is_like_osx : false ,
18211827 is_like_solaris : false ,
18221828 is_like_windows : false ,
@@ -2488,6 +2494,7 @@ impl Target {
24882494 key ! ( staticlib_suffix) ;
24892495 key ! ( families, TargetFamilies ) ;
24902496 key ! ( abi_return_struct_as_int, bool ) ;
2497+ key ! ( is_like_aix, bool ) ;
24912498 key ! ( is_like_osx, bool ) ;
24922499 key ! ( is_like_solaris, bool ) ;
24932500 key ! ( is_like_windows, bool ) ;
@@ -2741,6 +2748,7 @@ impl ToJson for Target {
27412748 target_option_val ! ( staticlib_suffix) ;
27422749 target_option_val ! ( families, "target-family" ) ;
27432750 target_option_val ! ( abi_return_struct_as_int) ;
2751+ target_option_val ! ( is_like_aix) ;
27442752 target_option_val ! ( is_like_osx) ;
27452753 target_option_val ! ( is_like_solaris) ;
27462754 target_option_val ! ( is_like_windows) ;
0 commit comments