poky/scripts
Adrian Freihofer c82c57621b devtool: ide-sdk prefer sources from workspace
Improve the previous commit:
- log an error if some assumptions are not true
- Use TARGET_DBGSRC_DIR variable
- Do the same for ide none

Why the additional source mapping is required:

For example the cmake-example recipe refers to sources like this:
./recipe-sysroot-native/usr/bin/x86_64-poky-linux/x86_64-poky-linux-readelf \
  -wi image/usr/bin/cmake-example | grep -B1 DW_AT_comp_dir
    ...
    <560>   DW_AT_name        : (indirect line string, offset: 0x1da):
    /usr/src/debug/cmake-example/1.0/oe-local-files/cpp-example.cpp
    ...

Another example is powertop:
./recipe-sysroot-native/usr/bin/x86_64-poky-linux/x86_64-poky-linux-readelf \
  -wi image/usr/sbin/powertop | grep -B1 DW_AT_comp_dir
    ...
    <561>   DW_AT_name        : (indirect line string, offset: 0x1da):
    /usr/src/debug/powertop/2.15/src/devlist.cpp
    ...

For recipes with local files this works. The oe-local-files folder is
not available in the rootfs-dbg and therefore the sources are first
found in the workspace folder. GDB searches for source files in various
places:
https://sourceware.org/gdb/current/onlinedocs/gdb.html/Source-Path.html
However, for the powertop example the sources opened in the editor are
from the rootfs-dbg instead of from the workspace.

Bitbake calls the compiler with
  -fmacro-prefix-map=${S}=${TARGET_DBGSRC_DIR}
where TARGET_DBGSRC_DIR defaults to "/usr/src/debug/${PN}/${PV}".

A source map which maps the recipe specific path from TARGET_DBGSRC_DIR
to the workspace fixes this.
The already existing source map for /usr/src/debug applies for all other
recipes. It finds the sources (read only) in the rootfs-dbg folder.

(From OE-Core rev: 06601632c1879cb80276f9b36de91fb7808311a5)

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-02-27 11:38:46 +00:00
..
contrib scripts: python 3.12 regex 2024-02-13 13:51:41 +00:00
cross-intercept
esdk-tools scripts/esdk-tools: use a dedicated, static directory for esdk tools 2023-11-05 08:44:06 +00:00
lib devtool: ide-sdk prefer sources from workspace 2024-02-27 11:38:46 +00:00
native-intercept
nativesdk-intercept nativesdk-intercept: Fix bad intercept chgrp/chown logic 2023-09-08 22:59:47 +01:00
postinst-intercepts update_gtk_icon_cache: Fix for GTK4-only builds 2023-12-08 16:58:34 +00:00
pybootchartgui pybootchartgui: also match do_compile and do_configure subtasks 2023-09-09 22:14:41 +01:00
tiny
.oe-layers.json oe-setup-build: add a tool for discovering config templates and setting up builds 2024-02-19 11:47:53 +00:00
autobuilder-worker-prereq-tests
bblock scripts/bblock: add a script to lock/unlock recipes 2023-10-09 15:58:47 +01:00
bitbake-prserv-tool scripts/bitbake-prserv-tool: Fix to work with memres bitbake 2023-01-29 19:24:22 +00:00
buildall-qemu
buildhistory-collect-srcrevs
buildhistory-diff
buildstats-diff scripts: fix buildstats diff/summary hard bound to host python3 2023-05-05 11:07:26 +01:00
buildstats-summary scripts: fix buildstats diff/summary hard bound to host python3 2023-05-05 11:07:26 +01:00
combo-layer scripts: python 3.12 regex 2024-02-13 13:51:41 +00:00
combo-layer-hook-default.sh
combo-layer.conf.example
cp-noerror
create-pull-request scripts/create-pull-request: update URLs to git repositories 2023-08-14 12:51:21 +01:00
crosstap
devtool devtool: support plugins with plugins 2024-02-02 10:38:28 +00:00
gen-lockedsig-cache
gen-site-config
git
install-buildtools install-buildtools: support buildtools-make-tarball and update to 4.1 2022-10-25 13:42:02 +01:00
multilib_header_wrapper.h
oe-build-perf-report
oe-build-perf-test
oe-buildenv-internal oe-buildenv-internal: update required Python version 2023-08-21 16:15:35 +01:00
oe-check-sstate scripts: python 3.12 regex 2024-02-13 13:51:41 +00:00
oe-debuginfod
oe-depends-dot oe-depends-dot: improve '-w' behavior 2023-09-02 18:23:05 +01:00
oe-find-native-sysroot scripts/oe-find-native-sysroot: use bitbake-getvar 2023-09-07 07:53:51 +01:00
oe-git-archive
oe-git-proxy
oe-gnome-terminal-phonehome
oe-pkgdata-browser
oe-pkgdata-browser.glade
oe-pkgdata-util scripts: python 3.12 regex 2024-02-13 13:51:41 +00:00
oe-publish-sdk
oe-pylint
oe-run-native
oe-selftest
oe-setup-build oe-setup-build: add a tool for discovering config templates and setting up builds 2024-02-19 11:47:53 +00:00
oe-setup-builddir scripts/oe-setup-builddir: add support for configuration summaries 2024-02-19 11:47:53 +00:00
oe-setup-layers oe-setup-build: add a tool for discovering config templates and setting up builds 2024-02-19 11:47:53 +00:00
oe-setup-vscode oe-init-build-env: generate .vscode from template 2024-02-19 11:34:33 +00:00
oe-test
oe-time-dd-test.sh
oe-trim-schemas
oepydevshell-internal.py
opkg-query-helper.py scripts: python 3.12 regex 2024-02-13 13:51:41 +00:00
patchtest patchtest: provide further guidance for failed testcases 2024-02-24 16:10:23 +00:00
patchtest-get-branch scripts: python 3.12 regex 2024-02-13 13:51:41 +00:00
patchtest-get-series patchtest: update SPDX identifiers 2023-10-17 22:53:30 +01:00
patchtest-send-results patchtest-send-results: add --debug option 2024-02-16 15:14:26 +00:00
patchtest-setup-sharedir patchtest: update SPDX identifiers 2023-10-17 22:53:30 +01:00
patchtest.README patchtest.README: update mailing list 2024-02-06 15:01:16 +00:00
pythondeps
README
recipetool
relocate_sdk.py
resulttool
rootfs_rpm-extract-postinst.awk
rpm2cpio.sh rpm2cpio.sh: update to the last 4.x version 2023-06-21 18:38:25 +01:00
runqemu runqemu: match .rootfs. in addition to -image- for rootfs 2024-01-04 23:47:51 +00:00
runqemu-addptable2image
runqemu-export-rootfs qemu-helper: depend on unfs3 and pseudo directly 2022-11-29 10:29:58 +00:00
runqemu-extract-sdk qemu-helper: depend on unfs3 and pseudo directly 2022-11-29 10:29:58 +00:00
runqemu-gen-tapdevs runqemu-gen-tapdevs: remove only our taps 2023-06-24 12:21:48 +01:00
runqemu-ifdown runqemu-ifdown: catch up with ifup 2023-06-28 07:56:34 +01:00
runqemu-ifup runqemu: Fix automated call to runqemu-ifup 2023-06-28 07:56:34 +01:00
runqemu.README
send-error-report
send-pull-request
sstate-cache-management.py sstate-cache-management: fix regex for 'sigdata' stamp files 2024-02-17 18:19:19 +00:00
sstate-diff-machines.sh
sstate-sysroot-cruft.sh
sysroot-relativelinks.py
task-time
test-reexec
test-remote-image
verify-bashisms
wic
yocto_testresults_query.py scripts/yocto_testresults_query: add option to change display limit 2023-10-23 10:49:19 +01:00
yocto-check-layer yocto-check-layer: Allow OE-Core to be tested 2022-12-09 13:18:41 +00:00
yocto-check-layer-wrapper

This directory contains Various useful scripts for working with OE builds