extra/qt5 to 5.4.1-9

This commit is contained in:
Kevin Mihelich 2015-05-22 00:57:53 +00:00
parent 6a5bc93dc8
commit 7960f30335
3 changed files with 85 additions and 1 deletions

View file

@ -0,0 +1,44 @@
From 3eca75de67b3fd2c890715b30c7899cebc096fe9 Mon Sep 17 00:00:00 2001
From: Thiago Macieira <thiago.macieira@intel.com>
Date: Mon, 11 May 2015 18:30:00 +0900
Subject: [PATCH] Make qglobal.h complain if you use -fPIE
Prior to Qt 5.4.2 (commit 36d6eb721e7d5997ade75e289d4088dc48678d0d), we
allowed it, but now we need to enforce that it is not used. Note that
-fPIE does define __PIC__, so we need this to catch the use of -fPIE.
[ChangeLog][Important Behavior Changes] On x86 and x86-64 systems with
ELF binaries (especially Linux), due to a new optimization in GCC 5.x in
combination with a recent version of GNU binutils, compiling Qt
applications with -fPIE is no longer enough. Applications now need to be
compiled with the -fPIC option if Qt's option "reduce relocations" is
active. Note that Clang is known to generate incompatible code even with
-fPIC if the -flto option is active.
Task-number: QTBUG-45755
Change-Id: I66a35ce5f88941f29aa6ffff13dd210e0aa2728f
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
---
src/corelib/global/qglobal.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h
index ef84662..4547877 100644
--- a/src/corelib/global/qglobal.h
+++ b/src/corelib/global/qglobal.h
@@ -1047,9 +1047,9 @@ Q_CORE_EXPORT int qrand();
# define QT_NO_SHAREDMEMORY
#endif
-#if !defined(QT_BOOTSTRAPPED) && defined(QT_REDUCE_RELOCATIONS) && defined(__ELF__) && !defined(__PIC__)
+#if !defined(QT_BOOTSTRAPPED) && defined(QT_REDUCE_RELOCATIONS) && defined(__ELF__) && (!defined(__PIC__) || defined(__PIE__))
# error "You must build your code with position independent code if Qt was built with -reduce-relocations. "\
- "Compile your code with -fPIC."
+ "Compile your code with -fPIC (-fPIE is not enough)."
#endif
namespace QtPrivate {
--
2.4.0

View file

@ -0,0 +1,34 @@
From 083c9269ed73e8771e1dbe10812696b45b7389f3 Mon Sep 17 00:00:00 2001
From: Evangelos Foutras <evangelos@foutrelis.com>
Date: Mon, 11 May 2015 12:20:57 +0300
Subject: [PATCH] Try to ensure that -fPIC is used in CMake builds
In commit 36d6eb721e7d5997ade75e289d4088dc48678d0d the -fPIE switch was
replaced with -fPIC in an effort to avoid generating copy relocations
which are incompatible with Qt5 when built with -reduce-relocations.
Task-number: QTBUG-45755
Change-Id: I59a55ea15052f498104848c5fd867e563ddc2290
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
---
src/corelib/Qt5CoreConfigExtras.cmake.in | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in
index 48d5f21..d4abc5f 100644
--- a/src/corelib/Qt5CoreConfigExtras.cmake.in
+++ b/src/corelib/Qt5CoreConfigExtras.cmake.in
@@ -70,8 +70,9 @@ set(_qt5_corelib_extra_includes)
# Qt5_POSITION_INDEPENDENT_CODE variable is used in the # qt5_use_module
# macro to add it.
set(Qt5_POSITION_INDEPENDENT_CODE True)
-set_property(TARGET Qt5::Core PROPERTY INTERFACE_POSITION_INDEPENDENT_CODE \"ON\")
set(Qt5Core_EXECUTABLE_COMPILE_FLAGS \"-fPIC\")
+set_property(TARGET Qt5::Core PROPERTY INTERFACE_POSITION_INDEPENDENT_CODE \"ON\")
+set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_COMPILE_OPTIONS ${Qt5Core_EXECUTABLE_COMPILE_FLAGS})
!!ENDIF
!!IF !isEmpty(QT_NAMESPACE)
--
2.4.0

View file

@ -39,7 +39,7 @@ pkgname=('qt5-base'
'qt5-x11extras'
'qt5-xmlpatterns')
pkgver=5.4.1
pkgrel=8
pkgrel=9
arch=('i686' 'x86_64')
url='http://qt-project.org/'
license=('GPL3' 'LGPL' 'FDL' 'custom')
@ -55,6 +55,8 @@ _pkgfqn="qt-everywhere-opensource-src-${pkgver}"
source=("http://download.qt-project.org/official_releases/qt/${pkgver%.*}/${pkgver}/single/${_pkgfqn}.tar.xz"
'0001-Revert-Rotate-images-according-to-Exif-orientation.patch'
'0001-Require-fPIC-instead-of-just-fPIE-for-reduce-relocat.patch'
'0001-Make-qglobal.h-complain-if-you-use-fPIE.patch'
'0001-Try-to-ensure-that-fPIC-is-used-in-CMake-builds.patch'
'assistant.desktop' 'designer.desktop' 'linguist.desktop' 'qdbusviewer.desktop' 'glib-2.43.patch'
'qlockfile-deadlock.patch' 'qnam-corruption.patch' 'keypad-shortcuts.patch'
'CVE-2015-0295.patch' 'CVE-2015-1858_1859.patch' 'CVE-2015-1860.patch'
@ -63,6 +65,8 @@ source=("http://download.qt-project.org/official_releases/qt/${pkgver%.*}/${pkgv
md5sums=('7afb5f9235d8d42b5b6e832442a32a5d'
'fb1459f325a15b15b18afeac51173a1d'
'ac8fa252868161c676d876b614e24436'
'913a5931d33110b8e698bc9ce733075e'
'fb18ddd022422cd42721d6fb2a994e6a'
'b2897dd6a2967bccf8f10e397aafee55'
'76e150b20178d2d43801f7367232e5f7'
'188da8f4c87316e730ebf1c6217bf5a0'
@ -85,6 +89,8 @@ prepare() {
# https://bugreports.qt.io/browse/QTBUG-45755
(cd qtbase; patch -p1 -i "$srcdir/0001-Require-fPIC-instead-of-just-fPIE-for-reduce-relocat.patch")
(cd qtbase; patch -p1 -i "$srcdir/0001-Make-qglobal.h-complain-if-you-use-fPIE.patch")
(cd qtbase; patch -p1 -i "$srcdir/0001-Try-to-ensure-that-fPIC-is-used-in-CMake-builds.patch")
# for glib 2.43+ https://bugreports.qt.io/browse/QTBUG-44714
(cd qtwebkit; patch -p1 -i "$srcdir/glib-2.43.patch")