Patchwork gdb: force arm mode

login
register
mail settings
Submitter Martin Jansa
Date July 15, 2014, 6:30 p.m.
Message ID <1405449014-17065-1-git-send-email-Martin.Jansa@gmail.com>
Download mbox | patch
Permalink /patch/75703/
State New
Headers show

Comments

Martin Jansa - July 15, 2014, 6:30 p.m.
* triggers some issue in gcc-4.9, this call:
arm-oe-linux-gnueabi-gcc  -march=armv5te -mthumb -mthumb-interwork -mtune=xscale
--sysroot=/OE/build/shr-core/tmp-eglibc/sysroots/spitz -O2 -pipe -g
-feliminate-unused-debug-types   -I.
-I/OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/gdb/7.7-r0/gdb-7.7/gdb
-I/OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/gdb/7.7-r0/gdb-7.7/gdb/common
-I/OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/gdb/7.7-r0/gdb-7.7/gdb/config
-DLOCALEDIR="\"/usr/share/locale\"" -DHAVE_CONFIG_H
-I/OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/gdb/7.7-r0/gdb-7.7/gdb/../include/opcode
-I/OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/gdb/7.7-r0/gdb-7.7/gdb/../opcodes/..
-I../bfd
-I/OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/gdb/7.7-r0/gdb-7.7/gdb/../bfd
-I/OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/gdb/7.7-r0/gdb-7.7/gdb/../include
-I../libdecnumber
-I/OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/gdb/7.7-r0/gdb-7.7/gdb/../libdecnumber
-I/OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/gdb/7.7-r0/gdb-7.7/gdb/gnulib/import
-Ibuild-gnulib/import    -Wall -Wdeclaration-after-statement
-Wpointer-arith -Wpointer-sign -Wno-unused -Wunused-value
-Wunused-function -Wno-switch -Wno-char-subscripts -Wmissing-prototypes
-Wdeclaration-after-statement -Wempty-body -Wmissing-parameter-type
-Wold-style-declaration -Wold-style-definition -Wformat-nonliteral  -c
-o eval.o -MT eval.o -MMD -MP -MF .deps/eval.Tpo
/OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/gdb/7.7-r0/gdb-7.7/gdb/eval.c

just hangs (strace shows occasional call to mmap, brk, munmap) and eats all available memory
(in my case 20GB), I've waited for 2,5 hours and it didn't finish,
after removing -mthumb it builds in second.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 meta/recipes-devtools/gdb/gdb_7.7.bb | 3 +++
 1 file changed, 3 insertions(+)
Khem Raj - July 15, 2014, 8 p.m.
On Jul 15, 2014 11:30 AM, "Martin Jansa" <martin.jansa@gmail.com> wrote:
>
> * triggers some issue in gcc-4.9, this call:
> arm-oe-linux-gnueabi-gcc  -march=armv5te -mthumb -mthumb-interwork
-mtune=xscale
> --sysroot=/OE/build/shr-core/tmp-eglibc/sysroots/spitz -O2 -pipe -g
> -feliminate-unused-debug-types   -I.
>
-I/OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/gdb/7.7-r0/gdb-7.7/gdb
>
-I/OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/gdb/7.7-r0/gdb-7.7/gdb/common
>
-I/OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/gdb/7.7-r0/gdb-7.7/gdb/config
> -DLOCALEDIR="\"/usr/share/locale\"" -DHAVE_CONFIG_H
>
-I/OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/gdb/7.7-r0/gdb-7.7/gdb/../include/opcode
>
-I/OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/gdb/7.7-r0/gdb-7.7/gdb/../opcodes/..
> -I../bfd
>
-I/OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/gdb/7.7-r0/gdb-7.7/gdb/../bfd
>
-I/OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/gdb/7.7-r0/gdb-7.7/gdb/../include
> -I../libdecnumber
>
-I/OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/gdb/7.7-r0/gdb-7.7/gdb/../libdecnumber
>
-I/OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/gdb/7.7-r0/gdb-7.7/gdb/gnulib/import
> -Ibuild-gnulib/import    -Wall -Wdeclaration-after-statement
> -Wpointer-arith -Wpointer-sign -Wno-unused -Wunused-value
> -Wunused-function -Wno-switch -Wno-char-subscripts -Wmissing-prototypes
> -Wdeclaration-after-statement -Wempty-body -Wmissing-parameter-type
> -Wold-style-declaration -Wold-style-definition -Wformat-nonliteral  -c
> -o eval.o -MT eval.o -MMD -MP -MF .deps/eval.Tpo
>
/OE/build/shr-core/tmp-eglibc/work/xscalete-oe-linux-gnueabi/gdb/7.7-r0/gdb-7.7/gdb/eval.c
>
> just hangs (strace shows occasional call to mmap, brk, munmap) and eats
all available memory
> (in my case 20GB), I've waited for 2,5 hours and it didn't finish,
> after removing -mthumb it builds in second.
>
> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ---
>  meta/recipes-devtools/gdb/gdb_7.7.bb | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/meta/recipes-devtools/gdb/gdb_7.7.bb
b/meta/recipes-devtools/gdb/gdb_7.7.bb
> index 1abc9d8..bc042ec 100644
> --- a/meta/recipes-devtools/gdb/gdb_7.7.bb
> +++ b/meta/recipes-devtools/gdb/gdb_7.7.bb
> @@ -7,6 +7,9 @@ PACKAGECONFIG ??= ""
>  PACKAGECONFIG[python] =
"--with-python=${WORKDIR}/python,--without-python,python"
>  PACKAGECONFIG[babeltrace] =
"--with-babeltrace,--without-babeltrace,babeltrace"
>
> +# cc1 (4.9) call with -mthumb gets stuck and eats all available memory
(over 20GB in my case)
> +ARM_INSTRUCTION_SET = "arm"

we dont want to turn thumb off unconditionally since thumb2 may be ok.

> +
>  do_configure_prepend() {
>         if [ -n "${@bb.utils.contains('PACKAGECONFIG', 'python',
'python', '', d)}" ]; then
>                 cat > ${WORKDIR}/python << EOF
> --
> 2.0.0
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

Patch

diff --git a/meta/recipes-devtools/gdb/gdb_7.7.bb b/meta/recipes-devtools/gdb/gdb_7.7.bb
index 1abc9d8..bc042ec 100644
--- a/meta/recipes-devtools/gdb/gdb_7.7.bb
+++ b/meta/recipes-devtools/gdb/gdb_7.7.bb
@@ -7,6 +7,9 @@  PACKAGECONFIG ??= ""
 PACKAGECONFIG[python] = "--with-python=${WORKDIR}/python,--without-python,python"
 PACKAGECONFIG[babeltrace] = "--with-babeltrace,--without-babeltrace,babeltrace"
 
+# cc1 (4.9) call with -mthumb gets stuck and eats all available memory (over 20GB in my case)
+ARM_INSTRUCTION_SET = "arm"
+
 do_configure_prepend() {
 	if [ -n "${@bb.utils.contains('PACKAGECONFIG', 'python', 'python', '', d)}" ]; then
 		cat > ${WORKDIR}/python << EOF