aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-kernel
diff options
context:
space:
mode:
authorGoran Cengic <cengic@gmail.com>2016-04-13 21:15:35 +0200
committerMartin Jansa <Martin.Jansa@gmail.com>2016-04-28 10:37:47 +0200
commit969cd47c0cc79127853d6d657ed06daa73075b03 (patch)
treee226041f2d9cc4ae8dea59405fe6745fab5cc1e5 /meta-oe/recipes-kernel
parentff70a6010f8a4a2c06789e8791a0bffdad549715 (diff)
downloadmeta-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>
Diffstat (limited to 'meta-oe/recipes-kernel')
-rw-r--r--meta-oe/recipes-kernel/crash/crash_7.1.3.bb23
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/&gt;/>/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 -