@@ -57,6 +57,7 @@ use rustc_macros::HashStable_Generic;
5757pub mod abi;
5858pub mod crt_objects;
5959
60+ mod aix_base;
6061mod android_base;
6162mod apple_base;
6263mod avr_gnu_base;
@@ -1026,6 +1027,7 @@ supported_targets! {
10261027 ( "powerpc-unknown-linux-gnu" , powerpc_unknown_linux_gnu) ,
10271028 ( "powerpc-unknown-linux-gnuspe" , powerpc_unknown_linux_gnuspe) ,
10281029 ( "powerpc-unknown-linux-musl" , powerpc_unknown_linux_musl) ,
1030+ ( "powerpc64-ibm-aix" , powerpc64_ibm_aix) ,
10291031 ( "powerpc64-unknown-linux-gnu" , powerpc64_unknown_linux_gnu) ,
10301032 ( "powerpc64-unknown-linux-musl" , powerpc64_unknown_linux_musl) ,
10311033 ( "powerpc64le-unknown-linux-gnu" , powerpc64le_unknown_linux_gnu) ,
@@ -1453,6 +1455,9 @@ pub struct TargetOptions {
14531455 pub families : StaticCow < [ StaticCow < str > ] > ,
14541456 /// Whether the target toolchain's ABI supports returning small structs as an integer.
14551457 pub abi_return_struct_as_int : bool ,
1458+ /// Whether the target toolchain is like AIX's. Linker options on AIX are special and it uses
1459+ /// XCOFF as binary format. Defaults to false.
1460+ pub is_like_aix : bool ,
14561461 /// Whether the target toolchain is like macOS's. Only useful for compiling against iOS/macOS,
14571462 /// in particular running dsymutil and some other stuff like `-dead_strip`. Defaults to false.
14581463 /// Also indiates whether to use Apple-specific ABI changes, such as extending function
@@ -1808,6 +1813,7 @@ impl Default for TargetOptions {
18081813 staticlib_suffix : ".a" . into ( ) ,
18091814 families : cvs ! [ ] ,
18101815 abi_return_struct_as_int : false ,
1816+ is_like_aix : false ,
18111817 is_like_osx : false ,
18121818 is_like_solaris : false ,
18131819 is_like_windows : false ,
@@ -2465,6 +2471,7 @@ impl Target {
24652471 key ! ( staticlib_suffix) ;
24662472 key ! ( families, TargetFamilies ) ;
24672473 key ! ( abi_return_struct_as_int, bool ) ;
2474+ key ! ( is_like_aix, bool ) ;
24682475 key ! ( is_like_osx, bool ) ;
24692476 key ! ( is_like_solaris, bool ) ;
24702477 key ! ( is_like_windows, bool ) ;
@@ -2716,6 +2723,7 @@ impl ToJson for Target {
27162723 target_option_val ! ( staticlib_suffix) ;
27172724 target_option_val ! ( families, "target-family" ) ;
27182725 target_option_val ! ( abi_return_struct_as_int) ;
2726+ target_option_val ! ( is_like_aix) ;
27192727 target_option_val ! ( is_like_osx) ;
27202728 target_option_val ! ( is_like_solaris) ;
27212729 target_option_val ! ( is_like_windows) ;
0 commit comments