Commit Graph

49 Commits

Author SHA1 Message Date
Thomas Petazzoni
84d584ea0d gdb: add support for Python in target gdb
This commit adds a new option BR2_PACKAGE_GDB_PYTHON to enable Python
support in the target gdb. Since we can assume that the user will be
aware that Python is needed to get Python support in gdb, we chose to
use a "depends on" dependency instead of a "select" dependency.

The other weird thing is the need for a wrapper shell script to
replace gdb's provided python-config.py script. See the shell script
comment itself for all the details.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-09-16 22:52:37 +02:00
Thomas Petazzoni
d79cc3cdef gdb: add support for Python in host gdb
This commit adds an option BR2_PACKAGE_HOST_GDB_PYTHON that allows to
enable Python support in the cross gdb built by Buildroot.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-09-16 22:33:08 +02:00
Thomas Petazzoni
ae054fcaa6 gdb: reword prompt for host TUI option
There is no need to name the option "GDB TUI support", since this
option is already visible "below" GDB in menuconfig/xconfig. Naming it
"TUI support" is therefore sufficient.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-09-16 22:32:49 +02:00
Vincent Stehlé
ca40efb4bd gdb: enable tui support for target package
Add a configuration option to compile the gdb target package with the
--enable-tui switch.

This is done pretty much in the same way as in commit 2474fb0bf1 ("host-gdb:
enable terminal user interface support"), but for the gdb package on target.

This makes sense only when a full debugger is installed on target,
not for a gdbserver.

[Thomas: remove "default n" since this is the default, adjust the
prompt of the option, and rewrap the help text.]

Signed-off-by: Vincent Stehlé <vincent.stehle@laposte.net>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-09-16 22:25:40 +02:00
Thomas Petazzoni
c5579a0ea1 gdb: needs host-ncurses on the host
Commit 2474fb0bf1 ("host-gdb: enable
terminal user interface support") has added TUI support to host gdb,
and therefore added a dependency on host-ncurses when TUI support is
enabled.

However, host-ncurses is not only needed for TUI support, it is needed
for gdb in all cases as well, so this commit adds a dependency of
host-gdb to host-ncurses.

Fixes:

  http://autobuild.buildroot.org/results/153/153dbdc42103074f7a0895e8871e2eee4eae3325/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-09-16 22:22:13 +02:00
Thomas Petazzoni
5d82540353 gdb: remove version 7.6
Now that the default version has changed to 7.7, we can get rid of the
older gdb 7.6 version.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-09-16 22:21:37 +02:00
Thomas Petazzoni
9444a62c01 gdb: switch to 7.7 as the default version
Now that gdb 7.8 is out, it's time to move to 7.7 as the default
version instead of 7.6.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-09-16 22:21:06 +02:00
Thomas Petazzoni
775cffcdc1 gdb: add version 7.8
This commit adds support for the 7.8 version of gdb. Note that the
tarball of this version is not available as a .tar.bz2, so we have to
add a special case and download the .tar.xz for this version.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-09-16 22:20:41 +02:00
Alexey Brodkin
a484a6ca2c ARC: bump tools to 2014.08 release
Now when new shiny tools are released by Synopsys we're ready for version
update in Buildroot.

Important change in this release is switching to combined "binutils-gdb" repo
in accordance to upstream move.

Following patch now is a part of the most recent relese:
e6ab8cac62

So dropping it.
package/binutils/arc-4.8-R3/0001-arc-Honor-DESTDIR-in-custom-Makefile.patch

Since arc-2014.08 tools are still based on GCC 4.8 following patch is still
relevant so moving to the new folder to matxh ARC gcc bump.
package/gcc/arc-4.8-R3/100-libstdcxx-uclibc-c99.patch ->
package/gcc/arc-2014.08/100-libstdcxx-uclibc-c99.patch

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>

Cc: Anton Kolesov <akolesov@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-09-01 16:14:42 +02:00
Peter Korsgaard
62387a8b11 gdb: fixup host gdb tui option
Seems like I accidently picked v1 instead of v2 from patchwork.

BR2_PACKAGE_NCURSES is for ncurses on the target, not host.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-30 09:21:48 +02:00
Yegor Yefremov
2474fb0bf1 host-gdb: enable terminal user interface support
Add a configuration option to compile host-gdb with the
--enable-tui switch.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-30 09:03:34 +02:00
alex.bennee@linaro.org
4372449a4f gdb: allow building on AArch64 systems
gdb has had AArch64 support since 7.6 which is now the default minimum
version of GDB in the tree. Older versions are now legacy.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-08-06 19:45:21 +02:00
Jerzy Grzegorek
c7f4b96471 package: remove the trailing slash sign from <PKG>_SITE variable
Since the trailing slash is stripped from $($(PKG)_SITE) by pkg-generic.mk:

$(call DOWNLOAD,$($(PKG)_SITE:/=)/$($(PKG)_SOURCE))

so it is redundant.
This patch removes it from $(PKG)_SITE variable for BR consistency.

Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-07-31 23:17:46 +02:00
Anton Kolesov
b737b12dad binutils, gdb: support unified binutils-gdb git repository
If Binutils and/or GDB are fetched from the unified binutils-gdb
repository, then the tarball will contain both Binutils and GDB
sources, unlike the "normal" tarballs that contain only the titular
package. To keep packages separated in Buildroot we need to disable
undesired components when configuring.

Binutils and GDB migrated to a common Git repository in the October
2013 [1]. Previous Git repositories were incomplete copies of CVS
repository which copied only the relevant files (no binutils files in
GDB, and vice versa). In the new binutils-gdb repository there is no
such separation and a result all files exist in directory after
checkout. So if "configure" and "make" are used without explicit
targets, all projects will be built: binutils, ld, gas, bfd, opcodes,
gdb, etc. In case of Buildroot this would mean that selecting Binutils
only, still will build both Binutils and GDB.  And if GDB is selected
as well, then both packages will be built two times, and Binutils from
GDB directory will overwrite initial build of Binutils (or vice versa
if Binutils will be built after the GDB). This is a serious problem,
because binutils and GDB use separate branches in this common
repository. In case of Buildroot this means that separate Git commits
(or tags) should be used when downloading source from Git.

This affects only Git repositories, because GNU release tarballs still
contain only relevant packages.

This change is backward compatible, because if "normal" tarball is
used (without extra directories), than --disable-* configure options
are just ignored by configure.

[1] https://sourceware.org/ml/gdb/2013-10/msg00071.html

[Thomas: use variables to factorize options, and add comments in the
relevant .mk files to explain what's going on.]

Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
Cc: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-07-30 19:23:49 +02:00
Thomas Petazzoni
02d85f6576 gdb: remove versions 7.4 and 7.5
We already default to 7.6 for all architectures (except AVR32, ARC and
Microblaze that have their specific versions), and we have added 7.7
recently.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-07-10 16:24:40 +02:00
Peter Korsgaard
27a5414804 Merge branch 'next'
Conflicts:
	package/gdb/Config.in.host

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-06-01 09:58:54 +02:00
Peter Korsgaard
a3f1823040 gdb: remove remaining 6.6a reference for bfin
Fixes http://autobuild.buildroot.net/results/3e2/3e2b733758651f7a168832de2d3b34afc171609d/

We recently (dfc3cc23af: gdb: switch to 7.x for Blackfin) moved to the
normal 7.x versions for bfin, but Config.in wasn't updated, causing bfin to
still use the old 6.6a variant (but without the uClibc patch) if the
host-gdb isn't selected, breaking the build.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-05-27 11:16:13 +02:00
Peter Korsgaard
ffd243c652 gdb: don't force makeinfo programs for GDB_FROM_GIT variants
Fixes:
http://autobuild.buildroot.net/results/16d/16d4a83eb1e1b9d65641de47f2a2bc5d8ab18bdd/
http://autobuild.buildroot.net/results/df6/df64fe6e834f016267f522f089e00a08b1fd893e/

The GDB_FROM_GIT variants unconditionally use makeinfo, so ensure our
host-texinfo version is used instead of the missing script.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-05-27 11:02:56 +02:00
Cody P Schafer
30bbfe9669 package/gdb: change default gdb from 7.5 to 7.6
Signed-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-05-26 14:25:11 +02:00
Cody P Schafer
f458fc3fac package/gdb: add gdb 7.7.x (7.7.1) and 7.6.x (7.6.2)
To prep for powerpc64le, we also disable gdb prior to 7.7.1 on
powerpc64le.

The default gdb on powerpc64le is set to 7.7.

Signed-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-05-26 14:17:48 +02:00
Thomas Petazzoni
dfc3cc23af gdb: switch to 7.x for Blackfin
For some reason, we were keeping gdb version 6.6a specially for
Blackfin. However, it turns out that support for Blackfin was merged
in gdb 7.4 (cross-gdb and gdbserver, not native gdb on the
target). Therefore, we can simply remove the support for version 6.6a
and use 7.5 as the default.

Both 7.4 and 7.5 were built tested, including cross-gdb and gdbserver.

The original reason to switch to 7.x is that 6.6a doesn't build for
Blackfin FLAT, and while it builds for Blackfin FDPIC, it only builds
libiberty.a and does not actually build a cross debugger.

Fixes:

  http://autobuild.buildroot.org/results/b47/b47f85553336b7f63ee4ecdf8598374ce4a225a3/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-05-20 00:30:19 +02:00
Thomas Petazzoni
21aaa85608 gdb: fix build of host-gdb 7.4
The build of host-gdb 7.4 fails due to some texinfo issue. To avoid
that, use the same trick as is used for the target variant of gdb:
tell gdb that makeinfo is missing.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-05-20 00:30:12 +02:00
Max Filippov
7f015d051a gdb: add xtensa fixes for 7.5.1
Two fixes for xtensa are still applicable to gdb-7.5.1, which is now the
default; copy them from 7.4.1. This fixes native gdb build for xtensa.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-05-16 16:08:46 +02:00
Max Filippov
8c275998da gdb: replace xtensa patches with proper backports from binutils-gdb
The functionality is unchanged.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-05-16 16:08:36 +02:00
Thomas Petazzoni
7130ceb267 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>
2014-05-05 13:31:30 +02:00
Anton Kolesov
ab79858841 gdb: arc: bump to arc-4.8-R3 release
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
Cc: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-04-29 23:46:55 +02:00
Thomas Petazzoni
c2604b1dd5 gdb: not available on NIOS II
The mainline gdb does not have support for NIOS II, even just for
gdbserver.

Fixes:

  http://autobuild.buildroot.org/results/e57/e57aa016d6a73e59c404a7eb43c7bf5c16cbcbdc/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-04-26 11:33:21 +02:00
Peter Korsgaard
b108fdcb83 Merge branch 'next'
Conflicts:
	Makefile
	package/dmraid/Config.in
	package/gdb/Config.in.host
	package/linux-headers/linux-headers.mk
	package/python/python.mk
	package/python3/python3.mk
	package/rt-tests/Config.in
	package/sdl/sdl.mk
	package/systemd/systemd-01-fix-getty-unit.patch
	package/systemd/systemd-02-fix-page-size.patch
	package/systemd/systemd-03-uclibc-fix.patch
	package/udev/Config.in
	package/udisks/Config.in
	package/vlc/vlc.mk
	system/Config.in

Quite some merge conflicts, hopefully I didn't screw up anything.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-28 14:30:23 +01:00
Peter Korsgaard
bd7b402fb1 gdb: correct version selection on arc/microblaze if host version isn't enabled
Fixes http://autobuild.buildroot.net/results/858/8580840f6e41f198d2cfc0609e14765dbc2e7322/

kconfig uses the first 'default ... if' line that matches, so ensure the
arch specific ones come before the generic 7.5.1 default, otherwise
arc/microblaze ends up with 7.5.1 instead of their custom version.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-25 21:48:31 +01:00
Thomas Petazzoni
faed40cf1d gdb: cross-gdb has no support for NIOS 2
Fixes:

  http://autobuild.buildroot.org/results/df0/df09e1fe301480b599be777bf26874d66a152810//

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-20 23:23:04 +01:00
Anton Kolesov
89673ec0df gdb: arc: bump to git commit cb15acc
Signed-off-by: Anton Kolesov <anton.kolesov@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-13 22:13:36 +01:00
Thomas De Schampheleire
348060f960 gdb: remove deprecated versions 7.2.x and 7.3.x
Gdb versions 7.2.x and 7.3.x have been deprecated since 2013.02 and thus can
be removed in 2014.02.
For legacy handling, version 7.5.x is automatically selected.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-08 23:39:05 +01:00
Arnout Vandecappelle
fda818390b gdb: move version selection from gdb.mk to Config.in.host
This avoids duplication of the version selection between these two files.

Cc: Spenser Gilliland <spenser@gillilanding.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-08 23:05:38 +01:00
Thomas De Schampheleire
ba4ad9d27c deprecated handling: introduce BR2_DEPRECATED_SINCE_xxxx_xx
In order to keep better track of when a feature got deprecated, and hence
when it can be removed, a new set of symbols BR2_DEPRECATED_SINCE_xxxx_xx is
introduced. These symbols are automatically selected when BR2_DEPRECATED is
selected, and thus are transparent to the user.
A deprecated feature will no longer depend on BR2_DEPRECATED directly, but
rather on the appropriate BR2_DEPRECATED_SINCE_xxxx_xx. If that symbol does
not yet exist, it has to be created in Config.in.
When removing a deprecated feature, one should also check whether this was
the last feature using the BR2_DEPRECATED_SINCE_xxxx_xx symbol, in which
case the latter can be removed from Config.in.

A followup patch will make sure the overview is added to the list of
deprecated features in the manual, so that a buildroot core developer can
easily determine which features to remove in a given development cycle.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-01-10 15:03:53 +01:00
Thomas Petazzoni
d1ab8c5827 gdb: add host-texinfo dependency for Git versions
Just like for binutils, gdb versions pulled from Git want to
regenerate their documentation, and none of the MAKEINFO tricks we've
tried worked properly, so we're simply adding host-texinfo as a
dependency.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-12-06 22:48:51 +01:00
Spenser Gilliland
5ac778f758 gdb: add microblaze internal toolchain
Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-12-06 22:46:30 +01:00
Mischa Jonker
44eca6a7c8 gdb: arc: Use git instead of website
Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-12-06 22:39:31 +01:00
Gustavo Zacarias
df8d0b90eb gdb: disable texinfo/documentation
Fixes bug #6554

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-11-28 22:23:32 +01:00
Thomas De Schampheleire
be084204eb Config.in files: add missing dependencies to toolchain option comments
When a package A depends on config option B and toolchain option C, then
the comment that is given when C is not fulfilled should also depend on B.
For example:

config BR2_PACKAGE_A
	depends on BR2_B
	depends on BR2_LARGEFILE
	depends on BR2_WCHAR

comment "A needs a toolchain w/ largefile, wchar"
	depends on !BR2_LARGEFILE || !BR2_WCHAR

This comment should actually be:

comment "A needs a toolchain w/ largefile, wchar"
	depends on BR2_B
	depends on !BR2_LARGEFILE || !BR2_WCHAR

or if possible (typically when B is a package config option declared in that
same Config.in file):

if BR2_B

comment "A needs a toolchain w/ largefile, wchar"
	depends on !BR2_LARGEFILE || !BR2_WCHAR

[other config options depending on B]

endif

Otherwise, the comment would be visible even though the other dependencies
are not met.

This patch adds such missing dependencies, and changes existing such
dependencies from
  depends on BR2_BASE_DEP && !BR2_TOOLCHAIN_USES_GLIBC
to
  depends on BR2_BASE_DEP
  depends on !BR2_TOOLCHAIN_USES_GLIBC
so that (positive) base dependencies are separate from the (negative)
toolchain dependencies. This strategy makes it easier to write such comments
(because one can simply copy the base dependency from the actual package
config option), but also avoids complex and long boolean expressions.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
 (untested)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-11-10 23:59:57 +01:00
Thomas De Schampheleire
66bb10b7b0 Config.in files: unify comments of toolchain option dependencies
This patch lines up the comments in Config.in files that clarify which
toolchain options the package depends on.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-10-14 22:45:57 +02:00
Mischa Jonker
2b0b5859b7 gdb: Add support for ARC-specific gdb
Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-07-30 23:25:05 +02:00
Alexandre Belloni
8dfd59d114 Normalize separator size to 80
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-06 22:30:24 +02:00
Thomas Petazzoni
adaff0dfea gdb: apply post-patch hook on both the host and target builds
When a Xtensa specific patch needs to be applied, it should be applied
both when doing the target and the host build.

This change is part of the effort to remove the differences between
host and target post-extract and post-patch hooks, that are
problematic for the out-of-tree support.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-28 20:50:15 +02:00
Thomas Petazzoni
0e49733b30 gdb: disable on AArch64
The mainline gdb does not yet have AArch64 support at all, so let's
disable it for this platform. The external toolchain provided by
Linaro has gdbserver + cross-gdb, so it already provides what's
necessary to do some debugging.

Fixes
http://autobuild.buildroot.org/results/c330eb75bd2d3e2f002e7a362dd5b08c4fc7fafc/build-end.log.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-13 20:13:40 +02:00
Thomas Petazzoni
eb29c83117 gdb: properly set the gdb site in all cases
Until now, the gdb site for AVR32 was adjusted only when GDB_VERSION
was not set, i.e only when the cross-gdb is *not* built. We should in
fact also set the site when the cross-gdb is built, so when
GDB_VERSION is defined through package/gdb/Config.in.host.

So, instead, we now have something like:

ifeq ($(GDB_VERSION),)
 # we define here a default version that is used when the cross-gdb is
 # not built and only the target gdb is selected.
endif

ifeq ($(GDB_VERSION),something-special)
GDB_SITE = some-special-site-for-some-special-gdb-version
endif

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-13 20:12:39 +02:00
Peter Korsgaard
f4e6f4fef7 gdb: add back $ARCH-linux-gdb symlink for host-gdb
Like we do for the toolchain and we used to to do for gdb.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-11 23:09:13 +02:00
Thomas Petazzoni
483fdd6bb7 gdb: install gdbserver into the SDK
In order for a Buildroot toolchain to be usable as an external
toolchain, we should copy the target gdbserver somewhere into
$(HOST_DIR). In order to match what Crosstool-NG does (and therefore
to match something the external toolchain logic already understands),
we install gdbserver in
$(HOST_DIR)/usr/<tuple>/debug-root/usr/bin/gdbserver.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-11 21:47:16 +02:00
Thomas Petazzoni
f6d0246506 gdb: do not allow gdbserver/cross-gdb build in some cases
When an external toolchain is used, and the user has chosen to copy
the external toolchain gdbserver to the target, then we should allow
the user to build a gdbserver and/or a cross-gdb: the ones of the
external toolchain should be used.

The reasoning is that one must use a gdbserver and cross-gdb of
identical versions to be sure that debugging will work properly.

Change suggested by Yann E. Morin.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-11 21:46:56 +02:00
Thomas Petazzoni
a0b6faaab4 gdb: convert to the package infrastructure
This commit converts gdb to the package infrastructure, and therefore
moves it from toolchain/gdb to package/gdb.

The target package is now visible in "Package selection for the
target" => "Debugging, profiling and benchmark". The main option,
"gdb", forcefully selects the "gdbserver" sub-option by
default. Another sub-option, "full debugger" allows to install the
complete gdb on the target. When this option is enabled, then
"gdbserver" is no longer forcefully selected. This ensures that at
least gdbserver or the full debugger gets built/installed, so that the
package is not a no-op.

The host debugger is still enabled through a configuration option in
"Toolchain". It is now visible regardless of the toolchain type (it
used to be hidden for External Toolchains). The configuration options
relative to the host debugger are now in package/gdb/Config.in.host,
similar to how we have package/binutils/Config.in.host.

Since gdb is now a proper package, it is no longer allowed to 'select
BR2_PTHREADS_DEBUG' to ensure thread debugging is available when
needed. Instead, it now 'depends on
BR2_TOOLCHAIN_HAS_THREADS_DEBUG'. This option, in turn, is selected by
the different toolchain backends when appropriate. The
'BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED' option is removed, since
we no longer need to know when it is allowed to 'select
BR2_PTHREADS_DEBUG'. Also, the 'BR2_PTHREADS_DEBUG' option is moved to
appear right below the thread implementation selection (in the case of
the Buildroot toolchain backend).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-11 21:46:32 +02:00