Merge remote-tracking branch 'origin/5.4.2' into 5.4

Change-Id: Ic1e8b154b43c8d8e3f682c96b074b2b77dbfe2ac
bb10
Liang Qi 2015-05-18 09:58:44 +02:00
commit 20efe75916
7 changed files with 306 additions and 185 deletions

7
dist/changes-5.4.2 vendored
View File

@ -34,6 +34,13 @@ information about a particular change.
common EXIF-format (big-endian) was not working until 5.4.1. 5.4.2 restores the
behavior of 5.4.0 and earlier for most EXIF-tagged JPEGs.
EXIF orientation will be an opt-in starting with Qt 5.5.
- 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.
****************************************************************************
* Library *

View File

@ -950,7 +950,7 @@ ProjectBuilderMakefileGenerator::writeMakeParts(QTextStream &t)
if(!path.isEmpty() && !libdirs.contains(path))
libdirs += path;
}
library = fileFixify(library);
library = fileFixify(library, FileFixifyAbsolute);
QString filetype = xcodeFiletypeForFilename(library);
QString key = keyFor(library);
if (!project->values("QMAKE_PBX_LIBRARIES").contains(key)) {

View File

@ -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})
!!IF !isEmpty(QT_NAMESPACE)
list(APPEND Qt5Core_DEFINITIONS -DQT_NAMESPACE=$$QT_NAMESPACE)

View File

@ -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 {

File diff suppressed because it is too large Load Diff

View File

@ -74,6 +74,7 @@ public:
jobject m_jobject;
jclass m_jclass;
bool m_own_jclass;
QByteArray m_className;
};
class Q_CORE_EXPORT QJNIObjectPrivate

View File

@ -111,7 +111,7 @@ extern "C" int APIENTRY WinMain(HINSTANCE, HINSTANCE, LPSTR /*cmdParamarg*/, int
argv[argc] = Q_NULLPTR;
LocalFree(argvW);
const int exitCode = main(argc, argv);
for (int i = 0; i < argc; ++i)
for (int i = 0; i < argc && argv[i]; ++i)
delete [] argv[i];
delete [] argv;
return exitCode;