ro added a comment.

That claim of 16-byte alignment on Solaris is half-wrong: it's definitely wrong 
on Solaris, but seems to be true on Illumos.

However, there's currently no way to distinguish the two other than checking 
`uname -v` at runtime in a native compiler.  The configure triples continue to 
be identical.  Maybe it's possible to do the `uname` check in 
`llvm/lib/Support/Unix/Host.inc` (`updateTripleOSVersion`) changing the triple 
to (say) `x86_64-pc-illumos` at runtime.  Then `isOSSolaris` would return 
`true` for both Solaris and Illumos, while a new `isOSIllumos` would only 
return `true` on Illumos: I think such a subtarget approach is what they used 
in Go.  However, this might well break elsewhere and it's ultimately up to the 
Illumos community to decide how to deal with the Solaris/Illumos differences.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D87615/new/

https://reviews.llvm.org/D87615

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to