[PATCH] D87615: [clang][Driver] Force stack realignment on 32-bit Solaris/x86

Rainer Orth via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 15 01:35:04 PDT 2020


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



More information about the cfe-commits mailing list