[oe] [PATCHv2] sane-toolchain-*: define DEBUG_FLAGS and add it to FULL_OPTIMIZATION to make -dbg packages more usefull

Tom Rini tom_rini at mentor.com
Wed Mar 2 22:29:04 UTC 2011


On 03/02/2011 12:55 PM, Martin Jansa wrote:
> Signed-off-by: Martin Jansa<Martin.Jansa at gmail.com>

Acked-by: Tom Rini <tom_rini at mentor.com>

> ---
>   conf/bitbake.conf                                  |    5 +++--
>   conf/distro/include/sane-toolchain-eglibc.inc      |   12 ++++++------
>   conf/distro/include/sane-toolchain-glibc.inc       |   10 +++++-----
>   conf/distro/include/sane-toolchain-uclibc.inc      |    6 +++---
>   .../include/sane-toolchain-uclinux-uclibc.inc      |    2 +-
>   5 files changed, 18 insertions(+), 17 deletions(-)
>
> diff --git a/conf/bitbake.conf b/conf/bitbake.conf
> index 0c11cdb..f23dd05 100644
> --- a/conf/bitbake.conf
> +++ b/conf/bitbake.conf
> @@ -543,10 +543,11 @@ EXTRA_OEMAKE_prepend_task-compile = "${PARALLEL_MAKE} "
>   # Optimization flags.
>   ##################################################################
>
> +DEBUG_FLAGS = "-g"
>   FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2"
> -DEBUG_OPTIMIZATION = "-O -fno-omit-frame-pointer -g"
> +DEBUG_OPTIMIZATION = "-O -fno-omit-frame-pointer ${DEBUG_FLAGS}"
>   SELECTED_OPTIMIZATION = "${@bb.data.getVar(['FULL_OPTIMIZATION', 'DEBUG_OPTIMIZATION'][bb.data.getVar('DEBUG_BUILD', d, 1) == '1'], d, 1)}"
> -BUILD_OPTIMIZATION = "-O2 -g"
> +BUILD_OPTIMIZATION = "-O2 ${DEBUG_FLAGS}"
>
>   ##################################################################
>   # Bootstrap stuff.
> diff --git a/conf/distro/include/sane-toolchain-eglibc.inc b/conf/distro/include/sane-toolchain-eglibc.inc
> index daab0f8..d38ca5d 100644
> --- a/conf/distro/include/sane-toolchain-eglibc.inc
> +++ b/conf/distro/include/sane-toolchain-eglibc.inc
> @@ -3,20 +3,20 @@
>   # eglibc:
>   # [23:00] oxo: glibc (any version) on sparc does not like (repeat me) "-Os"
>
> -FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os"
> -FULL_OPTIMIZATION_pn-perl = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O1"
> -FULL_OPTIMIZATION_sparc = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2"
> +FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os ${DEBUG_FLAGS}"
> +FULL_OPTIMIZATION_pn-perl = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O1 ${DEBUG_FLAGS}"
> +FULL_OPTIMIZATION_sparc = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 ${DEBUG_FLAGS}"
>
>   # gcc 4.4 and 4.5 has a problem with 'leakage' into libgcc.a with -Os
> -FULL_OPTIMIZATION_powerpc = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2"
> +FULL_OPTIMIZATION_powerpc = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 ${DEBUG_FLAGS}"
>
>   # JaMa: I promise to report bug upstream, but as it can take a while to fix it, I'll switch to -O2 here
>   # Tested with gcc-4.4.2 and gcc-4.4.3 on armv4t and armv5te and it fails with -Os, with gcc-4.3.3 it works OK with -Os
>   # Here is testcase, but you have to rebuild whole libqtxml to test it
>   # http://lists.shr-project.org/pipermail/shr-devel/2010-February/002169.html
> -FULL_OPTIMIZATION_pn-qt4-x11-free = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2"
> +FULL_OPTIMIZATION_pn-qt4-x11-free = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 ${DEBUG_FLAGS}"
>   # This I've seen only on armv4t, it segfaults when called from pisi, but whole test unit suite can pass
> -FULL_OPTIMIZATION_pn-libsyncml = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2"
> +FULL_OPTIMIZATION_pn-libsyncml = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 ${DEBUG_FLAGS}"
>
>   BUILD_OPTIMIZATION_pn-perl = "-O1"
>   BUILD_OPTIMIZATION_sparc = "-O2"
> diff --git a/conf/distro/include/sane-toolchain-glibc.inc b/conf/distro/include/sane-toolchain-glibc.inc
> index 770aa87..29c201b 100644
> --- a/conf/distro/include/sane-toolchain-glibc.inc
> +++ b/conf/distro/include/sane-toolchain-glibc.inc
> @@ -7,14 +7,14 @@
>   # perl has some problems, see http://bugs.openembedded.net/show_bug.cgi?id=1616
>   # [23:00] oxo: glibc (any version) on sparc does not like (repeat me) "-Os"
>
> -FULL_OPTIMIZATION = "-fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2"
> +FULL_OPTIMIZATION = "-fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2 ${DEBUG_FLAGS}"
>
> -FULL_OPTIMIZATION_pn-perl = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O1"
> -FULL_OPTIMIZATION_pn-glibc = "-fexpensive-optimizations -fomit-frame-pointer -O2"
> -FULL_OPTIMIZATION_sparc = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2"
> +FULL_OPTIMIZATION_pn-perl = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O1 ${DEBUG_FLAGS}"
> +FULL_OPTIMIZATION_pn-glibc = "-fexpensive-optimizations -fomit-frame-pointer -O2 ${DEBUG_FLAGS}"
> +FULL_OPTIMIZATION_sparc = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 ${DEBUG_FLAGS}"
>
>   # gcc 4.4 and 4.5 has a problem with 'leakage' into libgcc.a with -Os
> -FULL_OPTIMIZATION_powerpc = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2"
> +FULL_OPTIMIZATION_powerpc = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 ${DEBUG_FLAGS}"
>
>   BUILD_OPTIMIZATION_pn-perl = "-O1"
>   BUILD_OPTIMIZATION_pn-glibc = "-O2"
> diff --git a/conf/distro/include/sane-toolchain-uclibc.inc b/conf/distro/include/sane-toolchain-uclibc.inc
> index b61ee36..b51cdaf 100644
> --- a/conf/distro/include/sane-toolchain-uclibc.inc
> +++ b/conf/distro/include/sane-toolchain-uclibc.inc
> @@ -23,12 +23,12 @@ PREFERRED_VERSION_uclibc-cross-intermediate ?= "${PREFERRED_UCLIBC_VERSION}"
>
>   #mess with compiler flags to use -Os instead of -O2
>   #Please see http://free-electrons.com/doc/embedded_linux_optimizations/img47.html for some more info
> -FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os -pipe"
> +FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os -pipe ${DEBUG_FLAGS}"
>   BUILD_OPTIMIZATION += "-pipe"
>
>   # -Os compiled root file system does not boot for powerpc, root cause it still at large
>   # we use -O2 meanwhile
> -FULL_OPTIMIZATION_powerpc = "-O2 -pipe"
> +FULL_OPTIMIZATION_powerpc = "-O2 -pipe ${DEBUG_FLAGS}"
>
>   #Gcc will die with 'internal consistency error when using the above optimizations
>   #with gcc-4.2.1-atmel.1.0.3 (and probably most other avr32 gcc ports).
> @@ -38,7 +38,7 @@ FULL_OPTIMIZATION_powerpc = "-O2 -pipe"
>   #it was removed while debugging an issue that ultimately turned out to be due
>   #to the ICE fixed by gcc-pr32889.patch.  It needs to be tested again.
>   #Note that this testing was done without the gcc-pr32889.patch.
> -FULL_OPTIMIZATION_avr32 = "-Os -fomit-frame-pointer"
> +FULL_OPTIMIZATION_avr32 = "-Os -fomit-frame-pointer ${DEBUG_FLAGS}"
>
>   TARGET_LINK_HASH_STYLE = "${@['-Wl,--hash-style=gnu',''][bb.data.getVar('TARGET_ARCH',d,1) in ['mips', 'mipsel', 'mips64', 'mips64el', 'avr32']]}"
>
> diff --git a/conf/distro/include/sane-toolchain-uclinux-uclibc.inc b/conf/distro/include/sane-toolchain-uclinux-uclibc.inc
> index a1e7df0..8ebaf15 100644
> --- a/conf/distro/include/sane-toolchain-uclinux-uclibc.inc
> +++ b/conf/distro/include/sane-toolchain-uclinux-uclibc.inc
> @@ -9,7 +9,7 @@ USE_NLS_gcc-cross = "no"
>
>   #mess with compiler flags to use -Os instead of -O2
>   #Please see http://free-electrons.com/doc/embedded_linux_optimizations/img47.html for some more info
> -FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os -pipe"
> +FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os -pipe ${DEBUG_FLAGS}"
>   BUILD_OPTIMIZATION = "-Os"
>
>   #Gcc will die with 'internal consistency error when using the above optimizations


-- 
Tom Rini
Mentor Graphics Corporation




More information about the Openembedded-devel mailing list