From 969cd47c0cc79127853d6d657ed06daa73075b03 Mon Sep 17 00:00:00 2001 From: Goran Cengic Date: Wed, 13 Apr 2016 21:15:35 +0200 Subject: 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 Signed-off-by: Martin Jansa --- meta-oe/recipes-kernel/crash/crash_7.1.3.bb | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'meta-oe/recipes-kernel') 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 - -- cgit 1.2.3-korg