Created attachment 3637 [details] .config file of buildroot 2011.08 When compiling/installing Qt with buildroot, also the qmake.conf is correct. When buildroot is compiled with the "-O2" flag, the QMAKE_CXXFLAGS of qmake.conf also includes the "-O2" flag, which causes that all builds (even the DEBUG ones) are compiled with "-O2", and thus the debugger goes crazy ;) I would suggest, that when writing the QMAKE_CXXFLAGS (and QMAKE_CFLAGS) to qmake.conf, we should filter the flags (e.g. -pipe is ok). ############ Result ############## # # qmake configuration for building with arm-linux-g++ # include(../../common/g++.conf) include(../../common/linux.conf) include(../../common/qws.conf) QMAKE_LFLAGS = QMAKE_CXXFLAGS = -pipe -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 QMAKE_CFLAGS = -pipe -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 QMAKE_STRIP = /opt/damian/toolchain-arm/usr/bin/arm-none-linux-gnueabi-strip QMAKE_RANLIB = /opt/damian/toolchain-arm/usr/bin/arm-none-linux-gnueabi-ranlib QMAKE_OBJCOPY = /opt/damian/toolchain-arm/usr/bin/arm-none-linux-gnueabi-objcopy QMAKE_AR = /opt/damian/toolchain-arm/usr/bin/arm-none-linux-gnueabi-ar cqs QMAKE_LINK_SHLIB = /opt/damian/toolchain-arm/usr/bin/arm-none-linux-gnueabi-g++ QMAKE_LINK = /opt/damian/toolchain-arm/usr/bin/arm-none-linux-gnueabi-g++ QMAKE_CXX = /opt/damian/toolchain-arm/usr/bin/arm-none-linux-gnueabi-g++ QMAKE_CC = /opt/damian/toolchain-arm/usr/bin/arm-none-linux-gnueabi-gcc # modifications to g++.conf # modifications to linux.conf load(qt_config)
Why should we make a special case for Qt here ? If you tell Buildroot to use -O2, then it sounds quite logical to have -O2 in the qmake CXXFLAGS, no ? If you don't want -O2 in the qmake CXXFLAGS, then tell Buildroot to not use -O2, and you're all set.
(In reply to comment #1) > Why should we make a special case for Qt here ? If you tell Buildroot to use > -O2, then it sounds quite logical to have -O2 in the qmake CXXFLAGS, no ? If > you don't want -O2 in the qmake CXXFLAGS, then tell Buildroot to not use -O2, > and you're all set. The reason Qt is different from other packages is that there is a menu option on whether you want to build debug or release. If you were to select debug it doesn't seem unreasonable that it should be built with -O0. That said, I'm not too bothered about seeing this fixed.