Bug 10091 - gcc7.1 does not build with graphite support due to old isl
Summary: gcc7.1 does not build with graphite support due to old isl
Status: RESOLVED FIXED
Alias: None
Product: buildroot
Classification: Unclassified
Component: Other (show other bugs)
Version: unspecified
Hardware: All Linux
: P5 minor
Target Milestone: ---
Assignee: unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-07-17 14:24 UTC by Ivan
Modified: 2017-08-02 20:17 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:


Attachments
config of a basic raspberrypi3 + gcc7 + qt + extras (16.02 KB, application/zip)
2017-07-17 23:39 UTC, Ivan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan 2017-07-17 14:24:01 UTC

    
Comment 1 Ivan 2017-07-17 14:26:13 UTC
graphite support in gcc7.1 demands isl 0.15 or newer.
Comment 2 Thomas Petazzoni 2017-07-17 15:15:56 UTC
Thanks for your bug report!

Do you know which versions of isl are acceptable for gcc 4.9, 5.x, 6.x and 7.x ? Indeed, Buildroot support all those versions of gcc.

In addition, isl was originally not updated to 0.15 for the following reasons (from package/isl/isl.mk):

# The latest 0.15 version is not yet compatible with cloog 0.18.3, so
# bumping isl is not possible until a new version of cloog is
# published.
ISL_VERSION = 0.14.1

So we would also need to look at which version of cloog is acceptable for the different versions of gcc/isl. Is this something you can help us with?
Comment 3 Andrey Yurovsky 2017-07-17 17:00:23 UTC
I just tried bumping ISL and was able to build GCC7 with graphite (for ARMv5 in this case), I'm trying to better understand the dependencies here but perhaps ISL 0.18 doesn't need cloog or can work with the older version.

diff --git a/package/isl/isl.hash b/package/isl/isl.hash
index e2c14ad14..22941de42 100644
--- a/package/isl/isl.hash
+++ b/package/isl/isl.hash
@@ -1,2 +1,4 @@
 # Locally computed
 sha256 8882c9e36549fc757efa267706a9af733bb8d7fe3905cbfde43e17a89eea4675        isl-0.14.1.tar.xz
+sha256 0f35051cc030b87c673ac1f187de40e386a1482a0cfdf2c552dd6031b307ddc4  isl-0.18.tar.xz
+
diff --git a/package/isl/isl.mk b/package/isl/isl.mk
index 74de125b6..85d013723 100644
--- a/package/isl/isl.mk
+++ b/package/isl/isl.mk
@@ -7,7 +7,7 @@
 # The latest 0.15 version is not yet compatible with cloog 0.18.3, so
 # bumping isl is not possible until a new version of cloog is
 # published.
-ISL_VERSION = 0.14.1
+ISL_VERSION = 0.18
 ISL_SOURCE = isl-$(ISL_VERSION).tar.xz
 ISL_SITE = http://isl.gforge.inria.fr
 ISL_LICENSE = MIT
Comment 4 Ivan 2017-07-17 17:34:41 UTC
Build of gcc 7.1, with graphite support enabled, failed in the "checking isl >= 0.15" pass.

Disabling graphite allowed gcc build.

See https://gcc.gnu.org/install/prerequisites.html

While 6.x, 5.x and 4.9 still builds with isl 0.14, the gcc webpage specify isl 0.15 as the current minimum.

Verifying the ChangeLog-2016, 2015, etc files shows that in 2014 the dependency of cloog was removed. This is true for the last gcc5.x, 6.x and 7.x.

But gcc4.x still depends on cloog.

So the options seems to be either:

- keep cloog, with corresponding old isl, and gcc4.x users have graphite, or
- removes cloog, new isl, and gcc7.1 users have graphite.

I am not aware if isl 0.15 would disrupt graphite in 5,x or 6.x. Improbable, though, since 0.15 is from 2015 and the last gcc5.x from 2016.

I feel myself bit overwhelmed by builroot, and do not think I would be able to experiment with anything beyond the trivial "make menuconfig". I do not event know bash. But I would help where I can.





While I am completely bewildered by all this buildroot stuff (I am not even familiar with bash), I though it would be nice to report failed builds. But do not feel
Comment 5 Ivan 2017-07-17 18:59:08 UTC
Anyway it seems that gcc7.1 is still a bit buggy. I could not finish the build of qt5base with it - and the issue was not that "crc" of the other bug report.
Comment 6 Peter Seiderer 2017-07-17 20:54:14 UTC
Mind to share your .config file and the (last several lines showing the error) of your build log?
Comment 7 Ivan 2017-07-17 23:26:20 UTC
Here are they: The error:
/home/ivan/buildroot-git/buildroot/buildroot/output/host/bin/arm-buildroot-linux-musleabihf-g++ -c -pipe -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os --sysroot=/home/ivan/buildroot-git/buildroot/buildroot/output/host/arm-buildroot-linux-musleabihf/sysroot -O3 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -D_REENTRANT -fPIC -DQT_NO_USING_NAMESPACE -DQT_NO_FOREACH -DQT_HAVE_POLL -DQT_HAVE_PPOLL -DQT_BUILD_CORE_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -I. -Iglobal -I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 -I../3rdparty/sha3 -I../3rdparty/double-conversion/include -I../3rdparty/double-conversion/include/double-conversion -I../3rdparty/forkfd -I../../include -I../../include/QtCore -I../../include/QtCore/5.8.0 -I../../include/QtCore/5.8.0/QtCore -I.moc -I/home/ivan/buildroot-git/buildroot/buildroot/output/host/arm-buildroot-linux-musleabihf/sysroot/usr/include/glib-2.0 -I/home/ivan/buildroot-git/buildroot/buildroot/output/host/arm-buildroot-linux-musleabihf/sysroot/usr/lib/glib-2.0/include -I/home/ivan/buildroot-git/buildroot/buildroot/output/host/arm-buildroot-linux-musleabihf/sysroot/usr/include -I../../mkspecs/devices/linux-buildroot-g++ -o .obj/qreadwritelock.o thread/qreadwritelock.cpp
In file included from ../../include/QtCore/5.8.0/QtCore/private/../../../../../src/corelib/tools/qsimd_p.h:293:0,
                 from ../../include/QtCore/5.8.0/QtCore/private/qsimd_p.h:1,
                 from global/qlogging.cpp:57:
/home/ivan/buildroot-git/buildroot/buildroot/output/host/lib/gcc/arm-buildroot-linux-musleabihf/7.1.0/include/arm_acle.h: In function ‘void __arm_ldc(unsigned int, unsigned int, const void*)’:
/home/ivan/buildroot-git/buildroot/buildroot/output/host/lib/gcc/arm-buildroot-linux-musleabihf/7.1.0/include/arm_acle.h:48:49: error: invalid conversion from ‘const void*’ to ‘const int*’ [-fpermissive]
   return __builtin_arm_ldc (__coproc, __CRd, __p);
                                                 ^
<built-in>: note:   initializing argument 3 of ‘void __builtin_arm_ldc(unsigned int, unsigned int, const int*)’
/home/ivan/buildroot-git/buildroot/buildroot/output/host/lib/gcc/arm-buildroot-linux-musleabihf/7.1.0/include/arm_acle.h: In function ‘void __arm_ldcl(unsigned int, unsigned int, const void*)’:
/home/ivan/buildroot-git/buildroot/buildroot/output/host/lib/gcc/arm-buildroot-linux-musleabihf/7.1.0/include/arm_acle.h:55:50: error: invalid conversion from ‘const void*’ to ‘const int*’ [-fpermissive]
   return __builtin_arm_ldcl (__coproc, __CRd, __p);
                                                  ^
<built-in>: note:   initializing argument 3 of ‘void __builtin_arm_ldcl(unsigned int, unsigned int, const int*)’
/home/ivan/buildroot-git/buildroot/buildroot/output/host/lib/gcc/arm-buildroot-linux-musleabihf/7.1.0/include/arm_acle.h: In function ‘void __arm_stc(unsigned int, unsigned int, void*)’:
/home/ivan/buildroot-git/buildroot/buildroot/output/host/lib/gcc/arm-buildroot-linux-musleabihf/7.1.0/include/arm_acle.h:62:49: error: invalid conversion from ‘void*’ to ‘int*’ [-fpermissive]
   return __builtin_arm_stc (__coproc, __CRd, __p);
                                                 ^
<built-in>: note:   initializing argument 3 of ‘void __builtin_arm_stc(unsigned int, unsigned int, int*)’
/home/ivan/buildroot-git/buildroot/buildroot/output/host/lib/gcc/arm-buildroot-linux-musleabihf/7.1.0/include/arm_acle.h: In function ‘void __arm_stcl(unsigned int, unsigned int, void*)’:
/home/ivan/buildroot-git/buildroot/buildroot/output/host/lib/gcc/arm-buildroot-linux-musleabihf/7.1.0/include/arm_acle.h:69:50: error: invalid conversion from ‘void*’ to ‘int*’ [-fpermissive]
   return __builtin_arm_stcl (__coproc, __CRd, __p);
                                                  ^
<built-in>: note:   initializing argument 3 of ‘void __builtin_arm_stcl(unsigned int, unsigned int, int*)’
/home/ivan/buildroot-git/buildroot/buildroot/output/host/lib/gcc/arm-buildroot-linux-musleabihf/7.1.0/include/arm_acle.h: In function ‘void __arm_ldc2(unsigned int, unsigned int, const void*)’:
/home/ivan/buildroot-git/buildroot/buildroot/output/host/lib/gcc/arm-buildroot-linux-musleabihf/7.1.0/include/arm_acle.h:100:50: error: invalid conversion from ‘const void*’ to ‘const int*’ [-fpermissive]
   return __builtin_arm_ldc2 (__coproc, __CRd, __p);
                                                  ^
<built-in>: note:   initializing argument 3 of ‘void __builtin_arm_ldc2(unsigned int, unsigned int, const int*)’
/home/ivan/buildroot-git/buildroot/buildroot/output/host/lib/gcc/arm-buildroot-linux-musleabihf/7.1.0/include/arm_acle.h: In function ‘void __arm_ldc2l(unsigned int, unsigned int, const void*)’:
/home/ivan/buildroot-git/buildroot/buildroot/output/host/lib/gcc/arm-buildroot-linux-musleabihf/7.1.0/include/arm_acle.h:107:51: error: invalid conversion from ‘const void*’ to ‘const int*’ [-fpermissive]
   return __builtin_arm_ldc2l (__coproc, __CRd, __p);
                                                   ^
<built-in>: note:   initializing argument 3 of ‘void __builtin_arm_ldc2l(unsigned int, unsigned int, const int*)’
/home/ivan/buildroot-git/buildroot/buildroot/output/host/lib/gcc/arm-buildroot-linux-musleabihf/7.1.0/include/arm_acle.h: In function ‘void __arm_stc2(unsigned int, unsigned int, void*)’:
/home/ivan/buildroot-git/buildroot/buildroot/output/host/lib/gcc/arm-buildroot-linux-musleabihf/7.1.0/include/arm_acle.h:114:50: error: invalid conversion from ‘void*’ to ‘int*’ [-fpermissive]
   return __builtin_arm_stc2 (__coproc, __CRd, __p);
                                                  ^
<built-in>: note:   initializing argument 3 of ‘void __builtin_arm_stc2(unsigned int, unsigned int, int*)’
/home/ivan/buildroot-git/buildroot/buildroot/output/host/lib/gcc/arm-buildroot-linux-musleabihf/7.1.0/include/arm_acle.h: In function ‘void __arm_stc2l(unsigned int, unsigned int, void*)’:
/home/ivan/buildroot-git/buildroot/buildroot/output/host/lib/gcc/arm-buildroot-linux-musleabihf/7.1.0/include/arm_acle.h:121:51: error: invalid conversion from ‘void*’ to ‘int*’ [-fpermissive]
   return __builtin_arm_stc2l (__coproc, __CRd, __p);
                                                   ^
<built-in>: note:   initializing argument 3 of ‘void __builtin_arm_stc2l(unsigned int, unsigned int, int*)’
g++ -Wl,--gc-sections -Wl,-O1 -o ../../../bin/uic .obj/customwidgetsinfo.o .obj/databaseinfo.o .obj/driver.o .obj/treewalker.o .obj/ui4.o .obj/validator.o .obj/cppextractimages.o .obj/cppwritedeclaration.o .obj/cppwriteicondata.o .obj/cppwriteicondeclaration.o .obj/cppwriteiconinitialization.o .obj/cppwriteincludes.o .obj/cppwriteinitialization.o .obj/main.o .obj/uic.o   -L/home/ivan/buildroot-git/buildroot/buildroot/output/build/qt5base-5.8.0/lib -lQt5Bootstrap -lpthread 
Makefile:11089: recipe for target '.obj/qlogging.o' failed
make[4]: *** [.obj/qlogging.o] Error 1
make[4]: *** Waiting for unfinished jobs....
Makefile:163: recipe for target 'sub-corelib-make_first' failed
make[3]: *** [sub-corelib-make_first] Error 2
Makefile:46: recipe for target 'sub-src-make_first' failed
make[2]: *** [sub-src-make_first] Error 2
package/pkg-generic.mk:227: recipe for target '/home/ivan/buildroot-git/buildroot/buildroot/output/build/qt5base-5.8.0/.stamp_built' failed
make[1]: *** [/home/ivan/buildroot-git/buildroot/buildroot/output/build/qt5base-5.8.0/.stamp_built] Error 2
Makefile:79: recipe for target '_all' failed
make: *** [_all] Error 2
Comment 8 Ivan 2017-07-17 23:39:32 UTC
Created attachment 7126 [details]
config of a basic raspberrypi3 + gcc7 + qt + extras

and the config, attached. Note that if I just change gcc to 6.x, everything builds.

And there is one more odd thing. Some hundreds of lines before this failure, I noticed this:

g++ -c -pipe -ffunction-sections -O2 -fPIC -std=c++11 -fno-exceptions -Wall -W -D_REENTRANT -DQT_VERSION_STR='"5.8.0"' -DQT_VERSION_MAJOR=5 -DQT_VERSION_MINOR=8 -DQT_VERSION_PATCH=0 -DQT_BOOTSTRAPPED -DQT_NO_CAST_TO_ASCII -DQT_NO_FOREACH -DQT_NO_CAST_FROM_ASCII -DQT_BUILD_BOOTSTRAP_LIB -DQT_BUILDING_QT -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -I. -I../../3rdparty/zlib -I../../../include -I../../../include/QtCore -I../../../include/QtCore/5.8.0 -I../../../include/QtCore/5.8.0/QtCore -I../../../include/QtXml -I../../../include/QtXml/5.8.0 -I../../../include/QtXml/5.8.0/QtXml -I../../../mkspecs/linux-g++ -o .obj/qvariant.o ../../corelib/kernel/qvariant.cpp
g++ -c -pipe -ffunction-sections -O2 -fPIC -std=c++11 -fno-exceptions -Wall -W -D_REENTRANT -DQT_VERSION_STR='"5.8.0"' -DQT_VERSION_MAJOR=5 -DQT_VERSION_MINOR=8 -DQT_VERSION_PATCH=0 -DQT_BOOTSTRAPPED -DQT_NO_CAST_TO_ASCII -DQT_NO_FOREACH -DQT_NO_CAST_FROM_ASCII -DQT_BUILD_BOOTSTRAP_LIB -DQT_BUILDING_QT -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -I. -I../../3rdparty/zlib -I../../../include -I../../../include/QtCore -I../../../include/QtCore/5.8.0 -I../../../include/QtCore/5.8.0/QtCore -I../../../include/QtXml -I../../../include/QtXml/5.8.0 -I../../../include/QtXml/5.8.0/QtXml -I../../../mkspecs/linux-g++ -o .obj/qsystemerror.o ../../corelib/kernel/qsystemerror.cpp
g++ -c -pipe -ffunction-sections -O2 -fPIC -std=c++11 -fno-exceptions -Wall -W -D_REENTRANT -DQT_VERSION_STR='"5.8.0"' -DQT_VERSION_MAJOR=5 -DQT_VERSION_MINOR=8 -DQT_VERSION_PATCH=0 -DQT_BOOTSTRAPPED -DQT_NO_CAST_TO_ASCII -DQT_NO_FOREACH -DQT_NO_CAST_FROM_ASCII -DQT_BUILD_BOOTSTRAP_LIB -DQT_BUILDING_QT -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -I. -I../../3rdparty/zlib -I../../../include -I../../../include/QtCore -I../../../include/QtCore/5.8.0 -I../../../include/QtCore/5.8.0/QtCore -I../../../include/QtXml -I../../../include/QtXml/5.8.0 -I../../../include/QtXml/5.8.0/QtXml -I../../../mkspecs/linux-g++ -o .obj/quuid.o ../../corelib/plugin/quuid.cpp
g++ -c -pipe -ffunction-sections -O2 -fPIC -std=c++11 -fno-exceptions -Wall -W -D_REENTRANT -DQT_VERSION_STR='"5.8.0"' -DQT_VERSION_MAJOR=5 -DQT_VERSION_MINOR=8 -DQT_VERSION_PATCH=0 -DQT_BOOTSTRAPPED -DQT_NO_CAST_TO_ASCII -DQT_NO_FOREACH -DQT_NO_CAST_FROM_ASCII -DQT_BUILD_BOOTSTRAP_LIB -DQT_BUILDING_QT -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -I. -I../../3rdparty/zlib -I../../../include -I../../../include/QtCore -I../../../include/QtCore/5.8.0 -I../../../include/QtCore/5.8.0/QtCore -I../../../include/QtXml -I../../../include/QtXml/5.8.0 -I../../../include/QtXml/5.8.0/QtXml -I../../../mkspecs/linux-g++ -o .obj/qbitarray.o ../../corelib/tools/qbitarray.cpp

The odd thing is why my system compiler is being called instead of the one provided by buildroot?
Comment 9 Ivan 2017-07-18 01:54:29 UTC
but verifying against the output produced when using gcc6.x, I see it invoking the same apparent system compiler, and yet everything works fine. So somehow it is actually invoking the arm cross-compiler and I just do not understand how.
Comment 10 Peter Seiderer 2017-07-18 17:58:00 UTC
This is the normal qt source build 'bootstrap', first build the qmake command for the host system, then cross compile qt using the generated Makefiles (generated by the host qmake command).
Comment 11 Peter Seiderer 2017-07-18 18:07:39 UTC
$ ./host/usr/bin/arm-buildroot-linux-gnueabihf-g++ --version
arm-buildroot-linux-gnueabihf-g++.br_real (Buildroot 2017.08-git-01151-g8303ff38ef) 7.1.0

Include arm_acle.h and compile as C:

$ cat test_arm_acle_include.c 
#include <arm_acle.h>

int main(int argc, char* argv[]) {
        return 0;
}

$ ./host/usr/bin/arm-buildroot-linux-gnueabihf-gcc test_arm_acle_include.c

O.k, no failure


Include arm_acle.h and compile as C++:

$ cat test_arm_acle_include.cpp 
#include <arm_acle.h>

int main(int argc, char* argv[]) {
        return 0;
}

$ ./host/usr/bin/arm-buildroot-linux-gnueabihf-g++ test_arm_acle_include.cpp 
In file included from test_arm_acle_include.cpp:1:0:
/home/seiderer/Work/zeiss/freescale-imx6/build_rpi3_002/build-002-gcc-7-001/host/lib/gcc/arm-buildroot-linux-gnueabihf/7.1.0/include/arm_acle.h: In function ‘void __arm_ldc(unsigned int, unsigned int, const void*)’:
/home/seiderer/Work/zeiss/freescale-imx6/build_rpi3_002/build-002-gcc-7-001/host/lib/gcc/arm-buildroot-linux-gnueabihf/7.1.0/include/arm_acle.h:48:49: error: invalid conversion from ‘const void*’ to ‘const int*’ [-fpermissive]
   return __builtin_arm_ldc (__coproc, __CRd, __p);
[...]

$ ./host/usr/bin/arm-buildroot-linux-gnueabihf-g++ -fpermissive test_arm_acle_include.cpp

O.k., no failure...

Quick fix: add -fpermissive for the qt compile in case of gcc-7.x

Long term fix: ask the gcc people to fix arm_acle.h for C++ compile
Comment 12 Arnout Vandecappelle 2017-07-18 19:42:37 UTC
(In reply to Ivan from comment #4)
> Verifying the ChangeLog-2016, 2015, etc files shows that in 2014 the dependency of cloog > was removed. This is true for the last gcc5.x, 6.x and 7.x.
> 
> But gcc4.x still depends on cloog.
> 
> So the options seems to be either:
> 
> - keep cloog, with corresponding old isl, and gcc4.x users have graphite, or
> - removes cloog, new isl, and gcc7.1 users have graphite.

I would remove cloog, bump isl, and disable graphite support for gcc 4.9. gcc 4.9 is going away at some point anyway.

BTW Ivan please clone this bug for the Qt5base issue, it has nothing to do with graphite support.
Comment 13 Andrey Yurovsky 2017-07-19 18:46:19 UTC
Arnout, that seems like solid fix. Would you like me to submit a patch or are you already working on that?
Comment 14 Ivan 2017-07-21 12:19:01 UTC
> BTW Ivan please clone this bug for the Qt5base issue, it has nothing to do with
> graphite support.

Reported it to the gcc people: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81497

Though I did not understand their comment. I would fix it simply type casting the third parameter. But in this case I am sure I do not know what I am talking about.
Comment 15 Peter Seiderer 2017-07-24 20:36:54 UTC
(In reply to Ivan from comment #14)

Changing host/lib/gcc/arm-buildroot-linux-gnueabihf/7.1.0/include/arm_acle.h the following way fixed the compile for me:

--- arm_acle.h_orig     2017-07-24 20:54:27.202341305 +0200
+++ arm_acle.h  2017-07-24 21:18:08.750558081 +0200
@@ -43,28 +43,28 @@
 
 __extension__ static __inline void __attribute__ ((__always_inline__))
 __arm_ldc (const unsigned int __coproc, const unsigned int __CRd,
-          const void * __p)
+          const int * __p)
 {
   return __builtin_arm_ldc (__coproc, __CRd, __p);
 }
 
 __extension__ static __inline void __attribute__ ((__always_inline__))
 __arm_ldcl (const unsigned int __coproc, const unsigned int __CRd,
-           const void * __p)
+           const int * __p)
 {
   return __builtin_arm_ldcl (__coproc, __CRd, __p);
 }
 
 __extension__ static __inline void __attribute__ ((__always_inline__))
 __arm_stc (const unsigned int __coproc, const unsigned int __CRd,
-          void * __p)
+          int * __p)
 {
   return __builtin_arm_stc (__coproc, __CRd, __p);
 }
 
 __extension__ static __inline void __attribute__ ((__always_inline__))
 __arm_stcl (const unsigned int __coproc, const unsigned int __CRd,
-           void * __p)
+           int * __p)
 {
   return __builtin_arm_stcl (__coproc, __CRd, __p);
 }
@@ -95,28 +95,28 @@
 
 __extension__ static __inline void __attribute__ ((__always_inline__))
 __arm_ldc2 (const unsigned int __coproc, const unsigned int __CRd,
-           const void * __p)
+           const int * __p)
 {
   return __builtin_arm_ldc2 (__coproc, __CRd, __p);
 }
 
 __extension__ static __inline void __attribute__ ((__always_inline__))
 __arm_ldc2l (const unsigned int __coproc, const unsigned int __CRd,
-            const void * __p)
+            const int * __p)
 {
   return __builtin_arm_ldc2l (__coproc, __CRd, __p);
 }
 
 __extension__ static __inline void __attribute__ ((__always_inline__))
 __arm_stc2 (const unsigned int __coproc, const unsigned int __CRd,
-           void * __p)
+           int * __p)
 {
   return __builtin_arm_stc2 (__coproc, __CRd, __p);
 }
 
 __extension__ static __inline void __attribute__ ((__always_inline__))
 __arm_stc2l (const unsigned int __coproc, const unsigned int __CRd,
-            void * __p)
+            int * __p)
 {
   return __builtin_arm_stc2l (__coproc, __CRd, __p);
 }
Comment 16 Thomas Petazzoni 2017-08-02 20:17:48 UTC
The graphite issue with gcc 7.x has been fixed in https://git.buildroot.org/buildroot/commit/?id=d16b6bf9b9da2d58955bf1abaf15f25c5666b90a and https://git.buildroot.org/buildroot/commit/?id=94afc741a0cd837d9549c346babc5b8be68dea5a. Please open a separate bug report for the Qt5 issue. Thanks!