diff options
Diffstat (limited to 'yocto-poky/meta/recipes-devtools/gdb')
14 files changed, 222 insertions, 77 deletions
diff --git a/yocto-poky/meta/recipes-devtools/gdb/gdb-7.9.1.inc b/yocto-poky/meta/recipes-devtools/gdb/gdb-7.10.1.inc index 1ca95afdc..a9267d554 100644 --- a/yocto-poky/meta/recipes-devtools/gdb/gdb-7.9.1.inc +++ b/yocto-poky/meta/recipes-devtools/gdb/gdb-7.10.1.inc @@ -4,6 +4,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \ file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674" -SRC_URI[md5sum] = "f3b97de919a9dba84490b2e076ec4cb0" -SRC_URI[sha256sum] = "4994ad986726ac4128a6f1bd8020cd672e9a92aa76b80736563ef992992764ef" +SRC_URI[md5sum] = "b93a2721393e5fa226375b42d567d90b" +SRC_URI[sha256sum] = "ff14f8050e6484508c73cbfa63731e57901478490ca1672dc0b5e2b03f6af622" diff --git a/yocto-poky/meta/recipes-devtools/gdb/gdb-common.inc b/yocto-poky/meta/recipes-devtools/gdb/gdb-common.inc index 166ba8eea..0d28ee4ee 100644 --- a/yocto-poky/meta/recipes-devtools/gdb/gdb-common.inc +++ b/yocto-poky/meta/recipes-devtools/gdb/gdb-common.inc @@ -2,7 +2,7 @@ SUMMARY = "GNU debugger" HOMEPAGE = "http://www.gnu.org/software/gdb/" LICENSE = "GPLv3+" SECTION = "devel" -DEPENDS = "expat zlib ncurses readline ${LTTNGUST}" +DEPENDS = "expat zlib ncurses ${LTTNGUST}" LTTNGUST = "lttng-ust" LTTNGUST_aarch64 = "" @@ -22,16 +22,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 \ file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \ file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6" + inherit autotools texinfo SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.gz \ " -export CC_FOR_BUILD = "${BUILD_CC}" -export CXX_FOR_BUILD = "${BUILD_CXX}" -export CPP_FOR_BUILD = "${BUILD_CPP}" -export CFLAGS_FOR_BUILD = "${BUILD_CFLAGS}" -export CXXFLAGS_FOR_BUILD = "${BUILD_CXXFLAGS}" -export CPPFLAGS_FOR_BUILD = "${BUILD_CPPFLAGS}" B = "${WORKDIR}/build-${TARGET_SYS}" @@ -40,13 +35,19 @@ EXTRA_OEMAKE = "'SUBDIRS=intl mmalloc libiberty opcodes bfd sim gdb etc utils'" EXPAT = "--with-expat --with-libexpat-prefix=${STAGING_DIR_HOST}" EXTRA_OECONF = "--disable-gdbtk --disable-tui --disable-x --disable-werror \ - --with-curses --disable-multilib --with-system-readline --disable-sim \ + --with-curses --disable-multilib --disable-sim \ --without-lzma --without-guile \ ${GDBPROPREFIX} ${EXPAT} \ ${@bb.utils.contains('DISTRO_FEATURES', 'multiarch', '--enable-64-bit-bfd', '', d)} \ --disable-rpath \ " +PACKAGECONFIG ??= "readline" +# Use --without-system-readline to compile with readline 5. +PACKAGECONFIG[readline] = "--with-system-readline,--without-system-readline,readline" +PACKAGECONFIG[python] = "--with-python=${WORKDIR}/python,--without-python,python,python python-codecs" +PACKAGECONFIG[babeltrace] = "--with-babeltrace,--without-babeltrace,babeltrace" + GDBPROPREFIX = "--program-prefix=''" do_configure () { diff --git a/yocto-poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc b/yocto-poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc index 4fd60a615..6e42af1ba 100644 --- a/yocto-poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc +++ b/yocto-poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc @@ -5,13 +5,17 @@ SUMMARY = "GNU debugger (cross-canadian gdb for ${TARGET_ARCH} target)" PN = "gdb-cross-canadian-${TRANSLATED_TARGET_ARCH}" BPN = "gdb" -DEPENDS = "nativesdk-ncurses nativesdk-expat nativesdk-gettext nativesdk-readline nativesdk-python" -RDEPENDS_${PN} += "nativesdk-python-core nativesdk-python-lang nativesdk-python-re \ - nativesdk-python-codecs nativesdk-python-netclient" +DEPENDS = "nativesdk-ncurses nativesdk-expat nativesdk-gettext \ + virtual/${HOST_PREFIX}gcc-crosssdk virtual/${HOST_PREFIX}binutils-crosssdk virtual/nativesdk-${HOST_PREFIX}libc-for-gcc" GDBPROPREFIX = "--program-prefix='${TARGET_PREFIX}'" -EXTRA_OECONF_append = " --with-python=${WORKDIR}/python" +# Overrides PACKAGECONFIG variables in gdb-common.inc +PACKAGECONFIG ??= "python readline" +PACKAGECONFIG[python] = "--with-python=${WORKDIR}/python,--without-python,nativesdk-python, \ + nativesdk-python-core nativesdk-python-lang nativesdk-python-re \ + nativesdk-python-codecs nativesdk-python-netclient" +PACKAGECONFIG[readline] = "--with-system-readline,--without-system-readline,nativesdk-readline" SSTATE_DUPWHITELIST += "${STAGING_DATADIR}/gdb" diff --git a/yocto-poky/meta/recipes-devtools/gdb/gdb-cross-canadian_7.9.1.bb b/yocto-poky/meta/recipes-devtools/gdb/gdb-cross-canadian_7.10.1.bb index 301035940..301035940 100644 --- a/yocto-poky/meta/recipes-devtools/gdb/gdb-cross-canadian_7.9.1.bb +++ b/yocto-poky/meta/recipes-devtools/gdb/gdb-cross-canadian_7.10.1.bb diff --git a/yocto-poky/meta/recipes-devtools/gdb/gdb-cross.inc b/yocto-poky/meta/recipes-devtools/gdb/gdb-cross.inc index 6e44778cd..2468d2303 100644 --- a/yocto-poky/meta/recipes-devtools/gdb/gdb-cross.inc +++ b/yocto-poky/meta/recipes-devtools/gdb/gdb-cross.inc @@ -1,10 +1,13 @@ require gdb-common.inc -DEPENDS = "expat-native ncurses-native readline-native python-native" +DEPENDS = "expat-native ncurses-native" inherit pythonnative -EXTRA_OECONF += "--with-python=${STAGING_BINDIR_NATIVE}/python-native/python" +# Overrides PACKAGECONFIG variables in gdb-common.inc +PACKAGECONFIG ??= "python readline" +PACKAGECONFIG[python] = "--with-python=${STAGING_BINDIR_NATIVE}/python-native/python,--without-python,python-native" +PACKAGECONFIG[readline] = "--with-system-readline,--without-system-readline,readline-native" do_compile_prepend() { export BUILD_SYS="${BUILD_SYS}" diff --git a/yocto-poky/meta/recipes-devtools/gdb/gdb-cross_7.9.1.bb b/yocto-poky/meta/recipes-devtools/gdb/gdb-cross_7.10.1.bb index 3a95cfb03..3a95cfb03 100644 --- a/yocto-poky/meta/recipes-devtools/gdb/gdb-cross_7.9.1.bb +++ b/yocto-poky/meta/recipes-devtools/gdb/gdb-cross_7.10.1.bb diff --git a/yocto-poky/meta/recipes-devtools/gdb/gdb.inc b/yocto-poky/meta/recipes-devtools/gdb/gdb.inc index 88c0213b4..d9c864dca 100644 --- a/yocto-poky/meta/recipes-devtools/gdb/gdb.inc +++ b/yocto-poky/meta/recipes-devtools/gdb/gdb.inc @@ -4,7 +4,11 @@ inherit gettext SRC_URI += "file://0002-Change-order-of-CFLAGS.patch \ file://0003-Add-support-for-Renesas-SH-sh4-architecture.patch \ - file://fix-detection-of-64-bit-PPC-inferior-in-gdbserver.patch \ + file://0001-Use-exported-definitions-of-SIGRTMIN.patch \ + file://0001-include-sys-types.h-for-mode_t.patch \ + file://0001-use-asm-sgidefs.h.patch \ + file://force-readline-static.patch \ + file://0001-mips-linux-nat-Define-_ABIO32-if-not-defined.patch \ " #LDFLAGS_append = " -s" #export CFLAGS_append=" -L${STAGING_LIBDIR}" diff --git a/yocto-poky/meta/recipes-devtools/gdb/gdb/0001-Use-exported-definitions-of-SIGRTMIN.patch b/yocto-poky/meta/recipes-devtools/gdb/gdb/0001-Use-exported-definitions-of-SIGRTMIN.patch new file mode 100644 index 000000000..5f0c09693 --- /dev/null +++ b/yocto-poky/meta/recipes-devtools/gdb/gdb/0001-Use-exported-definitions-of-SIGRTMIN.patch @@ -0,0 +1,54 @@ +From 2f97e89e9e4e5797d0d973e1d05c1f44c46b4912 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 5 Jun 2015 20:21:38 -0700 +Subject: [PATCH] Use exorted definitions of SIGRTMIN + +Define W_STOPCODE if not defined already + +__SIGRTMIN is internal to glibc and other libcs e.g. musl +may not provide them + +Fixes +https://sourceware.org/bugzilla/show_bug.cgi?id=13012 + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Submitted + + gdb/linux-nat.c | 4 ++-- + gdb/nat/linux-nat.h | 4 ++++ + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c +index 396c30c..50320ee 100644 +--- a/gdb/linux-nat.c ++++ b/gdb/linux-nat.c +@@ -4856,10 +4856,10 @@ lin_thread_get_thread_signals (sigset_t *set) + fortunately they don't change! */ + + if (restart == 0) +- restart = __SIGRTMIN; ++ restart = SIGRTMIN; + + if (cancel == 0) +- cancel = __SIGRTMIN + 1; ++ cancel = SIGRTMIN + 1; + + sigaddset (set, restart); + sigaddset (set, cancel); +diff --git a/gdb/nat/linux-nat.h b/gdb/nat/linux-nat.h +index 83a6d91..efbe0fd 100644 +--- a/gdb/nat/linux-nat.h ++++ b/gdb/nat/linux-nat.h +@@ -25,4 +25,8 @@ + instead SIGTRAP with bit 7 set. */ + #define SYSCALL_SIGTRAP (SIGTRAP | 0x80) + ++#ifndef W_STOPCODE ++#define W_STOPCODE(sig) ((sig) << 8 | 0x7f) ++#endif ++ + #endif /* LINUX_NAT_H */ +-- +2.1.4 + diff --git a/yocto-poky/meta/recipes-devtools/gdb/gdb/0001-include-sys-types.h-for-mode_t.patch b/yocto-poky/meta/recipes-devtools/gdb/gdb/0001-include-sys-types.h-for-mode_t.patch new file mode 100644 index 000000000..a0292e416 --- /dev/null +++ b/yocto-poky/meta/recipes-devtools/gdb/gdb/0001-include-sys-types.h-for-mode_t.patch @@ -0,0 +1,30 @@ +From acbee4edacb80b5eeaff2480712fe98e56443997 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 19 Jan 2016 18:18:52 -0800 +Subject: [PATCH] include sys/types.h for mode_t + +mode_t is used in target.h, so we need to include sys/types.h to get the +defintion + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + + gdb/gdbserver/target.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gdb/gdbserver/target.h b/gdb/gdbserver/target.h +index 9a40867..aaecab9 100644 +--- a/gdb/gdbserver/target.h ++++ b/gdb/gdbserver/target.h +@@ -27,6 +27,7 @@ + #include "target/waitstatus.h" + #include "mem-break.h" + #include "btrace-common.h" ++#include <sys/types.h> + + struct emit_ops; + struct buffer; +-- +2.7.0 + diff --git a/yocto-poky/meta/recipes-devtools/gdb/gdb/0001-mips-linux-nat-Define-_ABIO32-if-not-defined.patch b/yocto-poky/meta/recipes-devtools/gdb/gdb/0001-mips-linux-nat-Define-_ABIO32-if-not-defined.patch new file mode 100644 index 000000000..31739525a --- /dev/null +++ b/yocto-poky/meta/recipes-devtools/gdb/gdb/0001-mips-linux-nat-Define-_ABIO32-if-not-defined.patch @@ -0,0 +1,37 @@ +From e92f8932ef488de2a56db4299131ce6a4eb170bd Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 23 Mar 2016 06:30:09 +0000 +Subject: [PATCH] mips-linux-nat: Define _ABIO32 if not defined + +This helps building gdb on mips64 on musl, since +musl does not provide sgidefs.h this define is +only defined when GCC is using o32 ABI, in that +case gcc emits it as built-in define and hence +it works ok for mips32 + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + + gdb/mips-linux-nat.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c +index fd5c705..753f29d 100644 +--- a/gdb/mips-linux-nat.c ++++ b/gdb/mips-linux-nat.c +@@ -46,6 +46,11 @@ + #define PTRACE_GET_THREAD_AREA 25 + #endif + ++/* musl does not define and relies on compiler built-in macros for it */ ++#ifndef _ABIO32 ++#define _ABIO32 1 ++#endif ++ + /* Assume that we have PTRACE_GETREGS et al. support. If we do not, + we'll clear this and use PTRACE_PEEKUSER instead. */ + static int have_ptrace_regsets = 1; +-- +1.8.3.1 + diff --git a/yocto-poky/meta/recipes-devtools/gdb/gdb/0001-use-asm-sgidefs.h.patch b/yocto-poky/meta/recipes-devtools/gdb/gdb/0001-use-asm-sgidefs.h.patch new file mode 100644 index 000000000..eaec39030 --- /dev/null +++ b/yocto-poky/meta/recipes-devtools/gdb/gdb/0001-use-asm-sgidefs.h.patch @@ -0,0 +1,35 @@ +From 677b5b56135141c0d259e370aacd0e11c810aa15 Mon Sep 17 00:00:00 2001 +From: Andre McCurdy <armccurdy@gmail.com> +Date: Fri, 5 Feb 2016 14:00:00 -0800 +Subject: [PATCH] use <asm/sgidefs.h> + +Build fix for MIPS with musl libc + +The MIPS specific header <sgidefs.h> is provided by glibc and uclibc +but not by musl. Regardless of the libc, the kernel headers provide +<asm/sgidefs.h> which provides the same definitions, so use that +instead. + +Upstream-Status: Pending + +Signed-off-by: Andre McCurdy <armccurdy@gmail.com> +--- + gdb/mips-linux-nat.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c +index a36bb63..fd5c705 100644 +--- a/gdb/mips-linux-nat.c ++++ b/gdb/mips-linux-nat.c +@@ -31,7 +31,7 @@ + #include "gdb_proc_service.h" + #include "gregset.h" + +-#include <sgidefs.h> ++#include <asm/sgidefs.h> + #include <sys/ptrace.h> + #include <asm/ptrace.h> + +-- +1.9.1 + diff --git a/yocto-poky/meta/recipes-devtools/gdb/gdb/fix-detection-of-64-bit-PPC-inferior-in-gdbserver.patch b/yocto-poky/meta/recipes-devtools/gdb/gdb/fix-detection-of-64-bit-PPC-inferior-in-gdbserver.patch deleted file mode 100644 index 285435230..000000000 --- a/yocto-poky/meta/recipes-devtools/gdb/gdb/fix-detection-of-64-bit-PPC-inferior-in-gdbserver.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 4fe67dbafa1bee679daecc12ed30621d5c2605de Mon Sep 17 00:00:00 2001 -From: Yao Qi <yao@codesourcery.com> -Date: Mon, 11 May 2015 10:57:33 +0800 -Subject: [PATCH] Fix detection of 64-bit PPC inferior in gdbserver - -Issue #16775 - -* gdbserver/linux-ppc-low.c (ppc_arch_setup): Change variable msr to type -'unsigned long'. Check bit 63 or bit 31 is one. - -https://sourceware.org/ml/gdb-patches/2014-12/msg00239.html -Written by: Yao Qi <yao@codesourcery.com> - -Upstream-Status: Pending - -Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com> ---- - gdb/gdbserver/linux-ppc-low.c | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c -index 63d4218..a62cf22 100644 ---- a/gdb/gdbserver/linux-ppc-low.c -+++ b/gdb/gdbserver/linux-ppc-low.c -@@ -374,7 +374,7 @@ ppc_arch_setup (void) - { - const struct target_desc *tdesc; - #ifdef __powerpc64__ -- long msr; -+ unsigned long msr; - struct regcache *regcache; - - /* On a 64-bit host, assume 64-bit inferior process with no -@@ -384,13 +384,16 @@ ppc_arch_setup (void) - current_process ()->tdesc = tdesc; - ppc_hwcap = 0; - -- /* Only if the high bit of the MSR is set, we actually have -- a 64-bit inferior. */ -+ /* We actually have a 64-bit inferior only if the certain bit of the -+ MSR is set. The PowerISA Book III-S MSR is different from the -+ PowerISA Book III-E MSR. The Book III-S MSR is 64 bits wide, and -+ its MSR[SF] is the bit 0 of a 64-bit value. Book III-E MSR is 32 -+ bits wide, and its MSR[CM] is the bit 0 of a 32-bit value. */ - regcache = new_register_cache (tdesc); - fetch_inferior_registers (regcache, find_regno (tdesc, "msr")); - collect_register_by_name (regcache, "msr", &msr); - free_register_cache (regcache); -- if (msr < 0) -+ if (msr & 0x8000000080000000) - { - ppc_get_hwcap (&ppc_hwcap); - if (ppc_hwcap & PPC_FEATURE_CELL) --- -1.8.5.2.233.g932f7e4 - diff --git a/yocto-poky/meta/recipes-devtools/gdb/gdb/force-readline-static.patch b/yocto-poky/meta/recipes-devtools/gdb/gdb/force-readline-static.patch new file mode 100644 index 000000000..d34ee8cee --- /dev/null +++ b/yocto-poky/meta/recipes-devtools/gdb/gdb/force-readline-static.patch @@ -0,0 +1,37 @@ +If gdb is configured with --disable-static then this is dutifully passed to +readline which then disables libreadline.a, which causes a problem when gdb +tries to link against that. + +To ensure that readline always builds static libraries, pass --enable-static to +the sub-configure. + +Upstream-Status: Pending +Signed-off-by: Ross Burton <ross.burton@intel.com> + +diff --git a/Makefile.def b/Makefile.def +index 4394188..05c661a 100644 +--- a/Makefile.def ++++ b/Makefile.def +@@ -100,7 +100,8 @@ host_modules= { module= libiconv; + missing= install-html; + missing= install-info; }; + host_modules= { module= m4; }; +-host_modules= { module= readline; }; ++host_modules= { module= readline; ++ extra_configure_flags='--enable-static';}; + host_modules= { module= sid; }; + host_modules= { module= sim; }; + host_modules= { module= texinfo; no_install= true; }; +diff --git a/Makefile.in b/Makefile.in +index 61e0ab6..837f36e 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -24971,7 +24971,7 @@ configure-readline: + $$s/$$module_srcdir/configure \ + --srcdir=$${topdir}/$$module_srcdir \ + $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ +- --target=${target_alias} \ ++ --target=${target_alias} --enable-static \ + || exit 1 + @endif readline + diff --git a/yocto-poky/meta/recipes-devtools/gdb/gdb_7.9.1.bb b/yocto-poky/meta/recipes-devtools/gdb/gdb_7.10.1.bb index cd52e27d5..f897e1213 100644 --- a/yocto-poky/meta/recipes-devtools/gdb/gdb_7.9.1.bb +++ b/yocto-poky/meta/recipes-devtools/gdb/gdb_7.10.1.bb @@ -3,10 +3,6 @@ require gdb-${PV}.inc inherit python-dir -PACKAGECONFIG ??= "" -PACKAGECONFIG[python] = "--with-python=${WORKDIR}/python,--without-python,python,python python-codecs" -PACKAGECONFIG[babeltrace] = "--with-babeltrace,--without-babeltrace,babeltrace" - do_configure_prepend() { if [ -n "${@bb.utils.contains('PACKAGECONFIG', 'python', 'python', '', d)}" ]; then cat > ${WORKDIR}/python << EOF |