gdb includes a script to make generating core files trivial. Add a package to allow inclusion of this script in images. GDB also requires symbols that are usually stripped from the threads library to properly generate a core dump. Therefore, ensure when gdb is installed the necessary debug file is also present so gdb is fully functional.
Signed-off-by: blloyd <bll...@familyhonor.net> --- meta/recipes-devtools/gdb/gdb-common.inc | 12 +++++++----- meta/recipes-devtools/gdb/gdb.inc | 9 ++++++++- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/meta/recipes-devtools/gdb/gdb-common.inc b/meta/recipes-devtools/gdb/gdb-common.inc index 6954954..4b08283 100644 --- a/meta/recipes-devtools/gdb/gdb-common.inc +++ b/meta/recipes-devtools/gdb/gdb-common.inc @@ -61,8 +61,10 @@ do_install_append() { rm -rf ${D}${datadir}/locale } -RRECOMMENDS_gdb_append_linux = " glibc-thread-db " -RRECOMMENDS_gdb_append_linux-gnueabi = " glibc-thread-db " -RRECOMMENDS_gdbserver_append_linux = " glibc-thread-db " -RRECOMMENDS_gdbserver_append_linux-gnueabi = " glibc-thread-db " - +# Unfortunately, for gdb multi-threading to function reliably it must have the eglibc debug symbols +# which are a part of the eglibc-dev package. So we have added a dependency on that here. +RRECOMMENDS_gdb_append_linux = " glibc-thread-db eglibc-dbg " +RRECOMMENDS_gdb_append_linux-gnueabi = " glibc-thread-db eglibc-dbg " +RRECOMMENDS_gdbserver_append_linux = " glibc-thread-db eglibc-dbg " +RRECOMMENDS_gdbserver_append_linux-gnueabi = " glibc-thread-db eglibc-dbg " +RDEPENDS_gcore_append = " gdb " diff --git a/meta/recipes-devtools/gdb/gdb.inc b/meta/recipes-devtools/gdb/gdb.inc index 3321a24..9bf0e86 100644 --- a/meta/recipes-devtools/gdb/gdb.inc +++ b/meta/recipes-devtools/gdb/gdb.inc @@ -10,5 +10,12 @@ SRC_URI += "file://kill_arm_map_symbols.patch \ #export CFLAGS_append=" -L${STAGING_LIBDIR}" # cross-canadian must not see this -PACKAGES =+ "gdbserver" +PACKAGES =+ "gdbserver gcore" FILES_gdbserver = "${bindir}/gdbserver" +FILES_gcore = "${bindir}/gcore" + +do_install_append() { + # When trying to find what went wrong with a program, a core dump can be very helpful + # Go ahead and make it easier to get one when we have gdb on the system + install -m 0755 ${S}/gdb/gdb_gcore.sh ${D}${bindir}/gcore +} -- 1.8.1.4 _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core