From eb8dc40360f0cfef56fb6947cc817a547d6d9bc6 Mon Sep 17 00:00:00 2001 From: Dave Cobbley Date: Tue, 14 Aug 2018 10:05:37 -0700 Subject: [Subtree] Removing import-layers directory As part of the move to subtrees, need to bring all the import layers content to the top level. Change-Id: I4a163d10898cbc6e11c27f776f60e1a470049d8f Signed-off-by: Dave Cobbley Signed-off-by: Brad Bishop --- .../crash/0001-cross_add_configure_option.patch | 35 +++++++ ...uild-error-unknown-type-name-gdb_fpregset.patch | 36 +++++++ ...sh-detect-the-sysroot-s-glibc-header-file.patch | 33 ++++++ .../crash/7001force_define_architecture.patch | 13 +++ .../crash/crash/7003cross_ranlib.patch | 10 ++ .../crash/crash/config-site.crash-7.0.9 | 1 + .../donnot-extract-gdb-during-do-compile.patch | 32 ++++++ ...gdb_build_jobs_and_not_write_crash_target.patch | 26 +++++ ...move-unrecognized-gcc-option-m32-for-mips.patch | 33 ++++++ ...mon-sim-arange-fix-extern-inline-handling.patch | 79 ++++++++++++++ .../sim-ppc-drop-LIBS-from-psim-dependency.patch | 37 +++++++ .../meta-oe/recipes-kernel/crash/crash_7.2.0.bb | 115 +++++++++++++++++++++ 12 files changed, 450 insertions(+) create mode 100644 meta-openembedded/meta-oe/recipes-kernel/crash/crash/0001-cross_add_configure_option.patch create mode 100644 meta-openembedded/meta-oe/recipes-kernel/crash/crash/0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch create mode 100644 meta-openembedded/meta-oe/recipes-kernel/crash/crash/0003-crash-detect-the-sysroot-s-glibc-header-file.patch create mode 100644 meta-openembedded/meta-oe/recipes-kernel/crash/crash/7001force_define_architecture.patch create mode 100644 meta-openembedded/meta-oe/recipes-kernel/crash/crash/7003cross_ranlib.patch create mode 100644 meta-openembedded/meta-oe/recipes-kernel/crash/crash/config-site.crash-7.0.9 create mode 100644 meta-openembedded/meta-oe/recipes-kernel/crash/crash/donnot-extract-gdb-during-do-compile.patch create mode 100644 meta-openembedded/meta-oe/recipes-kernel/crash/crash/gdb_build_jobs_and_not_write_crash_target.patch create mode 100644 meta-openembedded/meta-oe/recipes-kernel/crash/crash/remove-unrecognized-gcc-option-m32-for-mips.patch create mode 100644 meta-openembedded/meta-oe/recipes-kernel/crash/crash/sim-common-sim-arange-fix-extern-inline-handling.patch create mode 100644 meta-openembedded/meta-oe/recipes-kernel/crash/crash/sim-ppc-drop-LIBS-from-psim-dependency.patch create mode 100644 meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.0.bb (limited to 'meta-openembedded/meta-oe/recipes-kernel/crash') diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0001-cross_add_configure_option.patch b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0001-cross_add_configure_option.patch new file mode 100644 index 000000000..26a34e5c1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0001-cross_add_configure_option.patch @@ -0,0 +1,35 @@ +From 73269df4d8196abe81112acaa2613155b308a8b8 Mon Sep 17 00:00:00 2001 +From: Lei Maohui +Date: Fri, 9 Jan 2015 11:51:18 +0900 +Subject: [PATCH 1/9] cross_add_configure_option + +%% original patch: 0001-cross_add_configure_option.patch +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index a2baec1..f1972c8 100644 +--- a/Makefile ++++ b/Makefile +@@ -232,7 +232,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 --no-print-directory CRASH_TARGET=${TARGET}; echo ${TARGET} > crash.target) \ + else make --no-print-directory rebuild; fi +@@ -283,7 +283,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 +-- +2.8.1 + diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch new file mode 100644 index 000000000..8355fe44e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch @@ -0,0 +1,36 @@ +From 52fc1a7c17768fd52c3577d21dad84e8babb94b5 Mon Sep 17 00:00:00 2001 +From: Dengke Du +Date: Thu, 6 Apr 2017 23:01:14 -0400 +Subject: [PATCH 2/3] crash: fix build error unknown type name 'gdb_fpregset_t' + +Upstream-Status: Pending + +Signed-off-by: Dengke Du +--- + gdb-7.6/gdb/gdb_proc_service.h | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/gdb-7.6/gdb/gdb_proc_service.h b/gdb-7.6/gdb/gdb_proc_service.h +index 8bc6088..99c6496 100644 +--- a/gdb-7.6/gdb/gdb_proc_service.h ++++ b/gdb-7.6/gdb/gdb_proc_service.h +@@ -20,6 +20,7 @@ + #define GDB_PROC_SERVICE_H + + #include ++#include "gregset.h" + + #ifdef HAVE_PROC_SERVICE_H + #include +@@ -53,8 +54,6 @@ + #include + #endif + +-#include "gregset.h" +- + /* Functions in this interface return one of these status codes. */ + typedef enum + { +-- +2.8.1 + diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0003-crash-detect-the-sysroot-s-glibc-header-file.patch b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0003-crash-detect-the-sysroot-s-glibc-header-file.patch new file mode 100644 index 000000000..1f4bd01da --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0003-crash-detect-the-sysroot-s-glibc-header-file.patch @@ -0,0 +1,33 @@ +From c7950ef5228adc52a500b4fc67d7e48c3c09c1df Mon Sep 17 00:00:00 2001 +From: Dengke Du +Date: Thu, 6 Apr 2017 23:02:44 -0400 +Subject: [PATCH 3/3] crash: detect the sysroot's glibc header file + +This is cross compile, so let the Makefile detect the sysroot's glibc +header file, not the host's glibc header file. + +Upstream-Status: Pending + +Signed-off-by: Dengke Du +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index b6b7e80..94f21a5 100644 +--- a/Makefile ++++ b/Makefile +@@ -264,8 +264,8 @@ gdb_patch: + if [ "${ARCH}" = "x86_64" ] && [ "${TARGET}" = "PPC64" ] && [ -f ${GDB}-ppc64le-support.patch ]; then \ + patch -d ${GDB} -p1 -F0 < ${GDB}-ppc64le-support.patch ; \ + fi +- if [ -f /usr/include/proc_service.h ]; then \ +- grep 'extern ps_err_e ps_get_thread_area (struct' /usr/include/proc_service.h; \ ++ if [ -f ${RECIPE_SYSROOT}/usr/include/proc_service.h ]; then \ ++ grep 'extern ps_err_e ps_get_thread_area (struct' ${RECIPE_SYSROOT}/usr/include/proc_service.h; \ + if [ $$? -eq 0 ]; then \ + patch -p0 < ${GDB}-proc_service.h.patch; \ + fi; \ +-- +2.8.1 + diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/7001force_define_architecture.patch b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/7001force_define_architecture.patch new file mode 100644 index 000000000..0d44c7f17 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/7001force_define_architecture.patch @@ -0,0 +1,13 @@ +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; diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/7003cross_ranlib.patch b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/7003cross_ranlib.patch new file mode 100644 index 000000000..d567fa0a8 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/7003cross_ranlib.patch @@ -0,0 +1,10 @@ +--- crash-5.1.8/Makefile.orig 2011-12-27 11:21:58.220652105 +0900 ++++ crash-5.1.8/Makefile 2011-12-27 11:22:29.563651593 +0900 +@@ -285,6 +285,7 @@ + + library: make_build_data ${OBJECT_FILES} + ar -rs ${PROGRAM}lib.a ${OBJECT_FILES} ++ ${RANLIB} ${PROGRAM}lib.a + + gdb: force + rm -f ${GDB_OFILES} diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/config-site.crash-7.0.9 b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/config-site.crash-7.0.9 new file mode 100644 index 000000000..d6fc22fb3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/config-site.crash-7.0.9 @@ -0,0 +1 @@ +bash_cv_have_mbstate_t=yes diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/donnot-extract-gdb-during-do-compile.patch b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/donnot-extract-gdb-during-do-compile.patch new file mode 100644 index 000000000..e254fe877 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/donnot-extract-gdb-during-do-compile.patch @@ -0,0 +1,32 @@ +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 +--- +diff --git a/Makefile b/Makefile +index bb0a34e..5eb7604 100644 +--- a/Makefile ++++ b/Makefile +@@ -226,7 +226,7 @@ all: make_configure + # @make --no-print-directory extensions + + gdb_merge: force +- @if [ ! -f ${GDB}/README ]; then \ ++ @if [ ! -f ${GDB}/${GDB}.patch ]; then \ + make --no-print-directory gdb_unzip; fi + @echo "${LDFLAGS} -lz -ldl -rdynamic" > ${GDB}/gdb/mergelibs + @echo "../../${PROGRAM} ../../${PROGRAM}lib.a" > ${GDB}/gdb/mergeobj +@@ -253,11 +253,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 \ +- wget http://ftp.gnu.org/gnu/gdb/${GDB}.tar.gz; fi +- @tar --exclude-from gdb.files -xvzmf ${GDB}.tar.gz + @make --no-print-directory gdb_patch + + gdb_patch: diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/gdb_build_jobs_and_not_write_crash_target.patch b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/gdb_build_jobs_and_not_write_crash_target.patch new file mode 100644 index 000000000..aa5f44dd4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/gdb_build_jobs_and_not_write_crash_target.patch @@ -0,0 +1,26 @@ +This enables parallel building (multiple jobs in gdb) by reading the +value from GDB_MAKE_JOBS. + +Signed-off-by: Amy Fong + +Upstream-Status: Pending + +Don't write ${TARGET} to crash.target which causes rebuild fails. + +Signed-off-by: Kai Kang +-- +diff --git a/Makefile b/Makefile +index 27a1d47..bcf2d2f 100644 +--- a/Makefile ++++ b/Makefile +@@ -232,8 +232,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 \ + --with-bugurl="" --with-expat=no --with-python=no --disable-sim; \ +- make --no-print-directory CRASH_TARGET=${TARGET}; echo ${TARGET} > crash.target) \ +- else make --no-print-directory rebuild; fi ++ make --no-print-directory CRASH_TARGET=${TARGET} ${GDB_MAKE_JOBS}; ) \ ++ else make --no-print-directory ${GDB_MAKE_JOBS} rebuild; fi + @if [ ! -f ${PROGRAM} ]; then \ + echo; echo "${PROGRAM} build failed"; \ + echo; exit 1; fi diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/remove-unrecognized-gcc-option-m32-for-mips.patch b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/remove-unrecognized-gcc-option-m32-for-mips.patch new file mode 100644 index 000000000..905b4c2cd --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/remove-unrecognized-gcc-option-m32-for-mips.patch @@ -0,0 +1,33 @@ +Upstream-Status: Pending + +It fails to build crash for mips with error: + +| mips-wrs-linux-gcc: error: unrecognized command line option '-m32' +| Makefile:291: recipe for target 'make_build_data' failed + +So remove the unrecognized option '-m32' for mips. + +Signed-off-by: Kai Kang +--- +diff --git a/configure.c b/configure.c +index cf1973b..71e97b3 100644 +--- a/configure.c ++++ b/configure.c +@@ -151,7 +151,7 @@ void add_extra_lib(char *); + #define TARGET_CFLAGS_PPC64_ON_X86_64 "TARGET_CFLAGS=" + #define TARGET_CFLAGS_MIPS "TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64" + #define TARGET_CFLAGS_MIPS_ON_X86 "TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64" +-#define TARGET_CFLAGS_MIPS_ON_X86_64 "TARGET_CFLAGS=-m32 -D_FILE_OFFSET_BITS=64" ++#define TARGET_CFLAGS_MIPS_ON_X86_64 "TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64" + #define TARGET_CFLAGS_SPARC64 "TARGET_CFLAGS=" + + #define GDB_TARGET_DEFAULT "GDB_CONF_FLAGS=" +@@ -162,7 +162,7 @@ void add_extra_lib(char *); + #define GDB_TARGET_ARM64_ON_X86_64 "GDB_CONF_FLAGS=--target=aarch64-elf-linux" /* TBD */ + #define GDB_TARGET_PPC64_ON_X86_64 "GDB_CONF_FLAGS=--target=powerpc64le-unknown-linux-gnu" + #define GDB_TARGET_MIPS_ON_X86 "GDB_CONF_FLAGS=--target=mipsel-elf-linux" +-#define GDB_TARGET_MIPS_ON_X86_64 "GDB_CONF_FLAGS=--target=mipsel-elf-linux CFLAGS=-m32" ++#define GDB_TARGET_MIPS_ON_X86_64 "GDB_CONF_FLAGS=--target=mipsel-elf-linux" + + /* + * The original plan was to allow the use of a particular version diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/sim-common-sim-arange-fix-extern-inline-handling.patch b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/sim-common-sim-arange-fix-extern-inline-handling.patch new file mode 100644 index 000000000..0185b5704 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/sim-common-sim-arange-fix-extern-inline-handling.patch @@ -0,0 +1,79 @@ +Upstream-Status: Backport + +https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=92fc615 + +Signed-off-by: Kai Kang +-- +From 92fc6153a6fdf2a027d9780f5945712aafad4a9e Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Sun, 29 Mar 2015 15:59:01 -0400 +Subject: [PATCH] sim: common: sim-arange: fix extern inline handling + +With newer versions of gcc (5.x), the extern inline we're using with the +sim-arange module no longer works. Since this code really wants the gnu +inline semantics, use that attribute explicitly. + +Reported-by: DJ Delorie +Reported-by: Joel Sherrill +--- + gdb-7.6/sim/common/sim-arange.h | 20 ++++++++++++-------- + gdb-7.6/sim/common/sim-inline.h | 4 +++- + 2 files changed, 15 insertions(+), 9 deletions(-) + +diff --git a/gdb-7.6/sim/common/sim-arange.h b/gdb-7.6/sim/common/sim-arange.h +index 73117f3..de842c9 100644 +--- a/gdb-7.6/sim/common/sim-arange.h ++++ b/gdb-7.6/sim/common/sim-arange.h +@@ -60,22 +60,26 @@ extern void sim_addr_range_delete (ADDR_RANGE * /*ar*/, + address_word /*start*/, + address_word /*end*/); + ++/* TODO: This should get moved into sim-inline.h. */ ++#ifdef HAVE_INLINE ++#ifdef SIM_ARANGE_C ++#define SIM_ARANGE_INLINE INLINE ++#else ++#define SIM_ARANGE_INLINE EXTERN_INLINE ++#endif ++#else ++#define SIM_ARANGE_INLINE EXTERN ++#endif ++ + /* Return non-zero if ADDR is in range AR, traversing the entire tree. + If no range is specified, that is defined to mean "everything". */ +-extern INLINE int ++SIM_ARANGE_INLINE int + sim_addr_range_hit_p (ADDR_RANGE * /*ar*/, address_word /*addr*/); + #define ADDR_RANGE_HIT_P(ar, addr) \ + ((ar)->range_tree == NULL || sim_addr_range_hit_p ((ar), (addr))) + + #ifdef HAVE_INLINE +-#ifdef SIM_ARANGE_C +-#define SIM_ARANGE_INLINE INLINE +-#else +-#define SIM_ARANGE_INLINE EXTERN_INLINE +-#endif + #include "sim-arange.c" +-#else +-#define SIM_ARANGE_INLINE + #endif + #define SIM_ARANGE_C_INCLUDED + +diff --git a/gdb-7.6/sim/common/sim-inline.h b/gdb-7.6/sim/common/sim-inline.h +index af75562..8a9c286 100644 +--- a/gdb-7.6/sim/common/sim-inline.h ++++ b/gdb-7.6/sim/common/sim-inline.h +@@ -303,7 +303,9 @@ + /* ??? Temporary, pending decision to always use extern inline and do a vast + cleanup of inline support. */ + #ifndef INLINE2 +-#if defined (__GNUC__) ++#if defined (__GNUC_GNU_INLINE__) || defined (__GNUC_STDC_INLINE__) ++#define INLINE2 __inline__ __attribute__ ((__gnu_inline__)) ++#elif defined (__GNUC__) + #define INLINE2 __inline__ + #else + #define INLINE2 /*inline*/ +-- +2.6.1 + diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/sim-ppc-drop-LIBS-from-psim-dependency.patch b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/sim-ppc-drop-LIBS-from-psim-dependency.patch new file mode 100644 index 000000000..77a287f14 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/sim-ppc-drop-LIBS-from-psim-dependency.patch @@ -0,0 +1,37 @@ +Upstream-Status: Backport + +https://sourceware.org/git/?p=binutils-gdb.git;h=0d8a6ab + +Signed-off-by: Kai Kang +--- +From 0d8a6ab7d39d28fb1557e2a62e9e4b336341ab34 Mon Sep 17 00:00:00 2001 +From: Aaro Koskinen +Date: Mon, 17 Feb 2014 17:12:59 -0500 +Subject: [PATCH] sim: ppc: drop $(LIBS) from psim dependency + +When cross-compiling GDB for PPC, there's a prerequisite "-lz" for psim +that results in a build failure. With such prerequisite, GNU Make will +try to search the library from build machine's /usr/lib which is wrong. +On 64-bit Linux build machines the compilation will fail because of this. + +URL: https://sourceware.org/bugzilla/show_bug.cgi?id=12202 +--- + sim/ppc/Makefile.in | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/gdb-7.6/sim/ppc/Makefile.in b/gdb-7.6/sim/ppc/Makefile.in +index b811f6f..740bdb0 100644 +--- a/gdb-7.6/sim/ppc/Makefile.in ++++ b/gdb-7.6/sim/ppc/Makefile.in +@@ -552,7 +552,7 @@ PACKAGE_SRC = @sim_pk_src@ + PACKAGE_OBJ = @sim_pk_obj@ + + +-psim: $(TARGETLIB) main.o $(LIBIBERTY_LIB) $(BFD_LIB) $(LIBS) $(LIBINTL_DEP) ++psim: $(TARGETLIB) main.o $(LIBIBERTY_LIB) $(BFD_LIB) $(LIBINTL_DEP) + $(CC) $(CFLAGS) $(SIM_CFLAGS) $(LDFLAGS) -o psim$(EXEEXT) main.o $(TARGETLIB) $(BFD_LIB) $(LIBINTL) $(LIBIBERTY_LIB) $(LIBS) + + run: psim +-- +1.9.4 + diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.0.bb b/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.0.bb new file mode 100644 index 000000000..9bea48e0d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.0.bb @@ -0,0 +1,115 @@ +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" +SECTION = "devel" + +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING3;md5=d32239bcb673463ab874e80d47fae504" + +DEPENDS = "zlib readline coreutils-native" + +SRC_URI = "https://github.com/crash-utility/${BPN}/archive/${PV}.tar.gz;downloadfilename=${BP}.tar.gz \ + http://ftp.gnu.org/gnu/gdb/gdb-7.6.tar.gz;name=gdb;subdir=${BP} \ + file://7001force_define_architecture.patch \ + file://7003cross_ranlib.patch \ + file://0001-cross_add_configure_option.patch \ + file://sim-ppc-drop-LIBS-from-psim-dependency.patch \ + file://sim-common-sim-arange-fix-extern-inline-handling.patch \ + file://donnot-extract-gdb-during-do-compile.patch \ + file://gdb_build_jobs_and_not_write_crash_target.patch \ + file://remove-unrecognized-gcc-option-m32-for-mips.patch \ + file://0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch \ + file://0003-crash-detect-the-sysroot-s-glibc-header-file.patch \ + " +SRC_URI[md5sum] = "48899de3118e04cfa40a2364f5618193" +SRC_URI[sha256sum] = "5d076e1fefb41aa178ad3e1cef6511670efc47de5cb04d4af9bdd4e8f2f18cbc" + +SRC_URI[gdb.md5sum] = "a9836707337e5f7bf76a009a8904f470" +SRC_URI[gdb.sha256sum] = "8070389a5dcc104eb0be483d582729f98ed4d761ad19cedd3f17b5d2502faa36" + +inherit gettext + +BBCLASSEXTEND = "native cross" +TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}" + +# crash 7.1.3 and before don't support mips64 +COMPATIBLE_HOST = "^(?!mips64).*" + +EXTRA_OEMAKE = 'RPMPKG="${PV}" \ + GDB_TARGET="${TARGET_SYS}" \ + GDB_HOST="${BUILD_SYS}" \ + GDB_MAKE_JOBS="${PARALLEL_MAKE}" \ + LDFLAGS="${LDFLAGS}" \ + ' + +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() { + : +} + +do_compile_prepend() { + 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 ;; + esac + + sed -i s/FORCE_DEFINE_ARCH/"${ARCH}"/g ${S}/configure.c + ${REMOVE_M32} + sed -i 's/>/>/g' ${S}/Makefile +} + +do_compile() { + oe_runmake ${EXTRA_OEMAKE} RECIPE_SYSROOT=${RECIPE_SYSROOT} +} + +do_install_prepend () { + install -d ${D}${bindir} + install -d ${D}/${mandir}/man8 + install -d ${D}${includedir}/crash + + install -m 0644 ${S}/crash.8 ${D}/${mandir}/man8/ + install -m 0644 ${S}/defs.h ${D}${includedir}/crash +} + +do_install_class-target () { + oe_runmake DESTDIR=${D} install +} + +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 - +ARM_INSTRUCTION_SET = "arm" -- cgit v1.2.3