crash 8.0.6 -> 9.0.2 + crash-memory-driver

1) crash-memory-driver: fixed typo to include proper patch
2) crash-memory-driver: keep license,...

patch against comments on pull request:

1) HOMEPAGE updated
2) UPSTREAM_CHECK_URI updated
3) exports removed
4) if [ -f "gdb-16.2.patch" ]; then... removed
5) notes about QA Issue: reference to TMPDIR [buildpaths] added
6) notes ./crash --buildinfo removed
7) LIC_FILES_CHKSUM: use license text in crash.c
8) PV = "9.0.2+git${SRCPV}" -> SRCPV removed
9) removed unused patches
10) crash: LICENSE = GPL-3.0-only

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
Robert Berger 2026-06-09 08:37:02 +02:00 committed by Khem Raj
parent 0435a7a89b
commit e6bd3835c9
No known key found for this signature in database
GPG Key ID: BB053355919D3314
18 changed files with 297 additions and 581 deletions

View File

@ -1,52 +0,0 @@
inherit cross-canadian
SUMMARY = "crash utility (cross-canadian crash for ${TARGET_ARCH} target)"
PN = "crash-cross-canadian-${TRANSLATED_TARGET_ARCH}"
BPN = "crash"
require crash.inc
DEPENDS = "\
nativesdk-ncurses \
nativesdk-expat \
nativesdk-gettext \
nativesdk-gmp \
nativesdk-mpfr \
nativesdk-readline \
nativesdk-zlib \
virtual/nativesdk-cross-cc \
virtual/nativesdk-cross-binutils \
virtual/nativesdk-compilerlibs \
virtual/nativesdk-libc"
RDEPENDS:${PN} = "nativesdk-liblzma"
EXTRA_OEMAKE:class-cross-canadian = 'RPMPKG="${PV}" \
GDB_TARGET="${BUILD_SYS} --target=${TARGET_SYS}" \
GDB_HOST="${HOST_SYS}" \
GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
LDFLAGS="${LDFLAGS}" \
'
# To ship crash into your sdk, you should create/update a packagegroup-cross-canadian.bbappend and
# add the following
# CRASH = "crash-cross-canadian-${TRANSLATED_TARGET_ARCH}"
# RDEPENDS:${PN} += "${@all_multilib_tune_values(d, 'CRASH')}"
#
# You should also add some kernel packages in your sdk, add the followng in your conf/local.conf:
#
# TOOLCHAIN_TARGET_TASK += "\
# kernel-vmlinux \
# kernel-dbg \
# kernel-dev \
# "
#
# After sourcing the sdk environment script, you can analyze a kernel panic dump with
#
# crash $OECORE_TARGET_SYSROOT/boot/<vmlinux file> $OECORE_TARGET_SYSROOT/boot/<System.map file> <your vmcore>
do_install:class-cross-canadian () {
install -m 0755 ${S}/crash ${D}/${bindir}
cross_canadian_bindirlinks
}

View File

@ -0,0 +1,73 @@
inherit cross-canadian
SUMMARY = "crash utility (cross-canadian crash for ${TARGET_ARCH} target)"
PN = "crash-cross-canadian-${TRANSLATED_TARGET_ARCH}"
BPN = "crash"
require crash.inc
DEPENDS:append = " \
nativesdk-ncurses \
nativesdk-expat \
nativesdk-gettext \
nativesdk-gmp \
nativesdk-mpfr \
nativesdk-readline \
nativesdk-zlib \
virtual/nativesdk-cross-cc \
virtual/nativesdk-cross-binutils \
virtual/nativesdk-compilerlibs \
virtual/nativesdk-libc \
"
RDEPENDS:${PN} = "nativesdk-liblzma"
EXTRA_OEMAKE:class-cross-canadian = ' \
RPMPKG="${PV}" \
CROSS_COMPILE="${HOST_PREFIX}" \
HOSTCC="gcc" \
CFLAGS="${CFLAGS} -fcommon --sysroot=${STAGING_DIR_HOST}" \
CXXFLAGS="${CXXFLAGS} -fcommon --sysroot=${STAGING_DIR_HOST}" \
LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_HOST}" \
GDB_TARGET="${BUILD_SYS} --target=${TARGET_SYS}" \
GDB_HOST="${HOST_SYS}" \
GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
GDB_CONF_FLAGS="--host=${HOST_SYS} \
--build=${BUILD_SYS} \
--target=${TARGET_SYS} \
--disable-gdbserver \
--disable-gprofng \
--with-sysroot=${STAGING_DIR_TARGET} \
ac_cv_type_gregset_t=yes \
ac_cv_type_fpregset_t=yes \
ac_cv_header_sys_procfs_h=yes" \
'
# Force the SDK cross-compiler during the command execution phase
do_compile() {
oe_runmake ${EXTRA_OEMAKE} CC="${HOST_PREFIX}gcc ${HOST_CC_ARCH}" CXX="${HOST_PREFIX}g++ ${HOST_CC_ARCH}" RECIPE_SYSROOT=${RECIPE_SYSROOT}
}
# To ship crash into your sdk, you should create/update a packagegroup-cross-canadian.bbappend and
# add the following
# CRASH = "crash-cross-canadian-${TRANSLATED_TARGET_ARCH}"
# RDEPENDS:${PN} += "${@all_multilib_tune_values(d, 'CRASH')}"
#
# You should also add some kernel packages in your sdk, add the followng in your conf/local.conf:
#
# TOOLCHAIN_TARGET_TASK += "\
# kernel-vmlinux \
# kernel-dbg \
# kernel-dev \
# "
#
# After sourcing the sdk environment script, you can analyze a kernel panic dump with
#
# crash $OECORE_TARGET_SYSROOT/boot/<vmlinux file> $OECORE_TARGET_SYSROOT/boot/<System.map file> <your vmcore>
do_install:class-cross-canadian () {
rm -rf ${D}
install -d ${D}${bindir}
install -m 0755 ${S}/crash ${D}${bindir}/crash
cross_canadian_bindirlinks
}

View File

@ -0,0 +1,52 @@
From 4e33b3183f7ec903f73479600cfcb9014de1780e Mon Sep 17 00:00:00 2001
From: Robert Berger <Robert.Berger@ReliableEmbeddedSystems.com>
Date: Wed, 5 Mar 2025 06:28:02 +0000
Subject: [PATCH] hacked Makefile for module.bbclass
Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Robert Berger <Robert.Berger@ReliableEmbeddedSystems.com>
---
memory_driver/Makefile | 26 +++++++++++++++++---------
1 file changed, 17 insertions(+), 9 deletions(-)
diff --git a/memory_driver/Makefile b/memory_driver/Makefile
index 61ee7c0..d8dd3b5 100644
--- a/memory_driver/Makefile
+++ b/memory_driver/Makefile
@@ -7,15 +7,23 @@
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
-ifneq ($(KERNELRELEASE),)
+
obj-m := crash.o
-else
-PWD := $(shell pwd)
-KVER ?= $(shell uname -r)
-KDIR ?= /lib/modules/${KVER}/build
+
+SRC := $(shell pwd)
+
all:
- ${MAKE} -C ${KDIR} M=${PWD} SUBDIRS=${PWD} modules
+ $(MAKE) -C $(KERNEL_SRC) M=$(SRC)
+
+# if you would like to invoke sparse:
+#
+# all:
+# $(MAKE) KBUILD_CHECKSRC=1 -C $(KERNEL_SRC) M=$(SRC)
+
+modules_install:
+ $(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install
+
clean:
- test -e ${KDIR}/Makefile && ${MAKE} -C ${KDIR} M=${PWD} SUBDIRS=${PWD} clean || ${RM} *.mod.c *.ko *.o Module.*
-endif
+ rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c
+ rm -f Module.markers Module.symvers modules.order
+ rm -rf .tmp_versions Modules.symvers
--
2.34.1

View File

@ -0,0 +1,30 @@
From 9ed4940f796fabd86ace513c67ea3208815c553b Mon Sep 17 00:00:00 2001
From: Robert Berger <Robert.Berger@ReliableEmbeddedSystems.com>
Date: Wed, 5 Mar 2025 12:02:38 +0000
Subject: [PATCH] add sparse support
Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Robert Berger <Robert.Berger@ReliableEmbeddedSystems.com>
---
Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/memory_driver/Makefile b/memory_driver/Makefile
index 8b9bdbd..ae7151b 100644
--- a/memory_driver/Makefile
+++ b/memory_driver/Makefile
@@ -7,8 +7,8 @@ all:
# if you would like to invoke sparse:
#
-# all:
-# $(MAKE) KBUILD_CHECKSRC=1 -C $(KERNEL_SRC) M=$(SRC)
+all:
+ $(MAKE) KBUILD_CHECKSRC=1 -C $(KERNEL_SRC) M=$(SRC)
modules_install:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install
--
2.34.1

View File

@ -0,0 +1,30 @@
DESCRIPTION = "Once installed, the /dev/crash driver will be used by default for live system crash sessions."
SECTION = "devel"
SUMMARY = "/dev/crash driver"
HOMEPAGE = "https://github.com/crash-utility/crash/tree/master/memory_driver"
RECIPE_MAINTAINER = "Robert Berger <Robert.Berger@ReliableEmbeddedSystems.com>"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://crash.c;beginline=1;endline=25;md5=c278eae78e2bf99783849a90f03d0e43"
inherit module
SRCREV = "61fe107ff96a22e7df0029877529b7ce6da36850"
SRC_URI = "git://github.com/crash-utility/crash;protocol=https;branch=master;subpath=memory_driver;destsuffix=${BP} \
file://0001-hacked-Makefile-for-module.bbclass.patch;striplevel=2 \
file://0002-add-sparse-support.patch;striplevel=2 \
"
PV = "9.0.2+git"
# The inherit of module.bbclass will automatically name module packages with
# "kernel-module-" prefix as required by the oe-core build environment.
RPROVIDES:${PN} += "kernel-module-crash-memory-driver"
# to local.conf add:
# to add the kernel module to the rootfs:
# MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "kernel-module-crash-memory-driver"
# to autoload it:
# KERNEL_MODULE_AUTOLOAD += "crash"
# in case we use sparse in the kernel module makefile
DEPENDS = "sparse-native"

View File

@ -1,36 +1,32 @@
SUMMARY = "Kernel analysis utility for live systems, netdump, diskdump, kdump, LKCD or mcore dumpfiles"
DESCRIPTION = "The core analysis suite is a self-contained tool that can be used to\
investigate either live systems, kernel core dumps created from the\
netdump, diskdump and kdump packages from Red Hat Linux, the mcore kernel patch\
offered by Mission Critical Linux, or the LKCD kernel patch."
HOMEPAGE = "http://people.redhat.com/anderson"
SUMMARY = "Kernel analysis utility for live systems and core dumpfiles"
DESCRIPTION = "The core analysis suite is a self-contained tool that can be used to \
investigate either live systems, kernel core dumps created from kdump, or mcore dumpfiles."
HOMEPAGE = "https://crash-utility.github.io/"
SECTION = "devel"
LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING3;md5=d32239bcb673463ab874e80d47fae504"
LIC_FILES_CHKSUM = "file://${UNPACKDIR}/${BP}/COPYING3;md5=d32239bcb673463ab874e80d47fae504 \
file://${UNPACKDIR}/gdb/gdb-16.2/COPYING3;md5=d32239bcb673463ab874e80d47fae504 \
"
DEPENDS = "zlib readline coreutils-native ncurses-native"
DEPENDS = "zlib readline ncurses gmp mpfr"
# Use append for cross-canadian on native packages
DEPENDS:append = " coreutils-native bison-native flex-native"
INC_PR = "r1"
SRC_URI = "git://github.com/crash-utility/${BPN}.git;branch=master;protocol=https \
${GNU_MIRROR}/gdb/gdb-10.2.tar.gz;name=gdb;subdir=${BB_GIT_DEFAULT_DESTSUFFIX} \
file://7001force_define_architecture.patch \
SRC_URI = "git://github.com/crash-utility/${BPN}.git;branch=master;protocol=https;destsuffix=${BP} \
${GNU_MIRROR}/gdb/gdb-16.2.tar.gz;name=gdb;subdir=gdb \
file://7003cross_ranlib.patch \
file://0001-cross_add_configure_option.patch \
file://donnot-extract-gdb-during-do-compile.patch \
file://gdb_build_jobs_and_not_write_crash_target.patch \
file://0001-symbol-fix-S-cannot-work-with-kaslr-detection.patch \
file://0002-arm64-add-pac-mask-to-better-support-gdb-stack-unwin.patch \
file://0003-Fix-build-failure-in-readline-lib.patch \
file://0004-tools.c-do-not-use-keywords-nullptr-as-a-variable-in.patch \
file://0005-Fix-build-failure-on-32bit-machine-i686.patch \
file://0001-Use-CC-env-var-to-get-compiler-version.patch \
"
SRCREV = "f13853cef53f5c5463a51021edbc81977e2b1405"
"
# 0001-Use-CC-env-var-to-get-compiler-version.patch:
# to get the right compiler info into ./crash --buildinfo
SRCREV = "61fe107ff96a22e7df0029877529b7ce6da36850"
#PV = "9.0.2"
SRC_URI[gdb.sha256sum] = "bdc1da4a033280ac752e7d34b0418efaa45bed093235cb88e62ea961752a37f8"
SRC_URI[gdb.sha256sum] = "b33ad58d687487a821ec8d878daab0f716be60d0936f2e3ac5cf08419ce70350"
UPSTREAM_CHECK_URI = "https://github.com/crash-utility/crash/releases"
@ -38,43 +34,90 @@ inherit gettext
TARGET_CC_ARCH:append = " ${SELECTED_OPTIMIZATION}"
# crash 7.1.3 and before don't support mips64/riscv64
# Target machine constraints preserved from your original layout
COMPATIBLE_HOST:riscv64 = "null"
COMPATIBLE_HOST:riscv32 = "null"
COMPATIBLE_HOST:mipsarchn64 = "null"
COMPATIBLE_HOST:mipsarchn32 = "null"
COMPATIBLE_HOST:libc-musl = 'null'
# add gdb autoconf overrides
EXTRA_OEMAKE = ' \
RPMPKG="${PV}" \
CROSS_COMPILE="${TARGET_PREFIX}" \
HOSTCC="gcc" \
CFLAGS="${CFLAGS} -fcommon --sysroot=${STAGING_DIR_TARGET}" \
CXXFLAGS="${CXXFLAGS} -fcommon --sysroot=${STAGING_DIR_TARGET}" \
LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}" \
AR="${AR}" \
RANLIB="${RANLIB}" \
GDB_TARGET="${TARGET_SYS}" \
GDB_HOST="${BUILD_SYS}" \
GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
GDB_CONF_FLAGS="--host=${HOST_SYS} \
--target=${TARGET_SYS} \
--disable-gdbserver \
--disable-gprofng \
--with-sysroot=${STAGING_DIR_TARGET} \
ac_cv_type_gregset_t=yes \
ac_cv_type_fpregset_t=yes \
ac_cv_header_sys_procfs_h=yes" \
'
EXTRA_OEMAKE = 'RPMPKG="${PV}" \
GDB_TARGET="${TARGET_SYS}" \
GDB_HOST="${BUILD_SYS}" \
GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
LDFLAGS="${LDFLAGS}" \
'
TARGET_CFLAGS:append = " -fcommon -fpermissive"
TARGET_CXXFLAGS:append = " -fcommon -fpermissive"
do_configure() {
:
}
do_compile:prepend() {
# 1. Map Yocto architecture strings to the strict naming convention expected by crash
case ${TARGET_ARCH} in
aarch64*) ARCH=ARM64 ;;
arm*) ARCH=ARM ;;
i*86*) ARCH=X86 ;;
x86_64*) ARCH=X86_64 ;;
powerpc64*) ARCH=PPC64 ;;
powerpc*) ARCH=PPC ;;
mips*) ARCH=MIPS ;;
aarch64*) ARCH_UPPER=ARM64 ;;
arm*) ARCH_UPPER=ARM ;;
i*86*) ARCH_UPPER=X86 ;;
x86_64*) ARCH_UPPER=X86_64 ;;
powerpc64*) ARCH_UPPER=PPC64 ;;
powerpc*) ARCH_UPPER=PPC ;;
mips*) ARCH_UPPER=MIPS ;;
*) ARCH_UPPER=$(echo "${TARGET_ARCH}" | tr '[:lower:]' '[:upper:]') ;;
esac
sed -i s/FORCE_DEFINE_ARCH/"${ARCH}"/g ${S}/configure.c
bbnote "Staging pre-unpacked GDB 16.2 source tree into active build workspace layout..."
rm -rf ${B}/gdb-16.2
# 2. Copy the official clean GNU tarball source footprint into the active workspace mapping
cp -rf ${UNPACKDIR}/gdb/gdb-16.2 ${B}/gdb-16.2
# 3. Initialize the localized tracking repository required by the crash build architecture
pushd ${B}/gdb-16.2/
git init
git add .
git commit -m "initial commit"
popd
bbnote "Writing dynamic target layout architecture context: ${ARCH_UPPER}"
echo "${ARCH_UPPER}" > ${B}/gdb-16.2/crash.target
# 4. Apply your original configuration text manipulations natively
sed -i s/FORCE_DEFINE_ARCH/"${ARCH_UPPER}"/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
sed -i -e 's/#define TARGET_CFLAGS_MIPS_ON_X86_64.*/#define TARGET_CFLAGS_MIPS_ON_X86_64\t\"TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64\"/g' ${S}/configure.c
sed -i 's/&gt;/>/g' ${S}/Makefile
# 5. Return to the active workspace build root to merge downstream additions
cd ${B}
bbnote "Applying the native upstream crash integration patch onto the GDB source tree..."
patch -p0 --fuzz=3 < gdb-16.2.patch
pushd ${B}/gdb-16.2/
git add .
git commit -m "after upstream crash gdb-16.2.patch"
popd
}
do_compile() {
oe_runmake ${EXTRA_OEMAKE} RECIPE_SYSROOT=${RECIPE_SYSROOT}
oe_runmake ${EXTRA_OEMAKE} CC="${CC}" CXX="${CXX}" RECIPE_SYSROOT=${RECIPE_SYSROOT}
}
do_install:prepend () {
@ -88,9 +131,11 @@ do_install:prepend () {
RDEPENDS:${PN} += "liblzma"
# 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 -
ARM_INSTRUCTION_SET = "arm"
# http://errors.yoctoproject.org/Errors/Details/186964/
COMPATIBLE_HOST:libc-musl = 'null'
# WARNING: crash-9.0.2-r0 do_package_qa: QA Issue: File /usr/bin/crash in package crash contains reference to TMPDIR [buildpaths]
#
# WARNING: crash-cross-canadian-aarch64-9.0.2-r0 do_package_qa: QA Issue: File /opt/phytec-ampliphy-resy-systemd/6.0.98-devel/sysroots/x86_64-resysdk-linux/usr/bin/aarch64-resy-linux/crash in package crash-cross-canadian-aarch64 contains reference to TMPDIR [buildpaths]
#
ERROR_QA:remove = "buildpaths"
WARN_QA:append = " buildpaths"

View File

@ -1,7 +1,7 @@
From 6ad5e9302057e157ab701880a8543ca59058df2d Mon Sep 17 00:00:00 2001
From df98eb38b680fd633a6e87679d7267252849764d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?K=C3=A9l=C3=A9fa=20San=C3=A9?= <kelefa.sane@smile.fr>
Date: Fri, 16 May 2025 16:18:28 +0200
Subject: [PATCH v2] Use CC env var to get compiler version
Subject: [PATCH] Use CC env var to get compiler version
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@ -19,15 +19,16 @@ compiler version, when the CC env var is define.
Upstream-Status: Submitted [https://lists.crash-utility.osci.io/archives/list/devel@lists.crash-utility.osci.io/thread/V3G3QH3YW6WZWD56TVTFQIHYLZ33UIJL/]
Signed-off-by: Kéléfa Sané <kelefa.sane@smile.fr>
Signed-off-by: Robert Berger <Robert.Berger@ReliableEmbeddedSystems.com>
---
configure.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/configure.c b/configure.c
index 4668c9a..4b65bd7 100644
index 6e39d87..74e88b7 100644
--- a/configure.c
+++ b/configure.c
@@ -1362,7 +1362,17 @@ make_build_data(char *target)
@@ -1381,7 +1381,17 @@ make_build_data(char *target)
fp1 = popen("date", "r");
fp2 = popen("id", "r");

View File

@ -1,34 +0,0 @@
From e3ba432243d9be4e845daabc78a0ae7c03c680f5 Mon Sep 17 00:00:00 2001
From: Lei Maohui <leimaohui@cn.fujitsu.com>
Date: Fri, 9 Jan 2015 11:51:18 +0900
Subject: [PATCH] cross_add_configure_option
---
Upstream-Status: Pending
Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index 7266e305..390fc0ef 100644
--- a/Makefile
+++ b/Makefile
@@ -260,7 +260,7 @@ gdb_merge: force
@echo "../../${PROGRAM} ../../${PROGRAM}lib.a" > ${GDB}/gdb/mergeobj
@rm -f ${PROGRAM}
@if [ ! -f ${GDB}/config.status ]; then \
- (cd ${GDB}; ./configure ${GDB_CONF_FLAGS} --with-separate-debug-dir=/usr/lib/debug \
+ (cd ${GDB}; ./configure --host=${GDB_TARGET} --build=${GDB_HOST} --with-separate-debug-dir=/usr/lib/debug \
--with-bugurl="" --with-expat=no --with-python=no --disable-sim; \
$(MAKE) CRASH_TARGET=${TARGET}; echo ${TARGET} > crash.target) \
else $(MAKE) rebuild; fi
@@ -306,7 +306,7 @@ force:
make_configure: force
@rm -f configure
- @${CC} ${CONF_FLAGS} -o configure configure.c ${WARNING_ERROR} ${WARNING_OPTIONS}
+ @${BUILD_CC} ${CONF_FLAGS} -o configure configure.c ${WARNING_ERROR} ${WARNING_OPTIONS}
clean: make_configure
@./configure ${CONF_TARGET_FLAG} -q -b

View File

@ -1,4 +1,4 @@
From 329bd56da28fc1b5b53a60ca2172643d2090435d Mon Sep 17 00:00:00 2001
From 35a721485f2a20ebb18d9f4ab48b7cf293369a70 Mon Sep 17 00:00:00 2001
From: Tao Liu <ltao@redhat.com>
Date: Fri, 13 Dec 2024 08:36:03 +0000
Subject: [PATCH] symbol: fix -S cannot work with kaslr detection
@ -15,15 +15,16 @@ Upstream-Status: Pending
[https://lists.crash-utility.osci.io/archives/list/devel@lists.crash-utility.osci.io/thread/5OXNYPPU6GLLQKCWH7WBNBJXLNZ4EBZD/]
Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Robert Berger <Robert.Berger@ReliableEmbeddedSystems.com>
---
symbols.c | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/symbols.c b/symbols.c
index a3cd0f3..6062d21 100644
index e6865ca..0028874 100644
--- a/symbols.c
+++ b/symbols.c
@@ -25,7 +25,7 @@
@@ -26,7 +26,7 @@
static void store_symbols(bfd *, int, void *, long, unsigned int);
static void store_sysmap_symbols(void);
@ -32,7 +33,7 @@ index a3cd0f3..6062d21 100644
static int relocate_force(ulong, char *);
static void kaslr_init(void);
static void strip_module_symbol_end(char *s);
@@ -230,6 +230,7 @@ symtab_init(void)
@@ -231,6 +231,7 @@ symtab_init(void)
DEBUGINFO_ERROR_MESSAGE1 :
DEBUGINFO_ERROR_MESSAGE2);
}
@ -40,7 +41,7 @@ index a3cd0f3..6062d21 100644
store_sysmap_symbols();
return;
} else if (LKCD_KERNTYPES())
@@ -817,7 +818,7 @@ store_symbols(bfd *abfd, int dynamic, void *minisyms, long symcount,
@@ -818,7 +819,7 @@ store_symbols(bfd *abfd, int dynamic, void *minisyms, long symcount,
syminfo.type)) {
if (kt->flags & (RELOC_SET|RELOC_FORCE))
sp->value = relocate(syminfo.value,
@ -49,7 +50,7 @@ index a3cd0f3..6062d21 100644
else
sp->value = syminfo.value;
sp->type = syminfo.type;
@@ -893,9 +894,9 @@ store_sysmap_symbols(void)
@@ -894,9 +895,9 @@ store_sysmap_symbols(void)
if (machdep->verify_symbol(name, syment.value,
syment.type)) {
@ -61,7 +62,7 @@ index a3cd0f3..6062d21 100644
else
sp->value = syment.value;
sp->type = syment.type;
@@ -924,7 +925,7 @@ store_sysmap_symbols(void)
@@ -925,7 +926,7 @@ store_sysmap_symbols(void)
* are not as loaded into the kernel (not unity-mapped).
*/
static ulong
@ -70,7 +71,7 @@ index a3cd0f3..6062d21 100644
{
if (XEN_HYPER_MODE()) {
kt->flags &= ~(RELOC_SET|RELOC_FORCE);
@@ -937,9 +938,10 @@ relocate(ulong symval, char *symname, int first_symbol)
@@ -938,9 +939,10 @@ relocate(ulong symval, char *symname, int first_symbol)
break;
case RELOC_FORCE:
@ -84,6 +85,3 @@ index a3cd0f3..6062d21 100644
}
if (machine_type("X86_64")) {
--
2.35.5

View File

@ -1,85 +0,0 @@
From 0f39e33d3504f3a17b83574c3be97640460b7eef Mon Sep 17 00:00:00 2001
From: "Guanyou.Chen" <chenguanyou@xiaomi.com>
Date: Wed, 25 Dec 2024 23:50:28 +0800
Subject: [PATCH] arm64: add pac mask to better support gdb stack unwind
Currently, gdb passthroughs of 'bt', 'frame', 'up', 'down',
'info, locals' don't work on arm64 machine enabled pauth.
This is because gdb does not know the lr register actual values
to unwind the stack frames.
Without the patch:
crash> gdb bt
#0 __switch_to (prev=0xffffff8001af92c0, next=0xffffff889da7a580) at /proc/self/cwd/common/arch/arm64/kernel/process.c:569
#1 0x9fc5c5d3602132c0 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
With the patch:
crash> gdb bt
#0 __switch_to (prev=prev@entry=0xffffff8001af92c0, next=next@entry=0xffffff889da7a580) at /proc/self/cwd/common/arch/arm64/kernel/process.c:569
#1 0xffffffd3602132c0 in context_switch (rq=0xffffff8a7295a080, prev=0xffffff8001af92c0, next=0xffffff889da7a580, rf=<optimized out>) at /proc/self/cwd/common/kernel/sched/core.c:5515
#2 __schedule (sched_mode=<optimized out>, sched_mode@entry=2147859424) at /proc/self/cwd/common/kernel/sched/core.c:6843
#3 0xffffffd3602136d8 in schedule () at /proc/self/cwd/common/kernel/sched/core.c:6917
...
Signed-off-by: Guanyou.Chen <chenguanyou@xiaomi.com>
Signed-off-by: mark.yang <mark.yang@lge.com>
Upstream-Status: Backport [0f39e33 arm64: add pac mask to better support gdb stack unwind]
---
gdb-10.2.patch | 23 +++++++++++++++++++++++
gdb_interface.c | 10 ++++++++++
2 files changed, 33 insertions(+)
diff --git a/gdb-10.2.patch b/gdb-10.2.patch
index c867660..fd6fadb 100644
--- a/gdb-10.2.patch
+++ b/gdb-10.2.patch
@@ -16216,3 +16216,26 @@ exit 0
printf_filtered (_("Backtrace stopped: %s\n"),
frame_stop_reason_string (trailing));
}
+--- gdb-10.2/gdb/frame.c.orig
++++ gdb-10.2/gdb/frame.c
+@@ -944,6 +944,10 @@ frame_find_by_id (struct frame_id id)
+ return NULL;
+ }
+
++#ifdef CRASH_MERGE
++extern "C" void crash_decode_ptrauth_pc(ulong* pc);
++#endif
++
+ static CORE_ADDR
+ frame_unwind_pc (struct frame_info *this_frame)
+ {
+@@ -974,6 +978,9 @@ frame_unwind_pc (struct frame_info *this_frame)
+ try
+ {
+ pc = gdbarch_unwind_pc (prev_gdbarch, this_frame);
++#ifdef CRASH_MERGE
++ crash_decode_ptrauth_pc(&pc);
++#endif
+ pc_p = true;
+ }
+ catch (const gdb_exception_error &ex)
diff --git a/gdb_interface.c b/gdb_interface.c
index 315711e..e108d09 100644
--- a/gdb_interface.c
+++ b/gdb_interface.c
@@ -1083,3 +1083,13 @@ int crash_get_current_task_reg (int regno, const char *regname,
return machdep->get_current_task_reg(regno, regname, regsize, value);
}
+/* arm64 kernel lr maybe has patuh */
+void crash_decode_ptrauth_pc(ulong *pc);
+void crash_decode_ptrauth_pc(ulong *pc)
+{
+#ifdef ARM64
+ struct machine_specific *ms = machdep->machspec;
+ if (is_kernel_text(*pc | ms->CONFIG_ARM64_KERNELPACMASK))
+ *pc |= ms->CONFIG_ARM64_KERNELPACMASK;
+#endif /* !ARM64 */
+}
--
2.34.1

View File

@ -1,136 +0,0 @@
From 772fbb1022911410b5fb773fde37910fc8286041 Mon Sep 17 00:00:00 2001
From: Lianbo Jiang <lijiang@redhat.com>
Date: Fri, 24 Jan 2025 16:12:40 +0800
Subject: [PATCH] Fix build failure in readline lib
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This is a backported patch from gdb upstream, see the commit
425f843d58c5 ("Import GNU Readline 8.2"), and only backported
patch related to compilation errors.
Without the patch:
signals.c: In function _rl_handle_signal:
signals.c:62:36: error: return with a value, in function returning void [-Wreturn-mismatch]
62 | # define SIGHANDLER_RETURN return (0)
| ^
signals.c:290:3: note: in expansion of macro SIGHANDLER_RETURN
290 | SIGHANDLER_RETURN;
| ^~~~~~~~~~~~~~~~~
signals.c:178:1: note: declared here
178 | _rl_handle_signal (int sig)
| ^~~~~~~~~~~~~~~~~
signals.c: In function rl_sigwinch_handler:
signals.c:306:32: error: passing argument 2 of rl_set_sighandler from incompatible pointer type [-Wincompatible-pointer-types]
306 | rl_set_sighandler (SIGWINCH, rl_sigwinch_handler, &dummy_winch);
| ^~~~~~~~~~~~~~~~~~~
| |
| void (*)(int)
In file included from rldefs.h:31,
from signals.c:37:
signals.c:81:51: note: expected void (*)(void) but argument is of type void (*)(int)
81 | static SigHandler *rl_set_sighandler PARAMS((int, SigHandler *, sighandler_cxt *));
Note: the current build failure was observed on gcc (GCC) 15.0.0.
Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Signed-off-by: mark.yang <mark.yang@lge.com>
Upstream-Status: Backport [772fbb1 Fix build failure in readline lib]
---
gdb-10.2.patch | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 82 insertions(+)
diff --git a/gdb-10.2.patch b/gdb-10.2.patch
index fd6fadb..8f5d7db 100644
--- a/gdb-10.2.patch
+++ b/gdb-10.2.patch
@@ -16239,3 +16239,85 @@ exit 0
pc_p = true;
}
catch (const gdb_exception_error &ex)
+--- gdb-10.2/readline/readline/signals.c.orig
++++ gdb-10.2/readline/readline/signals.c
+@@ -48,23 +48,11 @@
+
+ #if defined (HANDLE_SIGNALS)
+
+-#if !defined (RETSIGTYPE)
+-# if defined (VOID_SIGHANDLER)
+-# define RETSIGTYPE void
+-# else
+-# define RETSIGTYPE int
+-# endif /* !VOID_SIGHANDLER */
+-#endif /* !RETSIGTYPE */
+-
+-#if defined (VOID_SIGHANDLER)
+-# define SIGHANDLER_RETURN return
+-#else
+-# define SIGHANDLER_RETURN return (0)
+-#endif
++#define SIGHANDLER_RETURN return
+
+ /* This typedef is equivalent to the one for Function; it allows us
+ to say SigHandler *foo = signal (SIGKILL, SIG_IGN); */
+-typedef RETSIGTYPE SigHandler ();
++typedef void SigHandler (int);
+
+ #if defined (HAVE_POSIX_SIGNALS)
+ typedef struct sigaction sighandler_cxt;
+@@ -78,12 +66,12 @@ typedef struct { SigHandler *sa_handler; int sa_mask, sa_flags; } sighandler_cxt
+ # define SA_RESTART 0
+ #endif
+
+-static SigHandler *rl_set_sighandler PARAMS((int, SigHandler *, sighandler_cxt *));
+-static void rl_maybe_set_sighandler PARAMS((int, SigHandler *, sighandler_cxt *));
+-static void rl_maybe_restore_sighandler PARAMS((int, sighandler_cxt *));
++static SigHandler *rl_set_sighandler (int, SigHandler *, sighandler_cxt *);
++static void rl_maybe_set_sighandler (int, SigHandler *, sighandler_cxt *);
++static void rl_maybe_restore_sighandler (int, sighandler_cxt *);
+
+-static RETSIGTYPE rl_signal_handler PARAMS((int));
+-static RETSIGTYPE _rl_handle_signal PARAMS((int));
++static void rl_signal_handler (int);
++static void _rl_handle_signal (int);
+
+ /* Exported variables for use by applications. */
+
+@@ -137,7 +125,7 @@ void *_rl_sigcleanarg;
+ /* Readline signal handler functions. */
+
+ /* Called from RL_CHECK_SIGNALS() macro */
+-RETSIGTYPE
++void
+ _rl_signal_handler (int sig)
+ {
+ _rl_caught_signal = 0; /* XXX */
+@@ -160,7 +148,7 @@ _rl_signal_handler (int sig)
+ SIGHANDLER_RETURN;
+ }
+
+-static RETSIGTYPE
++static void
+ rl_signal_handler (int sig)
+ {
+ if (_rl_interrupt_immediately)
+@@ -174,7 +162,7 @@ rl_signal_handler (int sig)
+ SIGHANDLER_RETURN;
+ }
+
+-static RETSIGTYPE
++static void
+ _rl_handle_signal (int sig)
+ {
+ #if defined (HAVE_POSIX_SIGNALS)
+@@ -291,7 +279,7 @@ _rl_handle_signal (int sig)
+ }
+
+ #if defined (SIGWINCH)
+-static RETSIGTYPE
++static void
+ rl_sigwinch_handler (int sig)
+ {
+ SigHandler *oh;

View File

@ -1,60 +0,0 @@
From 325a9d1b3b4ce76bf4556235c885e619e219622c Mon Sep 17 00:00:00 2001
From: Lianbo Jiang <lijiang@redhat.com>
Date: Fri, 24 Jan 2025 15:32:59 +0800
Subject: [PATCH] tools.c: do not use keywords 'nullptr' as a variable in code
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Without the patch:
tools.c: In function drop_core:
tools.c:6251:23: error: expected identifier or ( before nullptr
6251 | volatile int *nullptr;
| ^~~~~~~
tools.c:6259:17: error: lvalue required as left operand of assignment
6259 | nullptr = NULL;
| ^
tools.c:6261:21: error: invalid type argument of unary * (have typeof (nullptr))
6261 | i = *nullptr;
| ^~~~~~~~
make[6]: *** [Makefile:345: tools.o] Error 1
Note: this was observed on gcc version 15.0.1
Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Signed-off-by: mark.yang <mark.yang@lge.com>
Upstream-Status: Backport [325a9d1 tools.c: do not use keywords 'nullptr' as a variable in code]
---
tools.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools.c b/tools.c
index 85d8b6f..c9305be 100644
--- a/tools.c
+++ b/tools.c
@@ -6248,7 +6248,7 @@ lowest_bit_long(ulong val)
void
drop_core(char *s)
{
- volatile int *nullptr;
+ volatile int *ptr;
int i ATTRIBUTE_UNUSED;
if (s && ascii_string(s))
@@ -6256,9 +6256,9 @@ drop_core(char *s)
kill((pid_t)pc->program_pid, 3);
- nullptr = NULL;
+ ptr = NULL;
while (TRUE)
- i = *nullptr;
+ i = *ptr;
}
--
2.34.1

View File

@ -1,83 +0,0 @@
From 2724bb1d0260f3886f8a3d533838caf80c7e61e5 Mon Sep 17 00:00:00 2001
From: Lianbo Jiang <lijiang@redhat.com>
Date: Fri, 24 Jan 2025 17:56:23 +0800
Subject: [PATCH 10/10] Fix build failure on 32bit machine(i686)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This issue was caused by commit 0f39e33d3504 with the following
compilation error:
frame.c: In function CORE_ADDR frame_unwind_pc(frame_info*):
frame.c:982:35: error: cannot convert CORE_ADDR* {aka long long unsigned int*} to ulong* {aka long unsigned int*}
982 | crash_decode_ptrauth_pc(&pc);
| ^~~
| |
| CORE_ADDR* {aka long long unsigned int*}
frame.c:948:48: note: initializing argument 1 of void crash_decode_ptrauth_pc(ulong*)
948 | extern "C" void crash_decode_ptrauth_pc(ulong* pc);
| ~~~~~~~^~
Upstream-Status: Backport [https://github.com/crash-utility/crash/commit/2724bb1d0260f3886f8a3d533838caf80c7e61e5]
Fixes: 0f39e33d3504 ("arm64: add pac mask to better support gdb stack unwind")
Reported-by: Guanyou.Chen <chenguanyou@xiaomi.com>
Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
---
gdb-10.2.patch | 6 +++---
gdb_interface.c | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/gdb-10.2.patch b/gdb-10.2.patch
index 8f5d7db22840..d22f2d6d75bc 100644
--- a/gdb-10.2.patch
+++ b/gdb-10.2.patch
@@ -55,7 +55,7 @@ exit 0
# your system doesn't have fcntl.h in /usr/include (which is where it
# should be according to Posix).
-DEFS = @DEFS@
-+DEFS = -DCRASH_MERGE @DEFS@
++DEFS = -DCRASH_MERGE -D${CRASH_TARGET} @DEFS@
GDB_CFLAGS = -I. -I$(srcdir) -I$(srcdir)/config \
-DLOCALEDIR="\"$(localedir)\"" $(DEFS)
@@ -16222,7 +16222,7 @@ exit 0
return NULL;
}
-+#ifdef CRASH_MERGE
++#if defined(CRASH_MERGE) && defined(ARM64)
+extern "C" void crash_decode_ptrauth_pc(ulong* pc);
+#endif
+
@@ -16233,7 +16233,7 @@ exit 0
try
{
pc = gdbarch_unwind_pc (prev_gdbarch, this_frame);
-+#ifdef CRASH_MERGE
++#if defined(CRASH_MERGE) && defined(ARM64)
+ crash_decode_ptrauth_pc(&pc);
+#endif
pc_p = true;
diff --git a/gdb_interface.c b/gdb_interface.c
index e108d097ee5f..c2e99f5c156a 100644
--- a/gdb_interface.c
+++ b/gdb_interface.c
@@ -1084,12 +1084,12 @@ int crash_get_current_task_reg (int regno, const char *regname,
}
/* arm64 kernel lr maybe has patuh */
+#ifdef ARM64
void crash_decode_ptrauth_pc(ulong *pc);
void crash_decode_ptrauth_pc(ulong *pc)
{
-#ifdef ARM64
struct machine_specific *ms = machdep->machspec;
if (is_kernel_text(*pc | ms->CONFIG_ARM64_KERNELPACMASK))
*pc |= ms->CONFIG_ARM64_KERNELPACMASK;
-#endif /* !ARM64 */
}
+#endif /* !ARM64 */
--
2.47.1

View File

@ -1,15 +0,0 @@
Upstream-Status: Pending
diff -uprN crash-5.1.8.org/configure.c crash-5.1.8/configure.c
--- crash-5.1.8.org/configure.c 2011-09-17 04:01:12.000000000 +0900
+++ crash-5.1.8/configure.c 2012-09-13 13:28:45.393344108 +0900
@@ -391,6 +391,9 @@ get_current_configuration(struct support
arch_mismatch(sp);
}
+ /** Force define archtecture */
+ target_data.target = FORCE_DEFINE_ARCH;
+
if ((fp = fopen("Makefile", "r")) == NULL) {
perror("Makefile");
goto get_release;

View File

@ -1,19 +1,19 @@
From 2f200ceed289f935b5e7ec230454a22dd76e42b0 Mon Sep 17 00:00:00 2001
From 72921a32cc2c1df390265e8c4e205bc5ba2b985d Mon Sep 17 00:00:00 2001
From: leimaohui <leimaohui@cn.fujitsu.com>
Date: Mon, 12 Jan 2015 11:52:35 +0800
Subject: [PATCH] crash: add new recipe
---
Upstream-Status: Pending
Signed-off-by: Robert.Berger <Robert.Berger@ReliableEmbeddedSystems.com>
---
Makefile | 1 +
1 file changed, 1 insertion(+)
diff --git a/Makefile b/Makefile
index 79aef176..7266e305 100644
index 58b1326..f2c945a 100644
--- a/Makefile
+++ b/Makefile
@@ -295,6 +295,7 @@ gdb_patch:
@@ -349,6 +349,7 @@ gdb_patch:
library: ${OBJECT_FILES}
ar -rs ${PROGRAM}lib.a ${OBJECT_FILES}

View File

@ -1,45 +0,0 @@
From 8b882650b730cb6e025d47d65574f43549b7a1a3 Mon Sep 17 00:00:00 2001
From: Mingli Yu <mingli.yu@windriver.com>
Date: Thu, 9 Mar 2023 10:28:28 +0800
Subject: [PATCH] Makefile: Put gdb source tarball in SRC_URI
Put gdb source tarball in SRC_URI and don't fetch and extract it during
do_compile.
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
Makefile | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/Makefile b/Makefile
index 79aef17..146da6a 100644
--- a/Makefile
+++ b/Makefile
@@ -254,7 +254,7 @@ all: make_configure
# @$(MAKE) extensions
gdb_merge: force
- @if [ ! -f ${GDB}/README ]; then \
+ @if [ ! -f ${GDB}/${GDB}.patch ]; then \
$(MAKE) gdb_unzip; fi
@echo "${LDFLAGS} -lz -ldl -rdynamic" > ${GDB}/gdb/mergelibs
@echo "../../${PROGRAM} ../../${PROGRAM}lib.a" > ${GDB}/gdb/mergeobj
@@ -281,12 +281,6 @@ gdb_unzip:
@rm -f gdb.files
@for FILE in ${GDB_FILES} dummy; do\
echo $$FILE >> gdb.files; done
- @if [ ! -f ${GDB}.tar.gz ] && [ ! -f /usr/bin/wget ]; then \
- echo /usr/bin/wget is required to download ${GDB}.tar.gz; echo; exit 1; fi
- @if [ ! -f ${GDB}.tar.gz ] && [ -f /usr/bin/wget ]; then \
- [ ! -t 2 ] && WGET_OPTS="--progress=dot:mega"; \
- wget $$WGET_OPTS http://ftp.gnu.org/gnu/gdb/${GDB}.tar.gz; fi
- @tar --exclude-from gdb.files -xzmf ${GDB}.tar.gz
@$(MAKE) gdb_patch
gdb_patch:
--
2.25.1

View File

@ -1,4 +1,4 @@
From af49d8df559aa18f97d14ab7971f211238a16041 Mon Sep 17 00:00:00 2001
From 43d02dfa24f9f04e60911593e47e9cc2d68562e3 Mon Sep 17 00:00:00 2001
From: Mingli Yu <mingli.yu@windriver.com>
Date: Thu, 9 Mar 2023 10:50:10 +0800
Subject: [PATCH] Makefile: Don't write ${TARGET} to crash.target
@ -14,17 +14,18 @@ Don't write ${TARGET} to crash.target which causes rebuild fails.
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Robert Berger <Robert.Berger@ReliableEmbeddedSystems.com>
---
Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index cd25c7d..d61c4c5 100644
index f2c945a..9fdb29b 100644
--- a/Makefile
+++ b/Makefile
@@ -262,8 +262,8 @@ gdb_merge: force
@@ -316,8 +316,8 @@ gdb_merge: force
@if [ ! -f ${GDB}/config.status ]; then \
(cd ${GDB}; ./configure --host=${GDB_TARGET} --build=${GDB_HOST} --with-separate-debug-dir=/usr/lib/debug \
(cd ${GDB}; ./configure ${GDB_CONF_FLAGS} --with-separate-debug-dir=/usr/lib/debug \
--with-bugurl="" --with-expat=no --with-python=no --disable-sim; \
- $(MAKE) CRASH_TARGET=${TARGET}; echo ${TARGET} > crash.target) \
- else $(MAKE) rebuild; fi
@ -33,6 +34,3 @@ index cd25c7d..d61c4c5 100644
@if [ ! -f ${PROGRAM} ]; then \
echo; echo "${PROGRAM} build failed"; \
echo; exit 1; fi
--
2.25.1

View File

@ -1,6 +1,5 @@
require crash.inc
BBCLASSEXTEND = "native cross"
EXTRA_OEMAKE:class-cross = 'RPMPKG="${PV}" \