diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2014-05-05 11:25:50 +0200 |
---|---|---|
committer | Peter Korsgaard <peter@korsgaard.com> | 2014-05-05 13:31:30 +0200 |
commit | 7130ceb267b587b97fb5baa005521709e2b415d1 (patch) | |
tree | 97aca1e7a66d4a2ee3b71c0ef951c375d5483ee3 /toolchain/helpers.mk | |
parent | 948b963d1bbba6ad3cdca7d68a3bd02eadaadbb8 (diff) |
toolchain: generate a gdbinit file
This commit slightly improves the external toolchain backend, and the
gdb build logic to create a file named
$(STAGING_DIR)/usr/share/buildroot/gdbinit which can be used as a
gdbinit file using gdb -x option. This allows gdb to automatically use
the proper sysroot to find libraries.
The initial insight for this patch comes from the report of Oded
Hanson <OHanson@xsightsys.com>, who found an issue with the Eclipse
Buildroot plugin, which was setting a solib-path in gdb, but not a
sysroot. Setting a solib-path was enough to find shared libraries, but
not the dynamic linker. And since Eclipse doesn't allow to set the
sysroot in any other way than giving a gdbinit file, it makes sense to
have Buildroot generate a gdbinit file (which can be used in other
situations than Eclipse).
To achieve this, this commit introduces a gen_gdbinit_file helper in
toolchain/helpers.mk, and uses it for the internal toolchain and
external toolchain backends.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[ThomasDS: minor updates in commit message]
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'toolchain/helpers.mk')
-rw-r--r-- | toolchain/helpers.mk | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/toolchain/helpers.mk b/toolchain/helpers.mk index 9595196e9..ef6012071 100644 --- a/toolchain/helpers.mk +++ b/toolchain/helpers.mk @@ -355,3 +355,10 @@ check_unusable_toolchain = \ echo "such as Buildroot." ; \ exit 1 ; \ fi + +# +# Generate gdbinit file for use with Buildroot +# +gen_gdbinit_file = \ + mkdir -p $(STAGING_DIR)/usr/share/buildroot/ ; \ + echo "set sysroot $(STAGING_DIR)" > $(STAGING_DIR)/usr/share/buildroot/gdbinit |