[SCM] qt5webkit packaging branch, master, updated. debian/5.2.0+dfsg1-1-2-g285f5a8

Lisandro Damián Nicanor Pérez lisandro at moszumanska.debian.org
Wed Feb 5 00:42:38 UTC 2014


Gitweb-URL: http://git.debian.org/?p=pkg-kde/qt/qt5webkit.git;a=commitdiff;h=285f5a8

The following commit has been merged in the master branch:
commit 285f5a84c232dee43f5ddca6d7140e06f7c28619
Author: Lisandro Damián Nicanor Pérez Meyer <perezmeyer at gmail.com>
Date:   Tue Feb 4 21:41:53 2014 -0300

    Backport reduce_memory_footprint.patch.
    
    This patch reduces memory footprint
    when linking by forcing GCC 4.8+ to fully use DWARF-4 debug-types sections.
---
 debian/changelog                             |  4 ++
 debian/patches/reduce_memory_footprint.patch | 71 ++++++++++++++++++++++++++++
 debian/patches/series                        |  1 +
 3 files changed, 76 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index ced3f50..a10bb55 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,9 @@
 qtwebkit-opensource-src (5.2.0+dfsg1-1r1) UNRELEASED; urgency=medium
 
+  [ Lisandro Damián Nicanor Pérez Meyer ]
+  * Backport reduce_memory_footprint.patch. This patch reduces memory footprint
+    when linking by forcing GCC 4.8+ to fully use DWARF-4 debug-types sections.
+
  -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>  Tue, 04 Feb 2014 18:03:45 -0300
 
 qtwebkit-opensource-src (5.2.0+dfsg1-1) unstable; urgency=medium
diff --git a/debian/patches/reduce_memory_footprint.patch b/debian/patches/reduce_memory_footprint.patch
new file mode 100644
index 0000000..a742fe6
--- /dev/null
+++ b/debian/patches/reduce_memory_footprint.patch
@@ -0,0 +1,71 @@
+From 99113b7cc7877d3ff1a4ed522ae0517edcde081b Mon Sep 17 00:00:00 2001
+From: Allan Sandfeld Jensen <allan.jensen at digia.com>
+Date: Tue, 26 Nov 2013 10:11:27 +0100
+Subject: [PATCH] Reduce memory footprint when linking
+
+Linking QtWebKit on Linux x64 with debug symbols can use up to 11Gbyte
+of memory. This can make it impossible to link on many systems.
+
+This patch forces GCC 4.8+ to fully use DWARF-4 debug-types sections
+to eleminate duplicate symbols and makes earlier GCC versions STABS
+which also uses much less memory.
+
+Task-number: QTBUG-36131
+
+Change-Id: Ib1ba3e073b5984ead3a0badb935e7b89c01b962b
+Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte at digia.com>
+---
+ Tools/qmake/mkspecs/features/unix/default_post.prf | 29 +++++++++++++++++-----
+ 1 file changed, 23 insertions(+), 6 deletions(-)
+
+diff --git a/Tools/qmake/mkspecs/features/unix/default_post.prf b/Tools/qmake/mkspecs/features/unix/default_post.prf
+index 2df72d9..79b7208 100644
+--- a/Tools/qmake/mkspecs/features/unix/default_post.prf
++++ b/Tools/qmake/mkspecs/features/unix/default_post.prf
+@@ -12,10 +12,27 @@ linux-g++*:isEqual(QT_ARCH,i386) {
+         QMAKE_CFLAGS += -march=pentium4 -msse2 -mfpmath=sse
+         QMAKE_CXXFLAGS += -march=pentium4 -msse2 -mfpmath=sse
+     }
++}
+ 
+-    # Use the stabs format for 32 bit debug builds to make the object files a bit smaller.
+-    QMAKE_CXXFLAGS_DEBUG -= -g
+-    QMAKE_CXXFLAGS_DEBUG += -gstabs
++*g++* {
++    # Use DWARF-4 optimally with GCC 4.8+, otherwise use STABS which uses much less memory.
++    greaterThan(QT_GCC_MAJOR_VERSION, 4)|greaterThan(QT_GCC_MINOR_VERSION, 7) {
++        QMAKE_CXXFLAGS_DEBUG += -fdebug-types-section
++        QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += -fdebug-types-section
++        separate_debug_info: QMAKE_CXXFLAGS_RELEASE += -fdebug-types-section
++        QMAKE_LFLAGS += -fdebug-types-section
++    } else {
++        # If DWARF-2 is desired -feliminate-dwarf2-dups can be used with GCC 4.7,
++        # but it causes internal compiler errors in older versions of GCC.
++        QMAKE_CXXFLAGS_DEBUG -= -g
++        QMAKE_CXXFLAGS_DEBUG += -gstabs
++        QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO -= -g
++        QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += -gstabs
++        separate_debug_info {
++            QMAKE_CXXFLAGS_RELEASE -= -g
++            QMAKE_CXXFLAGS_RELEASE += -gstabs
++        }
++    }
+ }
+ 
+ linux-*g++* {
+@@ -43,9 +60,9 @@ linux-*g++* {
+ 
+ contains(TEMPLATE, app): CONFIG += rpath
+ 
+-isEqual(QT_ARCH,i386):CONFIG(debug, debug|release) {
+-  # Make ld not cache the symbol tables of input files in memory to avoid memory exhaustion during the linking phase.
+-  config_gnuld: QMAKE_LFLAGS += -Wl,--no-keep-memory
++CONFIG(debug, debug|release)|force_debug_info|separate_debug_info {
++    # Make ld not cache the symbol tables of input files in memory to avoid memory exhaustion during the linking phase.
++    !force_static_libs_as_shared:config_gnuld: QMAKE_LFLAGS += -Wl,--no-keep-memory
+ }
+ 
+ load(default_post)
+-- 
+1.9.rc1
+
diff --git a/debian/patches/series b/debian/patches/series
index 7b42e59..8ada334 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -5,3 +5,4 @@ no_gc_sections.diff
 hurd.diff
 webkit_qt_hide_symbols.diff
 disable_jit_llint.diff
+reduce_memory_footprint.patch

-- 
qt5webkit packaging



More information about the pkg-kde-commits mailing list