@@ -497,7 +497,7 @@ impl TargetTriple {
497
497
let mut sys_info;
498
498
let ( sysname, machine) = unsafe {
499
499
sys_info = mem:: zeroed ( ) ;
500
- if libc:: uname ( & mut sys_info) != 0 {
500
+ if libc:: uname ( & mut sys_info) == - 1 {
501
501
return None ;
502
502
}
503
503
@@ -507,7 +507,11 @@ impl TargetTriple {
507
507
)
508
508
} ;
509
509
510
- #[ cfg( not( target_os = "android" ) ) ]
510
+ #[ cfg( not( any(
511
+ target_os = "android" ,
512
+ target_os = "illumos" ,
513
+ target_os = "solaris"
514
+ ) ) ) ]
511
515
let host_triple = match ( sysname, machine) {
512
516
( b"Linux" , b"x86_64" ) => Some ( TRIPLE_X86_64_UNKNOWN_LINUX ) ,
513
517
( b"Linux" , b"i686" ) => Some ( "i686-unknown-linux-gnu" ) ,
@@ -532,7 +536,6 @@ impl TargetTriple {
532
536
( b"NetBSD" , b"x86_64" ) => Some ( "x86_64-unknown-netbsd" ) ,
533
537
( b"NetBSD" , b"i686" ) => Some ( "i686-unknown-netbsd" ) ,
534
538
( b"DragonFly" , b"x86_64" ) => Some ( "x86_64-unknown-dragonfly" ) ,
535
- ( b"SunOS" , b"i86pc" ) => Some ( "x86_64-unknown-illumos" ) ,
536
539
_ => None ,
537
540
} ;
538
541
@@ -547,6 +550,19 @@ impl TargetTriple {
547
550
_ => None ,
548
551
} ;
549
552
553
+ #[ cfg( target_os = "illumos" ) ]
554
+ let host_triple = match ( sysname, machine) {
555
+ ( b"SunOS" , b"i86pc" ) => Some ( "x86_64-unknown-illumos" ) ,
556
+ _ => None ,
557
+ } ;
558
+
559
+ #[ cfg( target_os = "solaris" ) ]
560
+ let host_triple = match ( sysname, machine) {
561
+ ( b"SunOS" , b"i86pc" ) => Some ( "x86_64-pc-solaris" ) ,
562
+ ( b"SunOS" , b"sun4v" ) => Some ( "sparcv9-sun-solaris" ) ,
563
+ _ => None ,
564
+ } ;
565
+
550
566
host_triple. map ( TargetTriple :: new)
551
567
}
552
568
0 commit comments