Is llvm correct outputting the same data layout on Solaris i386 as on Linux i386 ?

Solaris-i386 isn't in the list of supported configurations.
I have built llvm and am trying to run some code in JIT on Solaris. Same code that runs fine on linux crashes during some external fun function invokation from JIT.
My first suspicion is ABI. clang on Solaris outputs the same data layout string as on linux.

Is Solaris ABI really the same on i386?

Yuri

Is Solaris ABI really the same on i386?

Probably not. Also, note that the problem is not ABI alone, the
layouts of different C stdlib structs might be different (e.g. FILE),
etc.

So how do I figure out what is the correct layout string would be on Solaris-i386?

stdlib structures? This depends on the calling code being aware of this. It its C++ code its supposed to know about this by itself from headers.

Yuri

So how do I figure out what is the correct layout string would be on
Solaris-i386?

Read the ABI docs and construct the string. Note also that this is not
enough since bunch of stuff was lowered by a frontend in
target-specific way.

stdlib structures? This depends on the calling code being aware of this. It
its C++ code its supposed to know about this by itself from headers.

Right, but given that headers might be different the code itself might
do completely different things on different platforms.