toolchain: generate a gdbinit file
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Mon, 5 May 2014 09:25:50 +0000 (11:25 +0200)
committerPeter Korsgaard <peter@korsgaard.com>
Mon, 5 May 2014 11:31:30 +0000 (13:31 +0200)
commit7130ceb267b587b97fb5baa005521709e2b415d1
tree97aca1e7a66d4a2ee3b71c0ef951c375d5483ee3
parent948b963d1bbba6ad3cdca7d68a3bd02eadaadbb8
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>
package/gdb/gdb.mk
toolchain/helpers.mk
toolchain/toolchain-external/toolchain-external.mk