Closed Bug 467092 Opened 11 years ago Closed 4 years ago

gcc outputs lots of warnings for NSS 3.12

Categories

(NSS :: Libraries, defect, P3, minor)

x86
Linux

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: mattemod, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [build_warning])

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; it; rv:1.9.0.4) Gecko/2008111602 Gentoo Firefox/3.0.4
Build Identifier: NSS 3.12

Hi, I'm a Gentoo user.
Yesterday I correctly compiled dev-libs/nss-3.12-r1 but lots of QA warnings were printed out at the end of installation.
Since it says "Please do not file a Gentoo bug and instead report the above QA issues directly to the upstream developers of this software", I'm posting them to you ;)


* QA Notice: Package has poor programming practices which may compile
*            fine but exhibit random runtime failures.
* pkistore.c:318: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkistore.c:452: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkistore.c:500: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_certselector.c:103: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_certselector.c:317: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_certselector.c:618: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_certselector.c:739: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_certselector.c:1569: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_certselector.c:1745: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_comcertselparams.c:118: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_comcertselparams.c:121: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_comcertselparams.c:125: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_comcertselparams.c:132: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_comcertselparams.c:138: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_comcertselparams.c:144: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_comcertselparams.c:151: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_comcertselparams.c:160: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_comcertselparams.c:165: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_comcertselparams.c:170: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_comcertselparams.c:175: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_comcertselparams.c:180: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_comcertselparams.c:185: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_comcertselparams.c:190: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_comcertselparams.c:257: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_crlselector.c:345: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_crlselector.c:354: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_crlselector.c:452: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_crlselector.c:623: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_crlselector.c:796: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_comcrlselparams.c:398: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_comcrlselparams.c:405: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_comcrlselparams.c:408: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_comcrlselparams.c:411: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_comcrlselparams.c:414: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_comcrlselparams.c:417: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_comcrlselparams.c:481: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_certchainchecker.c:102: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_certchainchecker.c:193: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_defaultrevchecker.c:164: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_ocspchecker.c:332: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_revocationchecker.c:176: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_trustanchor.c:388: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_trustanchor.c:431: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_procparams.c:426: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_procparams.c:434: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_procparams.c:440: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_procparams.c:444: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_procparams.c:450: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_procparams.c:454: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_procparams.c:467: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_procparams.c:473: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_procparams.c:479: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_procparams.c:483: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_procparams.c:557: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_valparams.c:304: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_resourcelimits.c:266: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_buildresult.c:323: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_policynode.c:152: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_policynode.c:344: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_policynode.c:643: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_policynode.c:1134: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_valresult.c:376: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_verifynode.c:87: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_verifynode.c:188: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_verifynode.c:247: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_verifynode.c:570: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_verifynode.c:1005: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_store.c:229: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_signaturechecker.c:156: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_signaturechecker.c:221: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_expirationchecker.c:68: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_namechainingchecker.c:71: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_basicconstraintschecker.c:148: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_basicconstraintschecker.c:201: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_policychecker.c:432: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_policychecker.c:594: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_policychecker.c:694: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_policychecker.c:802: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_policychecker.c:1175: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_policychecker.c:1489: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_policychecker.c:1521: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_policychecker.c:1536: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_policychecker.c:1777: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_policychecker.c:1822: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_policychecker.c:1938: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_policychecker.c:1995: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_policychecker.c:2311: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_policychecker.c:2387: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_validate.c:196: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_validate.c:368: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_validate.c:640: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_validate.c:770: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_validate.c:932: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_validate.c:970: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_validate.c:1200: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_validate.c:1241: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_validate.c:1373: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_validate.c:1507: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_targetcertchecker.c:177: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_targetcertchecker.c:289: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_targetcertchecker.c:332: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_targetcertchecker.c:425: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_defaultcrlchecker.c:194: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_defaultcrlchecker.c:326: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_defaultcrlchecker.c:351: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_defaultcrlchecker.c:722: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_defaultcrlchecker.c:905: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_defaultcrlchecker.c:1007: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_nameconstraintschecker.c:155: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_nameconstraintschecker.c:209: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_build.c:253: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_build.c:1171: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_build.c:1405: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_build.c:1452: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_build.c:2001: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_build.c:2473: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_build.c:2659: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_build.c:2918: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_build.c:3112: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_build.c:3458: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_build.c:3884: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_build.c:3993: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_tools.c:628: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_tools.c:637: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_tools.c:645: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_tools.c:998: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_tools.c:1004: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_tools.c:1022: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_tools.c:1058: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_tools.c:1359: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_error.c:443: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_logger.c:206: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_logger.c:533: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_logger.c:613: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_logger.c:803: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_logger.c:810: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_logger.c:891: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_logger.c:898: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_logger.c:1013: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_logger.c:1031: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_list.c:81: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_list.c:493: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_list.c:1222: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_errpaths.c:56: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_basicconstraints.c:83: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_cert.c:1439: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_cert.c:2121: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_cert.c:2132: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_cert.c:2905: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_certpolicyinfo.c:85: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_certpolicymap.c:84: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_certpolicyqualifier.c:82: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_crl.c:796: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_crl.c:1105: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_crl.c:1164: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_crlentry.c:717: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_date.c:132: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_date.c:478: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_date.c:501: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_date.c:554: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_generalname.c:121: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_generalname.c:253: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_infoaccess.c:95: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_infoaccess.c:780: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_nameconstraints.c:779: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_nameconstraints.c:1259: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_ocsprequest.c:315: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_ocspresponse.c:77: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_ocspresponse.c:516: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_ocspresponse.c:547: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_publickey.c:473: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_publickey.c:501: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_x500name.c:444: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_ocspcertid.c:154: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_bigint.c:150: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_bigint.c:325: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_bigint.c:332: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_bigint.c:373: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_bigint.c:398: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_bigint.c:408: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_bytearray.c:95: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_bytearray.c:244: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_bytearray.c:455: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_common.c:337: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_common.c:359: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_common.c:454: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_common.c:553: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_hashtable.c:182: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_hashtable.c:260: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_hashtable.c:260: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_hashtable.c:334: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_hashtable.c:334: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_hashtable.c:398: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_monitorlock.c:121: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_mutex.c:128: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_object.c:617: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_oid.c:507: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_oid.c:525: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_primhash.c:132: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_primhash.c:141: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_rwlock.c:120: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_string.c:162: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_string.c:314: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_string.c:334: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_string.c:445: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_aiamgr.c:206: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_aiamgr.c:295: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_aiamgr.c:354: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_aiamgr.c:561: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_aiamgr.c:643: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_ekuchecker.c:185: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_ekuchecker.c:258: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_ekuchecker.c:338: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_colcertstore.c:172: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_colcertstore.c:585: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_colcertstore.c:627: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_colcertstore.c:762: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_colcertstore.c:804: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_colcertstore.c:953: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_colcertstore.c:1049: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_colcertstore.c:1132: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_colcertstore.c:1213: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_httpcertstore.c:649: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_httpcertstore.c:660: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_httpcertstore.c:727: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_httpcertstore.c:736: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_httpcertstore.c:804: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_httpcertstore.c:815: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_httpcertstore.c:882: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_httpcertstore.c:893: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_httpcertstore.c:989: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_httpcertstore.c:1073: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_httpcertstore.c:1166: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_httpdefaultclient.c:177: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_httpdefaultclient.c:181: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_httpdefaultclient.c:336: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_httpdefaultclient.c:345: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_httpdefaultclient.c:422: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_httpdefaultclient.c:836: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_httpdefaultclient.c:1437: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_httpdefaultclient.c:1444: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_ldapcertstore.c:181: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_ldapcertstore.c:298: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_ldapcertstore.c:670: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_ldapcertstore.c:752: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_ldapcertstore.c:864: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_ldapcertstore.c:922: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_ldapcertstore.c:1012: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_ldapresponse.c:390: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_ldaprequest.c:675: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_ldapdefaultclient.c:617: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_ldapdefaultclient.c:2338: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_nsscontext.c:67: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_pk11certstore.c:414: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_pk11certstore.c:553: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_pk11certstore.c:656: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_socket.c:1277: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_socket.c:1358: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_socket.c:1508: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pkix_pl_socket.c:1649: warning: dereferencing type-punned pointer will break strict-aliasing rules
* certvfypkix.c:932: warning: dereferencing type-punned pointer will break strict-aliasing rules
* pk11load.c:363: warning: dereferencing type-punned pointer will break strict-aliasing rules
* sslsnce.c:1113: warning: dereferencing type-punned pointer will break strict-aliasing rules
* sslsnce.c:1114: warning: dereferencing type-punned pointer will break strict-aliasing rules
* sslsnce.c:1115: warning: dereferencing type-punned pointer will break strict-aliasing rules
* sslsnce.c:1116: warning: dereferencing type-punned pointer will break strict-aliasing rules
* sslsnce.c:1117: warning: dereferencing type-punned pointer will break strict-aliasing rules
* sslsnce.c:1118: warning: dereferencing type-punned pointer will break strict-aliasing rules
* sslsnce.c:1119: warning: dereferencing type-punned pointer will break strict-aliasing rules
* sslsnce.c:1120: warning: dereferencing type-punned pointer will break strict-aliasing rules
* sslsnce.c:1121: warning: dereferencing type-punned pointer will break strict-aliasing rules
* sslsnce.c:1122: warning: dereferencing type-punned pointer will break strict-aliasing rules
* sslsnce.c:1123: warning: dereferencing type-punned pointer will break strict-aliasing rules
* sslsnce.c:1394: warning: dereferencing type-punned pointer will break strict-aliasing rules
* sslsnce.c:1395: warning: dereferencing type-punned pointer will break strict-aliasing rules
* sslsnce.c:1396: warning: dereferencing type-punned pointer will break strict-aliasing rules
* sslsnce.c:1397: warning: dereferencing type-punned pointer will break strict-aliasing rules
* sslsnce.c:1398: warning: dereferencing type-punned pointer will break strict-aliasing rules
* sslsnce.c:1399: warning: dereferencing type-punned pointer will break strict-aliasing rules
* sslsnce.c:1400: warning: dereferencing type-punned pointer will break strict-aliasing rules
* sslsnce.c:1401: warning: dereferencing type-punned pointer will break strict-aliasing rules
* sslsnce.c:1402: warning: dereferencing type-punned pointer will break strict-aliasing rules
* sslsnce.c:1403: warning: dereferencing type-punned pointer will break strict-aliasing rules
* sslsnce.c:1404: warning: dereferencing type-punned pointer will break strict-aliasing rules
* cmsattr.c:95: warning: dereferencing type-punned pointer will break strict-aliasing rules
* cmsattr.c:132: warning: dereferencing type-punned pointer will break strict-aliasing rules
* cmsenvdata.c:139: warning: dereferencing type-punned pointer will break strict-aliasing rules
* cmsrecinfo.c:235: warning: dereferencing type-punned pointer will break strict-aliasing rules
* cmssigdata.c:766: warning: dereferencing type-punned pointer will break strict-aliasing rules
* cmssigdata.c:810: warning: dereferencing type-punned pointer will break strict-aliasing rules
* cmssigdata.c:826: warning: dereferencing type-punned pointer will break strict-aliasing rules
* cmssigdata.c:864: warning: dereferencing type-punned pointer will break strict-aliasing rules
* cmssigdata.c:1037: warning: dereferencing type-punned pointer will break strict-aliasing rules
* cmssigdata.c:1039: warning: dereferencing type-punned pointer will break strict-aliasing rules
* blapitest.c:3464: warning: dereferencing type-punned pointer will break strict-aliasing rules
* install.c:443: warning: dereferencing type-punned pointer will break strict-aliasing rules

* Please do not file a Gentoo bug and instead report the above QA
* issues directly to the upstream developers of this software.
* Homepage: http://www.mozilla.org/projects/security/pki/nss/

Reproducible: Always

Steps to Reproduce:
Compile NSS 3.12
Actual Results:  
NSS works but prints lots of QA warnings.


Here's my "emerge --info" output, which could be useful:


Portage 2.2_rc16 (default/linux/amd64/2008.0, gcc-4.3.2, glibc-2.7-r2, 2.6.26-gentoo-r2 x86_64)
=================================================================
System uname: Linux-2.6.26-gentoo-r2-x86_64-AMD_Phenom-tm-_9850_Quad-Core_Processor-with-glibc2.2.5
Timestamp of tree: Fri, 28 Nov 2008 14:46:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.6
dev-lang/python:     2.5.2-r7
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.4.8
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.26
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps y"
FEATURES="ccache distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/"
LANG="it_IT.UTF-8"
LC_ALL="it_IT.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="it"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext 3ds 64bit 7zip X Xaw3d a52 aac ace acl acpi additions aio akode alsa amd64 ao apache2 audacious audiofile autoreplace bash-completion berkdb branding bzip2 cairo cal3d caps ccache cdda cddb cdio cdparanoia cdr chardet chroot cli cpudetection cracklib crypt css cups curl dbus dga dirac directfb divx dmi double-precision dri dts dv dvb dvd dvdr dvdread ecc emovix enca encode exif expat fam fame fbcon fbdev ffmpeg fftw firefox flac flash fontconfig fortran fpx ftp gcj gd gdbm ggi gif gimp glib glitz glut gmedia gmp gnutls gpm graphviz gs gtk gtkhtml guile gzip hal hdri history iconv id3 id3tag idea imagemagick imlib isdnlog jabber java5 java6 javascript jbig jingle jpeg jpeg2k justify kde kdrive ladspa lame lcms libcaca libnotify libsamplerate lm_sensors loop-aes lzo mad matroska md5sum messenger midi mikmod mime mjpeg mmap mmx mmxext mng modplug mono motif mozdom mp2 mp3 mp4 mpeg mpeg2 mplayer msn mudflap multilib musepack musicbrainz mysql ncurses networking nls nokia6600 nptl nptlonly nsplugin ntlm nuv oav objc objc++ objc-gc offensive ogg openal openexr opengl openmp openssl pam paste64 pch pcre pdf perl physfs png ppds pppd pth python qt3 qt3support qt4 quicktime radio rar readline realmedia reflection replytolist rtc rtsp samba schroedinger sdl sdl-image sdl-sound sdlaudio sensord session shout slang slp smp sms sndfile sockets speex spell spl sql srp srt sse sse2 sse3 ssl statistics stream svg sysfs syslog szip t1lib tcpd tetex tga theora threads tidy tiff toolbar truetype tta type1 unicode unzip usb utempter v4l v4l2 vcd vdr vorbis wav wavpack wifi winbind wma wmf wmp x264 xanim xcomposite xforms xine xml xorg xpm xprint xsl xulrunner xv xvid xvmc zip zlib" ALSA_CARDS="ca0106" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif speling status unique_id userdir usertrack vhost_alias" DVB_CARDS="bcm3510 dibusb-usb1 dibusb-usb2 nxt2002 nxt200x or51132 or51211 tda10045 tda10046 ttpci ttusb-dec usb-a800 usb-bluebird usb-dib0700 usb-dtt200u usb-umt usb-vp702x usb-vp7045 usb-wt220u" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="it" USERLAND="GNU" VIDEO_CARDS="fglrx radeon vesa vga fbdev"
Unset:  CPPFLAGS, CTARGET, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
I seem to recall there's some command line option for gcc that tells it to 
not produce all those warnings.  It doesn't merely disable the warning,
but rather it changes the optimizer behavior to avoid the problem. 

Feel free to find that option and contribute a patch that will put it to use
in gcc compiler command lines in NSS.  It would be a patch to a file in 
coreconf.
Component: Test → Libraries
Priority: -- → P3
QA Contact: test → libraries
Summary: NSS 3.12 prints lots of QA Notices/warnings → gcc outputs lots of warnings for NSS 3.12
Version: unspecified → trunk
Severity: normal → minor
Status: UNCONFIRMED → NEW
Ever confirmed: true
the option is -fno-strict-aliasing and is a sorry substitute for actually fixing the code.
I'm very willing to build libpkix, libssl and libSMIME with 
-fno-strict-aliasing.  The decision to write code that allows aliasing
is a design decision.  It's not always an error to do so.  Yes, doing 
so means that certain optimizations cannot be done, but that is a 
designer's trade off to make.  It is inappropriate for a compiler to 
always complain about it.
Alexei, please write a patch to ensure that, when building with gcc on 
any platform, all of libPKIX is built with the option -fno-strict-aliasing.
Unfortunately, it's a violation of the C99 standard and results in undefined behaviour, so it's always appropriate to complain about it.

Anyways, thanks for taking steps to prevent it.  Undefined behaviour in security products always makes me uneasy.
It's only an issue for optimizers.  All the compilers with which people
build NSS, except 1, have no problem with it.  The one compiler that whines 
will eventually be told to stop whining.  

Again, feel free to contribute a patch.
fyi, gcc-4.4 does not warn about libPKIX, so it could be that these are false positives.

 * mpi/mpcpucache.c:711: warning: dereferencing type-punned pointer will break strict-aliasing rules
 * sslsnce.c:1113: warning: dereferencing type-punned pointer will break strict-aliasing rules      
 * sslsnce.c:1114: warning: dereferencing type-punned pointer will break strict-aliasing rules      
 * sslsnce.c:1115: warning: dereferencing type-punned pointer will break strict-aliasing rules      
 * sslsnce.c:1116: warning: dereferencing type-punned pointer will break strict-aliasing rules      
 * sslsnce.c:1117: warning: dereferencing type-punned pointer will break strict-aliasing rules      
 * sslsnce.c:1118: warning: dereferencing type-punned pointer will break strict-aliasing rules      
 * sslsnce.c:1119: warning: dereferencing type-punned pointer will break strict-aliasing rules      
 * sslsnce.c:1120: warning: dereferencing type-punned pointer will break strict-aliasing rules      
 * sslsnce.c:1121: warning: dereferencing type-punned pointer will break strict-aliasing rules      
 * sslsnce.c:1122: warning: dereferencing type-punned pointer will break strict-aliasing rules      
 * sslsnce.c:1123: warning: dereferencing type-punned pointer will break strict-aliasing rules      
 * sslsnce.c:1391: warning: dereferencing type-punned pointer will break strict-aliasing rules      
 * sslsnce.c:1392: warning: dereferencing type-punned pointer will break strict-aliasing rules      
 * sslsnce.c:1393: warning: dereferencing type-punned pointer will break strict-aliasing rules      
 * sslsnce.c:1394: warning: dereferencing type-punned pointer will break strict-aliasing rules      
 * sslsnce.c:1395: warning: dereferencing type-punned pointer will break strict-aliasing rules      
 * sslsnce.c:1396: warning: dereferencing type-punned pointer will break strict-aliasing rules      
 * sslsnce.c:1397: warning: dereferencing type-punned pointer will break strict-aliasing rules      
 * sslsnce.c:1398: warning: dereferencing type-punned pointer will break strict-aliasing rules      
 * sslsnce.c:1399: warning: dereferencing type-punned pointer will break strict-aliasing rules      
 * sslsnce.c:1400: warning: dereferencing type-punned pointer will break strict-aliasing rules      
 * sslsnce.c:1401: warning: dereferencing type-punned pointer will break strict-aliasing rules
Please try this patch on Linux, and tell us what effect it has, if any.
all good.
Duplicate of this bug: 543943
Duplicate of this bug: 471189
Whiteboard: [build_warning]
There is no such warning in current version of code. I checked linux and macos nightly builds.

Hence closing the bug.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WORKSFORME
(In reply to Atul Aggarwal from comment #12)
> There is no such warning in current version of code. I checked linux and
> macos nightly builds.
> 
> Hence closing the bug.

Bug is part of the build not the binary you are testing. It is still very much an annoyance if -fno-strict-aliasing is not passed during the compile.
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
Depends on: 1182667
I ended up suppressing the strict aliasing warning. That code isn't portable, but it does work in most - if not all - of the places we care about. If anyone cares to fix it, please open a new bug.
Status: REOPENED → RESOLVED
Closed: 8 years ago4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 3.21
You need to log in before you can comment on or make changes to this bug.