Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

openssl: Build with GCC but in SUNW-fashion #3

Merged
merged 1 commit into from
Feb 28, 2012

Conversation

richlowe
Copy link
Contributor

As with SunC, when building with GCC but for SunOS we need to make sure
that the integer type used by RC4 is always char. This means defining
RC4_CHAR rather than RC4_INT but also disabling the use of the x86 ASM
RC4 implementation, which also assumes RC4_INT (this is what was missed
in 070825).

This is not exactly complete, in that someone should check the other differences between ...-cc and ...-cc-sunw and whether they should be applied (the ones that stand out are various linker flags for direct binding, and mapfiles we tend to use in the OS). And other differences between ...-cc-sunw and ...-gcc and whether they're really gcc-isms, or whether they are deviations from what we need.

When re-applying the changes I decided to use a -gcc-sunw to go with -cc-sunw to make the above comparisons easier, though I myself have only glanced at them, but these include the definition of RC4_INDEX and DES_RISC1

I've tested this, as far as it goes, by preloading a fixed libcrypto for a debug sshd and connecting to it both in general, and non-interactively with a DSA key (which is what triggers the most recent breakage)

@JohnSonnenschein and @jclulow have all the rest of the backstory here.

As with SunC, when building with GCC but for SunOS we need to make sure
that the integer type used by RC4 is always 'char'.  This means defining
RC4_CHAR rather than RC4_INT but also disabling the use of the x86 ASM
RC4 implementation, which also assumes RC4_INT (this is what was missed
in 070825)
JohnSonnenschein added a commit that referenced this pull request Feb 28, 2012
openssl: Build with GCC but in SUNW-fashion
@JohnSonnenschein JohnSonnenschein merged commit ec01114 into TritonDataCenter:master Feb 28, 2012
@richlowe
Copy link
Contributor Author

I'm pretty sure that the passing of DES_INT when 64bit is similarly important for binary compat. I'm unsure about DES_PTR and DES_UNROLL when 32bit. I think they're performance related. The use of -DMD32_REG_T=int may also have some compatibility quirks, but I'm not certain (in this case it'll actually contract the type, since it defaults long).

jasonbking pushed a commit that referenced this pull request Mar 9, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants