blob: d4aa0d52b0dbbb5c12711ee2f194970d28131570 [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
Andrew Geissler9aee5002022-03-30 16:27:02 +000010LICENSE = "GPL-3.0-only"
Andrew Geissler82c905d2020-04-13 13:39:40 -050011LIC_FILES_CHKSUM = "file://COPYING3;md5=d32239bcb673463ab874e80d47fae504"
12
13DEPENDS = "zlib readline coreutils-native ncurses-native"
14
15S = "${WORKDIR}/git"
Andrew Geissler595f6302022-01-24 19:11:47 +000016SRC_URI = "git://github.com/crash-utility/${BPN}.git;branch=master;protocol=https \
Andrew Geissler82c905d2020-04-13 13:39:40 -050017 ${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 Geissler82c905d2020-04-13 13:39:40 -050028 "
William A. Kennington III49e95662021-09-15 16:19:36 -070029SRCREV = "2a3e546942ab560f050ab77e8c7828b06513b3f0"
Andrew Geissler82c905d2020-04-13 13:39:40 -050030
31SRC_URI[gdb.md5sum] = "a9836707337e5f7bf76a009a8904f470"
32SRC_URI[gdb.sha256sum] = "8070389a5dcc104eb0be483d582729f98ed4d761ad19cedd3f17b5d2502faa36"
33
34UPSTREAM_CHECK_URI = "https://github.com/crash-utility/crash/releases"
35
36inherit gettext
37
38BBCLASSEXTEND = "native cross"
Patrick Williams213cb262021-08-07 19:21:33 -050039TARGET_CC_ARCH:append = " ${SELECTED_OPTIMIZATION}"
Andrew Geissler82c905d2020-04-13 13:39:40 -050040
41# crash 7.1.3 and before don't support mips64/riscv64
Patrick Williams213cb262021-08-07 19:21:33 -050042COMPATIBLE_HOST:riscv64 = "null"
43COMPATIBLE_HOST:riscv32 = "null"
44COMPATIBLE_HOST:mipsarchn64 = "null"
45COMPATIBLE_HOST:mipsarchn32 = "null"
Andrew Geissler82c905d2020-04-13 13:39:40 -050046
47
48EXTRA_OEMAKE = 'RPMPKG="${PV}" \
49 GDB_TARGET="${TARGET_SYS}" \
50 GDB_HOST="${BUILD_SYS}" \
51 GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
52 LDFLAGS="${LDFLAGS}" \
53 '
54
Patrick Williams213cb262021-08-07 19:21:33 -050055EXTRA_OEMAKE:class-cross = 'RPMPKG="${PV}" \
Andrew Geissler82c905d2020-04-13 13:39:40 -050056 GDB_TARGET="${BUILD_SYS} --target=${TARGET_SYS}" \
57 GDB_HOST="${BUILD_SYS}" \
58 GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
59 '
60
Patrick Williams213cb262021-08-07 19:21:33 -050061EXTRA_OEMAKE:append:class-native = " LDFLAGS='${BUILD_LDFLAGS}'"
62EXTRA_OEMAKE:append:class-cross = " LDFLAGS='${BUILD_LDFLAGS}'"
Andrew Geissler82c905d2020-04-13 13:39:40 -050063
64do_configure() {
65 :
66}
67
Patrick Williams213cb262021-08-07 19:21:33 -050068do_compile:prepend() {
Andrew Geissler82c905d2020-04-13 13:39:40 -050069 case ${TARGET_ARCH} in
70 aarch64*) ARCH=ARM64 ;;
71 arm*) ARCH=ARM ;;
72 i*86*) ARCH=X86 ;;
73 x86_64*) ARCH=X86_64 ;;
74 powerpc64*) ARCH=PPC64 ;;
75 powerpc*) ARCH=PPC ;;
76 mips*) ARCH=MIPS ;;
77 esac
78
79 sed -i s/FORCE_DEFINE_ARCH/"${ARCH}"/g ${S}/configure.c
80 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
81 sed -i 's/>/>/g' ${S}/Makefile
82}
83
84do_compile() {
85 oe_runmake ${EXTRA_OEMAKE} RECIPE_SYSROOT=${RECIPE_SYSROOT}
86}
87
Patrick Williams213cb262021-08-07 19:21:33 -050088do_install:prepend () {
Andrew Geissler82c905d2020-04-13 13:39:40 -050089 install -d ${D}${bindir}
90 install -d ${D}/${mandir}/man8
91 install -d ${D}${includedir}/crash
92
93 install -m 0644 ${S}/crash.8 ${D}/${mandir}/man8/
94 install -m 0644 ${S}/defs.h ${D}${includedir}/crash
95}
96
Patrick Williams213cb262021-08-07 19:21:33 -050097do_install:class-target () {
Andrew Geissler82c905d2020-04-13 13:39:40 -050098 oe_runmake DESTDIR=${D} install
99}
100
Patrick Williams213cb262021-08-07 19:21:33 -0500101do_install:class-native () {
Andrew Geissler82c905d2020-04-13 13:39:40 -0500102 oe_runmake DESTDIR=${D}${STAGING_DIR_NATIVE} install
103}
104
Patrick Williams213cb262021-08-07 19:21:33 -0500105do_install:class-cross () {
Andrew Geissler82c905d2020-04-13 13:39:40 -0500106 install -m 0755 ${S}/crash ${D}/${bindir}
107}
108
Patrick Williams213cb262021-08-07 19:21:33 -0500109RDEPENDS:${PN} += "liblzma"
110RDEPENDS:${PN}:class-native = ""
111RDEPENDS:${PN}:class-cross = ""
Andrew Geissler82c905d2020-04-13 13:39:40 -0500112
113# Causes gcc to get stuck and eat all available memory in qemuarm builds
114# 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 -
115ARM_INSTRUCTION_SET = "arm"
116
117# http://errors.yoctoproject.org/Errors/Details/186964/
Patrick Williams213cb262021-08-07 19:21:33 -0500118COMPATIBLE_HOST:libc-musl = 'null'