blob: c2d83cb4f037394136b35737495615980a9743cb [file] [log] [blame]
Andrew Geissler82c905d2020-04-13 13:39:40 -05001SUMMARY = "Kernel analysis utility for live systems, netdump, diskdump, kdump, LKCD or mcore dumpfiles"
2DESCRIPTION = "The core analysis suite is a self-contained tool that can be used to\
3investigate either live systems, kernel core dumps created from the\
4netdump, diskdump and kdump packages from Red Hat Linux, the mcore kernel patch\
5offered by Mission Critical Linux, or the LKCD kernel patch."
6
7HOMEPAGE = "http://people.redhat.com/anderson"
8SECTION = "devel"
9
10LICENSE = "GPLv3"
11LIC_FILES_CHKSUM = "file://COPYING3;md5=d32239bcb673463ab874e80d47fae504"
12
13DEPENDS = "zlib readline coreutils-native ncurses-native"
14
15S = "${WORKDIR}/git"
16SRC_URI = "git://github.com/crash-utility/${BPN}.git \
17 ${GNU_MIRROR}/gdb/gdb-7.6.tar.gz;name=gdb;subdir=git \
18 file://7001force_define_architecture.patch \
19 file://7003cross_ranlib.patch \
20 file://0001-cross_add_configure_option.patch \
21 file://sim-ppc-drop-LIBS-from-psim-dependency.patch \
22 file://sim-common-sim-arange-fix-extern-inline-handling.patch \
23 file://donnot-extract-gdb-during-do-compile.patch \
24 file://gdb_build_jobs_and_not_write_crash_target.patch \
25 file://remove-unrecognized-gcc-option-m32-for-mips.patch \
26 file://0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch \
27 file://0003-crash-detect-the-sysroot-s-glibc-header-file.patch \
Andrew Geissler97771a32021-03-05 15:23:11 -060028 file://0001-printk-add-support-for-lockless-ringbuffer.patch \
29 file://0002-printk-use-committed-finalized-state-values.patch \
Andrew Geissler82c905d2020-04-13 13:39:40 -050030 "
Andrew Geissler8fc454f2020-12-11 16:27:59 -060031SRCREV = "a25aa4b649d339dd25c20d5413d81b851a77e0b2"
Andrew Geissler82c905d2020-04-13 13:39:40 -050032
33SRC_URI[gdb.md5sum] = "a9836707337e5f7bf76a009a8904f470"
34SRC_URI[gdb.sha256sum] = "8070389a5dcc104eb0be483d582729f98ed4d761ad19cedd3f17b5d2502faa36"
35
36UPSTREAM_CHECK_URI = "https://github.com/crash-utility/crash/releases"
37
38inherit gettext
39
40BBCLASSEXTEND = "native cross"
Patrick Williams213cb262021-08-07 19:21:33 -050041TARGET_CC_ARCH:append = " ${SELECTED_OPTIMIZATION}"
Andrew Geissler82c905d2020-04-13 13:39:40 -050042
43# crash 7.1.3 and before don't support mips64/riscv64
Patrick Williams213cb262021-08-07 19:21:33 -050044COMPATIBLE_HOST:riscv64 = "null"
45COMPATIBLE_HOST:riscv32 = "null"
46COMPATIBLE_HOST:mipsarchn64 = "null"
47COMPATIBLE_HOST:mipsarchn32 = "null"
Andrew Geissler82c905d2020-04-13 13:39:40 -050048
49
50EXTRA_OEMAKE = 'RPMPKG="${PV}" \
51 GDB_TARGET="${TARGET_SYS}" \
52 GDB_HOST="${BUILD_SYS}" \
53 GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
54 LDFLAGS="${LDFLAGS}" \
55 '
56
Patrick Williams213cb262021-08-07 19:21:33 -050057EXTRA_OEMAKE:class-cross = 'RPMPKG="${PV}" \
Andrew Geissler82c905d2020-04-13 13:39:40 -050058 GDB_TARGET="${BUILD_SYS} --target=${TARGET_SYS}" \
59 GDB_HOST="${BUILD_SYS}" \
60 GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
61 '
62
Patrick Williams213cb262021-08-07 19:21:33 -050063EXTRA_OEMAKE:append:class-native = " LDFLAGS='${BUILD_LDFLAGS}'"
64EXTRA_OEMAKE:append:class-cross = " LDFLAGS='${BUILD_LDFLAGS}'"
Andrew Geissler82c905d2020-04-13 13:39:40 -050065
66do_configure() {
67 :
68}
69
Patrick Williams213cb262021-08-07 19:21:33 -050070do_compile:prepend() {
Andrew Geissler82c905d2020-04-13 13:39:40 -050071 case ${TARGET_ARCH} in
72 aarch64*) ARCH=ARM64 ;;
73 arm*) ARCH=ARM ;;
74 i*86*) ARCH=X86 ;;
75 x86_64*) ARCH=X86_64 ;;
76 powerpc64*) ARCH=PPC64 ;;
77 powerpc*) ARCH=PPC ;;
78 mips*) ARCH=MIPS ;;
79 esac
80
81 sed -i s/FORCE_DEFINE_ARCH/"${ARCH}"/g ${S}/configure.c
82 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
83 sed -i 's/>/>/g' ${S}/Makefile
84}
85
86do_compile() {
87 oe_runmake ${EXTRA_OEMAKE} RECIPE_SYSROOT=${RECIPE_SYSROOT}
88}
89
Patrick Williams213cb262021-08-07 19:21:33 -050090do_install:prepend () {
Andrew Geissler82c905d2020-04-13 13:39:40 -050091 install -d ${D}${bindir}
92 install -d ${D}/${mandir}/man8
93 install -d ${D}${includedir}/crash
94
95 install -m 0644 ${S}/crash.8 ${D}/${mandir}/man8/
96 install -m 0644 ${S}/defs.h ${D}${includedir}/crash
97}
98
Patrick Williams213cb262021-08-07 19:21:33 -050099do_install:class-target () {
Andrew Geissler82c905d2020-04-13 13:39:40 -0500100 oe_runmake DESTDIR=${D} install
101}
102
Patrick Williams213cb262021-08-07 19:21:33 -0500103do_install:class-native () {
Andrew Geissler82c905d2020-04-13 13:39:40 -0500104 oe_runmake DESTDIR=${D}${STAGING_DIR_NATIVE} install
105}
106
Patrick Williams213cb262021-08-07 19:21:33 -0500107do_install:class-cross () {
Andrew Geissler82c905d2020-04-13 13:39:40 -0500108 install -m 0755 ${S}/crash ${D}/${bindir}
109}
110
Patrick Williams213cb262021-08-07 19:21:33 -0500111RDEPENDS:${PN} += "liblzma"
112RDEPENDS:${PN}:class-native = ""
113RDEPENDS:${PN}:class-cross = ""
Andrew Geissler82c905d2020-04-13 13:39:40 -0500114
115# Causes gcc to get stuck and eat all available memory in qemuarm builds
116# 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 -
117ARM_INSTRUCTION_SET = "arm"
118
119# http://errors.yoctoproject.org/Errors/Details/186964/
Patrick Williams213cb262021-08-07 19:21:33 -0500120COMPATIBLE_HOST:libc-musl = 'null'