Bug 4303 - Toolchains qmake causes DEBUG builds with -O2
Summary: Toolchains qmake causes DEBUG builds with -O2
Status: RESOLVED WONTFIX
Alias: None
Product: buildroot
Classification: Unclassified
Component: Other (show other bugs)
Version: unspecified
Hardware: PC Linux
: P5 minor
Target Milestone: ---
Assignee: unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-10-12 13:14 UTC by Karl Krach
Modified: 2012-02-01 08:45 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:


Attachments
.config file of buildroot 2011.08 (20.92 KB, application/xml)
2011-10-12 13:14 UTC, Karl Krach
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Karl Krach 2011-10-12 13:14:01 UTC
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)
Comment 1 Thomas Petazzoni 2012-01-31 22:21:05 UTC
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.
Comment 2 Will Wagner 2012-02-01 08:45:47 UTC
(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.