Hi all,

Two changes to how NSS is built for Firefox's purposes have landed recently:

1. Bug 1018375 changed our build process on Android/B2G such that the 
libnss3.so that we build there now has proper symbol exports applied to it.  
This change enables the linker to discard any functions and/or data that aren't 
used by the exported API from the final libnss3.so.  Initial size reduction 
results were very encouraging; about ~10% reduction in the on-disk size, ~18% 
reduction of the uncompressed in-memory size.

2. Bug 1025998 changed our NSS build such that we now maintain a custom list of 
the symbols required to build Firefox and its subset of NSS.  This list is only 
used for some platforms; for all others, the normal NSS-provided list of 
exported symbols is used.  If you are using new symbols from NSS, either from 
C++ or through ctypes, you need to ensure that the symbols you wish to use are 
present in security/build/nss.def.  (They also need to be present in NSS's 
list, of course, or you'll break the build.)

The intent of the second change is to eventually cut down on the size of the 
NSS API surface that we ship in Firefox, thus reducing the size of the NSS 
libraries that we ship as well.  The tracking bug for this effort is bug 611781.

-Nathan
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to