Bug 832942: work around an ARMv6 code generation bug in gcc 4.6. Patch by Camilo Viecco. r=wtc

git-svn-id: svn://10.0.0.236/branches/NSS_3_14_4_RELEASE_BRANCH@265073 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
kaie%kuix.de 2013-10-22 20:35:10 +00:00
parent 9c780a90ef
commit 1774dc0404

View File

@ -1894,7 +1894,18 @@ sftk_mkPrivKey(SFTKObject *object, CK_KEY_TYPE key_type, CK_RV *crvp)
} }
rv = DER_SetUInteger(privKey->arena, &privKey->u.ec.version, rv = DER_SetUInteger(privKey->arena, &privKey->u.ec.version,
NSSLOWKEY_EC_PRIVATE_KEY_VERSION); NSSLOWKEY_EC_PRIVATE_KEY_VERSION);
if (rv != SECSuccess) crv = CKR_HOST_MEMORY; if (rv != SECSuccess) {
crv = CKR_HOST_MEMORY;
/* The following ifdef is needed for Linux arm distros and
* Android as gcc 4.6 has a bug when targeting arm (but not
* thumb). The bug has been fixed in gcc 4.7.
* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56561
*/
#if defined (__arm__) && !defined(__thumb__) && defined (__GNUC__)
*crvp = CKR_HOST_MEMORY;
break;
#endif
}
break; break;
#endif /* NSS_ENABLE_ECC */ #endif /* NSS_ENABLE_ECC */