summaryrefslogtreecommitdiff
path: root/newmoon/debian/patches/UXP-strip-object-files-before-shared-library-linking.patch
diff options
context:
space:
mode:
Diffstat (limited to 'newmoon/debian/patches/UXP-strip-object-files-before-shared-library-linking.patch')
-rw-r--r--newmoon/debian/patches/UXP-strip-object-files-before-shared-library-linking.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/newmoon/debian/patches/UXP-strip-object-files-before-shared-library-linking.patch b/newmoon/debian/patches/UXP-strip-object-files-before-shared-library-linking.patch
new file mode 100644
index 0000000..ee6f1a0
--- /dev/null
+++ b/newmoon/debian/patches/UXP-strip-object-files-before-shared-library-linking.patch
@@ -0,0 +1,39 @@
+# This patch was created by Gordon N. Squash.
+#
+# This patch, when applied, strips unneeded symbols from object files which
+# are about to be linked into a library built as part of the Unified XUL
+# Platform. This is useful to reduce memory consumption during the actual
+# linking process; the author of this patch has noted that stripping component
+# object files before linking into a UXP library often means the linker uses
+# less than a tenth of the memory that it normally would. The author has
+# also noted that with this patch applied, the linking process takes about a
+# tenth as long as it normally would.
+#
+# As far as the author can tell, this patch does not break UXP in any way.
+#
+# WARNING! This is not an official patch in any way, shape or form! Do not
+# contact the original authors of UXP for support of this patch!
+#
+diff -uprN palemoon-28.12.0-original/platform/config/rules.mk palemoon-28.12.0-patched/platform/config/rules.mk
+--- palemoon-28.12.0-original/platform/config/rules.mk 2020-07-30 05:37:13.000000000 -0400
++++ palemoon-28.12.0-patched/platform/config/rules.mk 2020-08-19 14:02:28.300458242 -0400
+@@ -776,9 +776,19 @@ ifdef DTRACE_LIB_DEPENDENT
+ ifndef XP_MACOSX
+ dtrace -x nolibs -G -C -s $(MOZILLA_DTRACE_SRC) -o $(DTRACE_PROBE_OBJ) $(shell $(EXPAND_LIBS) $(MOZILLA_PROBE_LIBS))
+ endif
++ifdef ENABLE_STRIP
++ifneq ($(strip $(STATIC_LIBS)),)
++ $(EXPAND_LIBS_EXEC) -- $(STRIP) --strip-unneeded $(STATIC_LIBS)
++endif # $(STATIC_LIBS) != ""
++endif # ENABLE_STRIP
+ $(EXPAND_MKSHLIB) $(SHLIB_LDSTARTFILE) $(OBJS) $(SUB_SHLOBJS) $(DTRACE_PROBE_OBJ) $(MOZILLA_PROBE_LIBS) $(RESFILE) $(LDFLAGS) $(WRAP_LDFLAGS) $(STATIC_LIBS) $(RUST_STATIC_LIB_FOR_SHARED_LIB) $(SHARED_LIBS) $(EXTRA_DSO_LDOPTS) $(MOZ_GLUE_LDFLAGS) $(EXTRA_LIBS) $(OS_LIBS) $(SHLIB_LDENDFILE)
+ @$(RM) $(DTRACE_PROBE_OBJ)
+ else # ! DTRACE_LIB_DEPENDENT
++ifdef ENABLE_STRIP
++ifneq ($(strip $(STATIC_LIBS)),)
++ $(EXPAND_LIBS_EXEC) -- $(STRIP) --strip-unneeded $(STATIC_LIBS)
++endif # $(STATIC_LIBS) != ""
++endif # ENABLE_STRIP
+ $(EXPAND_MKSHLIB) $(SHLIB_LDSTARTFILE) $(OBJS) $(SUB_SHLOBJS) $(RESFILE) $(LDFLAGS) $(WRAP_LDFLAGS) $(STATIC_LIBS) $(RUST_STATIC_LIB_FOR_SHARED_LIB) $(SHARED_LIBS) $(EXTRA_DSO_LDOPTS) $(MOZ_GLUE_LDFLAGS) $(EXTRA_LIBS) $(OS_LIBS) $(SHLIB_LDENDFILE)
+ endif # DTRACE_LIB_DEPENDENT
+ $(call CHECK_BINARY,$@)
bgstack15