aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordengke.du@windriver.com <dengke.du@windriver.com>2017-04-12 01:42:26 -0400
committerMartin Jansa <Martin.Jansa@gmail.com>2017-04-18 14:21:41 +0200
commitfc6963cefd3404d2d8793b9054f63fe14fd4a354 (patch)
tree3a53edaffc3635fd9b59ed8f40920a9af38ef568
parent8aa550093cdf6dd9ac9cee3097a224aa7050fbcb (diff)
downloadmeta-openembedded-contrib-fc6963cefd3404d2d8793b9054f63fe14fd4a354.tar.gz
meta-openembedded-contrib-fc6963cefd3404d2d8793b9054f63fe14fd4a354.tar.bz2
meta-openembedded-contrib-fc6963cefd3404d2d8793b9054f63fe14fd4a354.zip
crash: 7.1.5 -> 7.1.8
1. Upgrade crash to fix build failure with glibc 2.25. 2. Add the "id" to HOSTTOOLS in meta-oe/layer.conf Signed-off-by: Dengke Du <dengke.du@windriver.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-rw-r--r--meta-oe/conf/layer.conf2
-rw-r--r--meta-oe/recipes-kernel/crash/crash/0001-Fix-for-a-compilation-error-if-glibc-2.25-or-later-h.patch112
-rw-r--r--meta-oe/recipes-kernel/crash/crash/0001-cross_add_configure_option.patch13
-rw-r--r--meta-oe/recipes-kernel/crash/crash/0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch36
-rw-r--r--meta-oe/recipes-kernel/crash/crash/0003-crash-detect-the-sysroot-s-glibc-header-file.patch33
-rw-r--r--meta-oe/recipes-kernel/crash/crash_7.1.8.bb (renamed from meta-oe/recipes-kernel/crash/crash_7.1.5.bb)11
6 files changed, 196 insertions, 11 deletions
diff --git a/meta-oe/conf/layer.conf b/meta-oe/conf/layer.conf
index bdc821006d..54425c68e7 100644
--- a/meta-oe/conf/layer.conf
+++ b/meta-oe/conf/layer.conf
@@ -79,3 +79,5 @@ FREESMARTPHONE_GIT = "git://git.freesmartphone.org"
# Override security flags
require conf/distro/include/meta_oe_security_flags.inc
+
+HOSTTOOLS += "id"
diff --git a/meta-oe/recipes-kernel/crash/crash/0001-Fix-for-a-compilation-error-if-glibc-2.25-or-later-h.patch b/meta-oe/recipes-kernel/crash/crash/0001-Fix-for-a-compilation-error-if-glibc-2.25-or-later-h.patch
new file mode 100644
index 0000000000..9434815d8f
--- /dev/null
+++ b/meta-oe/recipes-kernel/crash/crash/0001-Fix-for-a-compilation-error-if-glibc-2.25-or-later-h.patch
@@ -0,0 +1,112 @@
+From b8c8fbe0a2481e97fc57dd596346827a692a5768 Mon Sep 17 00:00:00 2001
+From: Dave Anderson <anderson@redhat.com>
+Date: Tue, 28 Mar 2017 15:44:40 -0400
+Subject: [PATCH 1/3] Fix for a compilation error if glibc-2.25 or later has
+ been installed on the host build machine. Without the patch, the build fails
+ with the error message "amd64-linux-nat.c:496:1: error: conflicting types for
+ 'ps_get_thread_area'". (anderson@redhat.com)
+
+Upstream-Status: Backport
+
+Signed-off-by: Dengke Du <dengke.du@windriver.com>
+---
+ Makefile | 6 +++++
+ configure.c | 2 +-
+ gdb-7.6-proc_service.h.patch | 55 ++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 62 insertions(+), 1 deletion(-)
+ create mode 100644 gdb-7.6-proc_service.h.patch
+
+diff --git a/Makefile b/Makefile
+index 202ef8b..b6b7e80 100644
+--- a/Makefile
++++ b/Makefile
+@@ -264,6 +264,12 @@ 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 [ $$? -eq 0 ]; then \
++ patch -p0 < ${GDB}-proc_service.h.patch; \
++ fi; \
++ fi
+
+ library: make_build_data ${OBJECT_FILES}
+ ar -rs ${PROGRAM}lib.a ${OBJECT_FILES}
+diff --git a/configure.c b/configure.c
+index d63cdd7..776defe 100644
+--- a/configure.c
++++ b/configure.c
+@@ -240,7 +240,7 @@ struct supported_gdb_version {
+ "7.6",
+ "GDB_FILES=${GDB_7.6_FILES}",
+ "GDB_OFILES=${GDB_7.6_OFILES}",
+- "GDB_PATCH_FILES=gdb-7.6.patch gdb-7.6-ppc64le-support.patch",
++ "GDB_PATCH_FILES=gdb-7.6.patch gdb-7.6-ppc64le-support.patch gdb-7.6-proc_service.h.patch",
+ "GDB_FLAGS=-DGDB_7_6",
+ "GPLv3"
+ },
+diff --git a/gdb-7.6-proc_service.h.patch b/gdb-7.6-proc_service.h.patch
+new file mode 100644
+index 0000000..49d18bb
+--- /dev/null
++++ b/gdb-7.6-proc_service.h.patch
+@@ -0,0 +1,55 @@
++--- gdb-7.6/gdb/gdb_proc_service.h.orig
+++++ gdb-7.6/gdb/gdb_proc_service.h
++@@ -115,7 +115,7 @@ extern pid_t ps_getpid (struct ps_procha
++ /* Fetch the special per-thread address associated with the given LWP.
++ This call is only used on a few platforms (most use a normal register).
++ The meaning of the `int' parameter is machine-dependent. */
++-extern ps_err_e ps_get_thread_area (const struct ps_prochandle *,
+++extern ps_err_e ps_get_thread_area (struct ps_prochandle *,
++ lwpid_t, int, psaddr_t *);
++
++
++--- gdb-7.6/gdb/amd64-linux-nat.c.orig
+++++ gdb-7.6/gdb/amd64-linux-nat.c
++@@ -493,7 +493,7 @@ amd64_linux_new_fork (struct lwp_info *p
++ a request for a thread's local storage address. */
++
++ ps_err_e
++-ps_get_thread_area (const struct ps_prochandle *ph,
+++ps_get_thread_area (struct ps_prochandle *ph,
++ lwpid_t lwpid, int idx, void **base)
++ {
++ if (gdbarch_bfd_arch_info (target_gdbarch ())->bits_per_word == 32)
++--- gdb-7.6/gdb/aarch64-linux-nat.c.orig
+++++ gdb-7.6/gdb/aarch64-linux-nat.c
++@@ -750,7 +750,7 @@ aarch64_linux_new_fork (struct lwp_info
++ storage (or its descriptor). */
++
++ ps_err_e
++-ps_get_thread_area (const struct ps_prochandle *ph,
+++ps_get_thread_area (struct ps_prochandle *ph,
++ lwpid_t lwpid, int idx, void **base)
++ {
++ struct iovec iovec;
++--- gdb-7.6/gdb/arm-linux-nat.c.orig
+++++ gdb-7.6/gdb/arm-linux-nat.c
++@@ -613,7 +613,7 @@ supply_fpregset (struct regcache *regcac
++ /* Fetch the thread-local storage pointer for libthread_db. */
++
++ ps_err_e
++-ps_get_thread_area (const struct ps_prochandle *ph,
+++ps_get_thread_area (struct ps_prochandle *ph,
++ lwpid_t lwpid, int idx, void **base)
++ {
++ if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0)
++--- gdb-7.6/gdb/i386-linux-nat.c.orig
+++++ gdb-7.6/gdb/i386-linux-nat.c
++@@ -849,7 +849,7 @@ i386_linux_new_fork (struct lwp_info *pa
++ storage (or its descriptor). */
++
++ ps_err_e
++-ps_get_thread_area (const struct ps_prochandle *ph,
+++ps_get_thread_area (struct ps_prochandle *ph,
++ lwpid_t lwpid, int idx, void **base)
++ {
++ /* NOTE: cagney/2003-08-26: The definition of this buffer is found
+--
+2.8.1
+
diff --git a/meta-oe/recipes-kernel/crash/crash/0001-cross_add_configure_option.patch b/meta-oe/recipes-kernel/crash/crash/0001-cross_add_configure_option.patch
index 39732a9eda..26a34e5c16 100644
--- a/meta-oe/recipes-kernel/crash/crash/0001-cross_add_configure_option.patch
+++ b/meta-oe/recipes-kernel/crash/crash/0001-cross_add_configure_option.patch
@@ -1,14 +1,15 @@
-From cbaaa42933bb27b1bcff4c7d71d54c913201ee88 Mon Sep 17 00:00:00 2001
+From 73269df4d8196abe81112acaa2613155b308a8b8 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
+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 9c44633..39bebd0 100644
+index a2baec1..f1972c8 100644
--- a/Makefile
+++ b/Makefile
@@ -232,7 +232,7 @@ gdb_merge: force
@@ -20,15 +21,15 @@ index 9c44633..39bebd0 100644
--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
-@@ -277,7 +277,7 @@ force:
+@@ -283,7 +283,7 @@ force:
make_configure: force
@rm -f configure
- @${CC} ${CONF_FLAGS} -o configure configure.c ${WARNING_ERROR} ${WARNING_OPTIONS}
-+ @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
--
-1.8.4.2
+2.8.1
diff --git a/meta-oe/recipes-kernel/crash/crash/0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch b/meta-oe/recipes-kernel/crash/crash/0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch
new file mode 100644
index 0000000000..8355fe44ea
--- /dev/null
+++ b/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 <dengke.du@windriver.com>
+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 <dengke.du@windriver.com>
+---
+ 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 <sys/types.h>
++#include "gregset.h"
+
+ #ifdef HAVE_PROC_SERVICE_H
+ #include <proc_service.h>
+@@ -53,8 +54,6 @@
+ #include <sys/procfs.h>
+ #endif
+
+-#include "gregset.h"
+-
+ /* Functions in this interface return one of these status codes. */
+ typedef enum
+ {
+--
+2.8.1
+
diff --git a/meta-oe/recipes-kernel/crash/crash/0003-crash-detect-the-sysroot-s-glibc-header-file.patch b/meta-oe/recipes-kernel/crash/crash/0003-crash-detect-the-sysroot-s-glibc-header-file.patch
new file mode 100644
index 0000000000..1f4bd01da4
--- /dev/null
+++ b/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 <dengke.du@windriver.com>
+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 <dengke.du@windriver.com>
+---
+ 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-oe/recipes-kernel/crash/crash_7.1.5.bb b/meta-oe/recipes-kernel/crash/crash_7.1.8.bb
index fbd89c316d..012ef1a9a7 100644
--- a/meta-oe/recipes-kernel/crash/crash_7.1.5.bb
+++ b/meta-oe/recipes-kernel/crash/crash_7.1.8.bb
@@ -22,10 +22,13 @@ SRC_URI = "https://github.com/crash-utility/${BPN}/archive/${PV}.tar.gz;download
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://0001-Fix-for-a-compilation-error-if-glibc-2.25-or-later-h.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] = "7bd06eaec6827d4fac636b2b592d3056"
-SRC_URI[sha256sum] = "c3954412c8557614a0d50092c007aa96b4e3e6e97453dfbb60241ab680caf7b2"
+SRC_URI[md5sum] = "31787074f267a3536eebff008a0652ec"
+SRC_URI[sha256sum] = "9965dee9199d7e39764fbee7f21c7c45b1f7b6d17c8e92ad62f468f062876478"
SRC_URI[gdb.md5sum] = "a9836707337e5f7bf76a009a8904f470"
SRC_URI[gdb.sha256sum] = "8070389a5dcc104eb0be483d582729f98ed4d761ad19cedd3f17b5d2502faa36"
@@ -80,7 +83,7 @@ do_compile_prepend() {
}
do_compile() {
- oe_runmake ${EXTRA_OEMAKE}
+ oe_runmake ${EXTRA_OEMAKE} RECIPE_SYSROOT=${RECIPE_SYSROOT}
}
do_install_prepend () {
@@ -111,5 +114,3 @@ 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"
-
-PNBLACKLIST[crash] ?= "Fails to build with RSS http://errors.yoctoproject.org/Errors/Details/130678/ - the recipe will be removed on 2017-09-01 unless the issue is fixed"