summaryrefslogtreecommitdiffstats
path: root/meta/conf
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2011-02-08 21:46:47 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-02-25 22:43:33 +0000
commit16102e18902e56bf76d256cebb890743a05d021b (patch)
tree19f44d4425e3fd8f8102abc6e79fad942ffd6072 /meta/conf
parent2d87d5229771ea45ced4ebd376a2582c5bed6525 (diff)
downloadpoky-16102e18902e56bf76d256cebb890743a05d021b.tar.gz
Revise stripping and splitting of debug information
We now support two styles of debug information generation, the '.debug' style, which is the same as previously implemented. This style simply splits the debug information and makes it available in the same general directory. /bin/foo -> /bin/.debug/foo The new 'debug-file-directory' style splits the debug information and places it into the single debug-file-directory, /usr/lib/debug: /bin/foo -> /usr/lib/debug/bin/foo.debug Both also find and copy all referenced source code to a new /usr/src/debug directory. This allows the -dbg files to be used for stand-a-lone debugging on or off the target device. File stripping is now handled as a seperate operation from file splitting. This allows us to split the debug information, but also leave it in the original file -- or prevent the debug information from being split. Also enhance the comments within local.conf.sample to provide a better understanding of the control the user has over debug file generation. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Diffstat (limited to 'meta/conf')
-rw-r--r--meta/conf/bitbake.conf9
-rw-r--r--meta/conf/local.conf.sample31
2 files changed, 38 insertions, 2 deletions
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index cba918e1e7..cf99a8124b 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -242,9 +242,14 @@ SECTION_${PN}-dev = "devel"
242ALLOW_EMPTY_${PN}-dev = "1" 242ALLOW_EMPTY_${PN}-dev = "1"
243RDEPENDS_${PN}-dev = "${PN} (= ${EXTENDPV})" 243RDEPENDS_${PN}-dev = "${PN} (= ${EXTENDPV})"
244 244
245FILES_${PN}-dbg = "${bindir}/.debug ${sbindir}/.debug ${libexecdir}/.debug ${libdir}/.debug \ 245DOTDEBUG-dbg = "${bindir}/.debug ${sbindir}/.debug ${libexecdir}/.debug ${libdir}/.debug \
246 ${base_bindir}/.debug ${base_sbindir}/.debug ${base_libdir}/.debug ${libdir}/${PN}/.debug \ 246 ${base_bindir}/.debug ${base_sbindir}/.debug ${base_libdir}/.debug ${libdir}/${PN}/.debug \
247 ${libdir}/matchbox-panel/.debug" 247 ${libdir}/matchbox-panel/.debug /usr/src/debug"
248
249DEBUGFILEDIRECTORY-dbg = "/usr/lib/debug /usr/src/debug"
250
251FILES_${PN}-dbg = "${@bb.data.getVar(['DOTDEBUG-dbg', 'DEBUGFILEDIRECTORY-dbg'][bb.data.getVar('PACKAGE_DEBUG_SPLIT_STYLE', d, 1) == 'debug-file-directory'], d, 1)}"
252
248SECTION_${PN}-dbg = "devel" 253SECTION_${PN}-dbg = "devel"
249ALLOW_EMPTY_${PN}-dbg = "1" 254ALLOW_EMPTY_${PN}-dbg = "1"
250RRECOMMENDS_${PN}-dbg = "${PN} (= ${EXTENDPV})" 255RRECOMMENDS_${PN}-dbg = "${PN} (= ${EXTENDPV})"
diff --git a/meta/conf/local.conf.sample b/meta/conf/local.conf.sample
index 65b508717f..434c6841bf 100644
--- a/meta/conf/local.conf.sample
+++ b/meta/conf/local.conf.sample
@@ -104,6 +104,37 @@ USER_CLASSES ?= "image-mklibs image-prelink"
104# <build directory>/tmp 104# <build directory>/tmp
105#TMPDIR = "${POKYBASE}/build/tmp" 105#TMPDIR = "${POKYBASE}/build/tmp"
106 106
107# The following are used to control options related to debugging.
108#
109# Uncomment this to change the optimization to make debugging easer, at the
110# possible cost of performance.
111# DEBUG_BUILD = "1"
112#
113# Uncomment this to disable the stripping of the installed binaries
114# INHIBIT_PACKAGE_STRIP = "1"
115#
116# Uncomment this to disable the split of the debug information into -dbg files
117# INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
118#
119# When splitting debug information, the following controls the results of the
120# file splitting.
121#
122# .debug (default):
123# When splitting the debug information will be placed into
124# a .debug directory in the same dirname of the binary produced:
125# /bin/foo -> /bin/.debug/foo
126#
127# debug-file-directory:
128# When splitting the debug information will be placed into
129# a central debug-file-directory, /usr/lib/debug:
130# /bin/foo -> /usr/lib/debug/bin/foo.debug
131#
132# Any source code referenced in the debug symbols will be copied
133# and made available within the /usr/src/debug directory
134#
135PACKAGE_DEBUG_SPLIT_STYLE = '.debug'
136# PACKAGE_DEBUG_SPLIT_STYLE = 'debug-file-directory'
137
107# Uncomment these to build a package such that you can use gprof to profile it. 138# Uncomment these to build a package such that you can use gprof to profile it.
108# NOTE: This will only work with 'linux' targets, not 139# NOTE: This will only work with 'linux' targets, not
109# 'linux-uclibc', as uClibc doesn't provide the necessary 140# 'linux-uclibc', as uClibc doesn't provide the necessary