summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorVictor Kamensky <kamensky@cisco.com>2018-04-05 11:25:26 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-04-06 11:41:01 +0100
commit7ccb077f51c9232de70e5c6f9897fd9986e3be9d (patch)
treeece95ffe4370dcaae83f559f9c8155a6940487dc /meta
parent08ab022471eff48e6f43ec8cd47e695d575ee2e3 (diff)
downloadopenembedded-core-7ccb077f51c9232de70e5c6f9897fd9986e3be9d.tar.gz
image: add image-combined-dbg helper class
There is IMAGE_GEN_DEBUGFS="1" variable that enables build of additional rootfs-dbg and additional archive that contains complimentary symbols files for a given image. But the issue with this resulting directory and tarball that before use it has to be combined with original image content. It is required since all cross debugging tools like gdb, perf, and systemtap need file system that contains both target executables/libraries and their symbols. Those tools need to find executable/library first and through it debuglink note find corresponding symbols file. image-combined-dbg when added to USER_CLASSES just copies final resulting rootfs back into rootfs-dbg creating combined target and debug symbols rootfs that can be used for debugging directly. Signed-off-by: Victor Kamensky <kamensky@cisco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/image-combined-dbg.bbclass9
1 files changed, 9 insertions, 0 deletions
diff --git a/meta/classes/image-combined-dbg.bbclass b/meta/classes/image-combined-dbg.bbclass
new file mode 100644
index 0000000000..f4772f7ea1
--- /dev/null
+++ b/meta/classes/image-combined-dbg.bbclass
@@ -0,0 +1,9 @@
+IMAGE_PREPROCESS_COMMAND_append = " combine_dbg_image; "
+
+combine_dbg_image () {
+ if [ "${IMAGE_GEN_DEBUGFS}" = "1" -a -e ${IMAGE_ROOTFS}-dbg ]; then
+ # copy target files into -dbg rootfs, so it can be used for
+ # debug purposes directly
+ tar -C ${IMAGE_ROOTFS} -cf - . | tar -C ${IMAGE_ROOTFS}-dbg -xf -
+ fi
+}