diff options
author | Goran Cengic <cengic@gmail.com> | 2016-04-13 21:15:35 +0200 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2016-04-28 10:37:47 +0200 |
commit | 969cd47c0cc79127853d6d657ed06daa73075b03 (patch) | |
tree | e226041f2d9cc4ae8dea59405fe6745fab5cc1e5 | |
parent | ff70a6010f8a4a2c06789e8791a0bffdad549715 (diff) | |
download | meta-openembedded-contrib-969cd47c0cc79127853d6d657ed06daa73075b03.tar.gz |
crash: add cross package
This patch adds the cross package for the crash recipe. I've built and
tested crash-cross for ARM on x86_64 host only.
The way to pass GDB_CONF_FLAGS and --target to GDB build without
removing -m32 from CFLAGS is awkward but that is what I could come up
with, without changing the patch files included with the recipe or
breaking target and native builds. Anyone got any ideas on how to
better do this?
Thanks,
Goran
Signed-off-by: Goran Cengic <cengic@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-rw-r--r-- | meta-oe/recipes-kernel/crash/crash_7.1.3.bb | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/meta-oe/recipes-kernel/crash/crash_7.1.3.bb b/meta-oe/recipes-kernel/crash/crash_7.1.3.bb index d057300f41..b787f02669 100644 --- a/meta-oe/recipes-kernel/crash/crash_7.1.3.bb +++ b/meta-oe/recipes-kernel/crash/crash_7.1.3.bb @@ -32,7 +32,7 @@ SRC_URI[gdb.sha256sum] = "8070389a5dcc104eb0be483d582729f98ed4d761ad19cedd3f17b5 inherit gettext -BBCLASSEXTEND = "native" +BBCLASSEXTEND = "native cross" # crash 7.1.3 and before don't support mips64 COMPATIBLE_HOST = "^(?!mips64).*" @@ -42,7 +42,21 @@ EXTRA_OEMAKE = 'RPMPKG="${PV}" \ GDB_HOST="${BUILD_SYS}" \ GDB_MAKE_JOBS="${PARALLEL_MAKE}" \ ' + +EXTRA_OEMAKE_class-cross = 'RPMPKG="${PV}" \ + GDB_TARGET="${BUILD_SYS} \ + \${GDB_CONF_FLAGS} \ + --target=${TARGET_SYS}" \ + GDB_HOST="${BUILD_SYS}" \ + GDB_MAKE_JOBS="${PARALLEL_MAKE}" \ + ' + EXTRA_OEMAKE_append_class-native = " LDFLAGS='${BUILD_LDFLAGS}'" +EXTRA_OEMAKE_append_class-cross = " LDFLAGS='${BUILD_LDFLAGS}'" + +REMOVE_M32 = "sed -i -e 's/#define TARGET_CFLAGS_ARM_ON_X86_64.*/#define TARGET_CFLAGS_ARM_ON_X86_64\t\"TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64\"/g' ${S}/configure.c" + +REMOVE_M32_class-cross = "" do_configure() { : @@ -60,7 +74,7 @@ do_compile_prepend() { esac sed -i s/FORCE_DEFINE_ARCH/"${ARCH}"/g ${S}/configure.c - sed -i -e 's/#define TARGET_CFLAGS_ARM_ON_X86_64.*/#define TARGET_CFLAGS_ARM_ON_X86_64\t\"TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64\"/g' ${S}/configure.c + ${REMOVE_M32} sed -i 's/>/>/g' ${S}/Makefile } @@ -85,8 +99,13 @@ do_install_class-native () { oe_runmake DESTDIR=${D}${STAGING_DIR_NATIVE} install } +do_install_class-cross () { + install -m 0755 ${S}/crash ${D}/${bindir} +} + RDEPENDS_${PN} += "liblzma" RDEPENDS_${PN}_class-native = "" +RDEPENDS_${PN}_class-cross = "" # Causes gcc to get stuck and eat all available memory in qemuarm builds # jenkins 15161 100 12.5 10389596 10321284 ? R 11:40 28:17 /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/x86_64-linux/usr/libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.2/cc1 -quiet -I . -I . -I ./common -I ./config -I ./../include/opcode -I ./../opcodes/.. -I ./../readline/.. -I ../bfd -I ./../bfd -I ./../include -I ../libdecnumber -I ./../libdecnumber -I ./gnulib/import -I build-gnulib/import -isysroot /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/qemuarm -MMD eval.d -MF .deps/eval.Tpo -MP -MT eval.o -D LOCALEDIR="/usr/local/share/locale" -D CRASH_MERGE -D HAVE_CONFIG_H -D TUI=1 eval.c -quiet -dumpbase eval.c -march=armv5te -mthumb -mthumb-interwork -mtls-dialect=gnu -auxbase-strip eval.o -g -O2 -Wall -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wmissing-prototypes -Wdeclaration-after-statement -Wempty-body -feliminate-unused-debug-types -o - |