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>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
This commit is contained in:
Goran Cengic 2016-04-13 21:15:35 +02:00 committed by Armin Kuster
parent 70a46baf87
commit 19284f3c09

View File

@ -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 -