[Libreoffice-commits] core.git: 3 commits - bin/lo-all-static-libs external/nss

Tor Lillqvist tml at collabora.com
Tue Aug 12 09:58:53 PDT 2014


 bin/lo-all-static-libs              |    7 ++----
 external/nss/UnpackedTarball_nss.mk |    1 
 external/nss/nss-more-static.patch  |   39 ++++++++++++++++++++++++++++++++++++
 3 files changed, 43 insertions(+), 4 deletions(-)

New commits:
commit d87cf30fe65e525f1cb50dbc5eecf2d623e7cfb3
Author: Tor Lillqvist <tml at collabora.com>
Date:   Tue Aug 12 19:48:00 2014 +0300

    More NSS static linking patches
    
    I noticed in the debugger that this code tried to load a freebl dylib, but
    after then making it link to the freebl entry point statically, I no longer
    see it being entered. Huh, confusing. Making NSS work on iOS to the extent we
    need is a pain.
    
    Change-Id: Iafc3785752587c38566441f566e187859022733e

diff --git a/external/nss/UnpackedTarball_nss.mk b/external/nss/UnpackedTarball_nss.mk
index 0ca3de2..fa798d1 100644
--- a/external/nss/UnpackedTarball_nss.mk
+++ b/external/nss/UnpackedTarball_nss.mk
@@ -26,6 +26,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,nss,\
     external/nss/ubsan.patch.0 \
     $(if $(filter IOS,$(OS)), \
         external/nss/nss-chromium-nss-static.patch \
+        external/nss/nss-more-static.patch \
         external/nss/nss-ios.patch) \
 ))
 
diff --git a/external/nss/nss-more-static.patch b/external/nss/nss-more-static.patch
new file mode 100644
index 0000000..6b06a4e
--- /dev/null
+++ b/external/nss/nss-more-static.patch
@@ -0,0 +1,39 @@
+--- a/a/nss/lib/freebl/loader.c
++++ a/a/nss/lib/freebl/loader.c
+@@ -114,6 +114,7 @@
+ 
+ #include "genload.c"
+ 
++extern FREEBLGetVectorFn FREEBL_GetVector;
+ /* This function must be run only once. */
+ /*  determine if hybrid platform, then actually load the DSO. */
+ static PRStatus
+@@ -136,9 +136,9 @@
+     return PR_FAILURE;
+   }
+ 
+-  handle = loader_LoadLibrary(name);
+-  if (handle) {
+-    PRFuncPtr address = PR_FindFunctionSymbol(handle, "FREEBL_GetVector");
++  handle = 0;
++  {
++    PRFuncPtr address = FREEBL_GetVector;
+     PRStatus status;
+     if (address) {
+       FREEBLGetVectorFn  * getVector = (FREEBLGetVectorFn *)address;
+@@ -887,6 +887,7 @@
+ void
+ BL_Unload(void)
+ {
++#if 0
+   /* This function is not thread-safe, but doesn't need to be, because it is
+    * only called from functions that are also defined as not thread-safe,
+    * namely C_Finalize in softoken, and the SSL bypass shutdown callback called
+@@ -905,6 +905,7 @@
+       blLib = NULL;
+   }
+   loadFreeBLOnce = pristineCallOnce;
++#endif
+ }
+ 
+ /* ============== New for 3.003 =============================== */
commit f887a3e1d83b1607bb43c3d4957a2dc4c18b3d2c
Author: Tor Lillqvist <tml at collabora.com>
Date:   Tue Aug 12 18:27:24 2014 +0300

    Not true, it's the dylibs that are copied
    
    Change-Id: I2fc51f2aaf56ce98d8990b71a33abaef24d841e7

diff --git a/bin/lo-all-static-libs b/bin/lo-all-static-libs
index 8cff485..11c66d4 100755
--- a/bin/lo-all-static-libs
+++ b/bin/lo-all-static-libs
@@ -54,9 +54,6 @@ IOS)
         $WORKDIR/UnpackedTarball/nss/nss/lib/ckfw/builtins/out/*.o \
         $WORKDIR/UnpackedTarball/nss/nss/lib/freebl/out/Darwin_SINGLE_SHLIB/*.o
 
-    # Unfortunately NSS's build mechanism copies each static archive
-    # it constructs to another place, but we don't bother filtering
-    # out duplicates, it shouldn't hurt.
     nsslibs=`find $WORKDIR/UnpackedTarball/nss -name 'lib*.a'`
     ;;
 *)
commit 5b4e745d91431e888da42f0c7c78c0445ae201c7
Author: Tor Lillqvist <tml at collabora.com>
Date:   Tue Aug 12 18:26:44 2014 +0300

    More object files not in any archive
    
    Change-Id: I658e235d345e61f2b18e9cf074d64bce9793cfc5

diff --git a/bin/lo-all-static-libs b/bin/lo-all-static-libs
index 1d93afe..8cff485 100755
--- a/bin/lo-all-static-libs
+++ b/bin/lo-all-static-libs
@@ -50,7 +50,9 @@ IOS)
     # files (that are not present in any of the static archives). We
     # need the latter too, so collect them here into an archive of
     # their own.
-    ar cr $WORKDIR/UnpackedTarball/nss/nss/lib/ckfw/builtins/out/libLOtemp.a $WORKDIR/UnpackedTarball/nss/nss/lib/ckfw/builtins/out/*.o
+    ar cr $WORKDIR/UnpackedTarball/nss/nss/lib/ckfw/builtins/out/libLOtemp.a \
+        $WORKDIR/UnpackedTarball/nss/nss/lib/ckfw/builtins/out/*.o \
+        $WORKDIR/UnpackedTarball/nss/nss/lib/freebl/out/Darwin_SINGLE_SHLIB/*.o
 
     # Unfortunately NSS's build mechanism copies each static archive
     # it constructs to another place, but we don't bother filtering


More information about the Libreoffice-commits mailing list