Commit Graph

132 Commits

Author SHA1 Message Date
Thomas Petazzoni
db09796532 gdb: adjust behavior when thread debug is not available
When an external toolchain without thread debug is used, the gdb
package can be selected, but no version can be choosen, since none
match any of the requirements. This leads Buildroot to try to build
gdb for the target without a version being defined, as in the
following build log:

 http://autobuild.buildroot.org/results/84e8fd2df0cc22448052a572c2e9a6e03dd137eb/build-end.log

To fix this, we adjust the dependencies of the BR2_PACKAGE_GDB option
so that the package as a whole is not selectable when the required
conditions are not met. Basically, we have the choice of:

 * Having a toolchain that supports thread debugging, which is needed
   for gdb >= 7.x

 * Having BR2_DEPRECATED enabled, which allows gdb 6.8 to be selected,
   which doesn't require thread debugging

 * Using bfin, since this architectures has a special old gdb version

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 17:51:29 +01:00
Thomas Petazzoni
4e5f63a569 gdb: target gdb not available on microblaze
Fixes

  http://autobuild.buildroot.org/results/5950c95ca12721dd910ad72fe52bfa9ac45a5120/build-end.log

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-10-14 20:14:39 +02:00
Thomas Petazzoni
669d07bdd4 Remove the Xtensa architecture
As stated in commit 555c2585bf, the
Xtensa architecture has been introduced in 2009 and never changed
since its initial introduction. It requires some special handling that
is a bit annoying, and despite our call to the initial developers, and
the announcement of the deprecation of the architecture during the
2012.05, nothing has happened. Therefore, drop support for this
architecture.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: me
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-20 22:31:08 +02:00
Peter Korsgaard
3f487ef728 toolchain: reinstate host/usr/bin/$arch-linux-* symlinks for gcc/gdb binaries
As people might be using them.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-06-23 21:33:17 +02:00
Richard Braun
b7b640d812 Remove REAL_GNU_TARGET_NAME
Instead of providing two variables, make GNU_TARGET_NAME give the real
target name, and remove REAL_GNU_TARGET_NAME altogether.

Signed-off-by: Richard Braun <rbraun@sceen.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-06-23 15:14:51 +02:00
Thomas Petazzoni
ef10335f6f gdb: not available on avr32
Fixes
http://autobuild.buildroot.org/results/1c6cfa7f069e2b7d8a7dacf76fbf95b7909fb37a/build-end.log.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-14 22:36:53 +02:00
Thomas Petazzoni
efe0daab8c gdb: fix target gdb build when host-gawk is built before
When the crosstool-ng backend is used, host-gawk is built as a
dependency of the crosstool-ng package, and therefore an host 'gawk'
binary is installed in $(HOST_DIR).

When the target gdb package is also selected, this unfortunately leads
to a build failure, as reported on
http://buildroot.humanoidz.org/results/f19c0499d08212d8b5100fa9434e1197092957db/build-end.log.

The problem is that the ./configure of gdb detects gawk in the PATH,
but at compile time, it fails to find gawk. This is due to the fact
that the gdb compilation process is started without the correct path.
This patch fixes this by passing $(TARGET_MAKE_ENV) in the environment
of the gdb compilation process.

A better fix would be to switch gdb to the AUTOTARGETS infrastructure
in the future.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-07 21:40:31 +02:00
Gustavo Zacarias
d459e0d216 gdb: bump 7.4.x series to 7.4.1
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-29 10:57:30 +02:00
Alvaro G. M
0a4856ce27 DOWNLOAD: change $1=DIRECTORY_URL, $2=FILE_NAME to $1=FULL_FILE_URL, $2=FILE_NAME
This modifies the definition of DOWNLOAD to receive two arguments:
the first one is the full URL of the file to download, whereas the second
(and optional) is the name the file will have once downloaded.

Same thing with the SOURCE_CHECK_WGET and SCP functions.

All calls to these functions have been changed to the shortest form of
the new API, except for toolchains acquisition. Since there is quite a
number of different toolchains this call to DOWNLOAD is better set to the
generic one.

Signed-off-by: Alvaro G. M <alvaro.gamez@hazent.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tested-by: Stephan Hoffmann <sho@relinux.de>
Downloading Microblaze LE toolchain works on a clean install
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-18 22:21:16 +01:00
Thomas Petazzoni
c56b58b4b7 debug: provide an option to copy the gdbserver to the target
When an external toolchain is used, it is very likely that it contains
a pre-built version of a gdbserver that has the same version as the
cross-gdb included in the external toolchain. So, we now provide an
option that allows to copy this pre-built gdbserver to the target.

As the location of the gdbserver in the external toolchain is not
standardized, we only support the CodeSourcery and Crosstool-NG
layouts for the moment. Other locations can be added later.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-15 23:04:39 +01:00
Peter Korsgaard
21f39f524f gdb: add 7.4, mark 7.1 as deprecated
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-24 22:28:47 +01:00
Peter Korsgaard
afb6e3ed52 gdb: also force ELF support for gdbhost
Similar to how we do for target (ee39d53ce3ee (Fix GDB BFD test linking)).

Gdb comes with an embedded copy of libiberty, but binutils also installs
libiberty.a into HOST_DIR. The gdb configure script tries to link against
this one rather than the gdb version when it checks for ELF support.
This may fail if those versions are not compatible, leading to obscure
error messages from gdb at runtime such as:

I'm sorry, Dave, I can't do that. Symbol format `elf32-$ARCH' unknown.

Fix it by forcing ELF support.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-24 12:46:37 +01:00
Peter Korsgaard
5931db0de9 gdb: fix kconfig dependency handling with !BR_TOOLCHAIN_BUILDROOT
Newer versions of GDB need pthread debugging support if threads are
enabled, which is always the case for glibc but is a configure option
for uClibc.

We have solved this for internal toolchains by selecting the
BR2_PTHREAD_DEBUG option from the GDB selection if needed, but as this
option isn't available when ctng/external toolchains are used, mconf
prints ugly warnings and the build may fail if an external uClibc
toolchain without pthread debugging support is used.

Fix it by introducing 2 more hidden config options:
 - BR2_TOOLCHAIN_HAS_THREADS_DEBUG
 - BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED

The first tells us if the toolchain HAS pthreads debugging support,
and is checked by check_uclibc_feature in helper.mk for external uClibc
based toolchains.

The second tells us if the toolchain is ABLE TO provide pthreads debugging
support if threads are enabled, either because it's an internal toolchain
where we can force enable it or an external glibc/eglibc toolchain or
uClibc with the option enabled.

Crosstool-ng forcibly enables this support, so those will always work.
The preconfigured uClibc-based toolchains we have also all enable it.

Finally, show a comment if this isn't the case so the (external toolchain)
user knows why. This is placed outside the choice option, as menuconfig
has a bug where it doesn't show choice selections which only contain
comments.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-24 14:26:52 +01:00
Peter Korsgaard
e9985f5d5f gdb: fix version logic for bfin
GDB should default to 6.6 on bfin, not on !bfin.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-23 23:32:00 +01:00
Thomas Petazzoni
096c185c19 target gdb: depend on thread support
Compiling gdb for the target requires thread support in the C library,
otherwise:

/home/test/outputs/test-888/toolchain/gdb-7.3.1/gdb/gdb_thread_db.h:37:21: fatal error: pthread.h: No such file or directory

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-13 21:32:57 +01:00
Thomas Petazzoni
33b8c556af gdb: do not allow native gdb on SuperH architecture
The gdb debugger does not have support for running as the native
debugger on the SuperH architecture:

 configure: error: "*** Gdb does not support native target sh4-unknown-linux-gnu"

See also http://lists.debian.org/debian-superh/2010/04/msg00000.html.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-13 21:31:39 +01:00
Peter Korsgaard
228bde4dbe gdb: add 7.2a version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-05 16:58:55 +02:00
Yann E. MORIN
e23d0d7dd2 toolchain/gdb: fixup version strings
The gdb tarballs have been re-released after a GPL compliance
issue was found:
  http://sourceware.org/ml/gdb/2011-09/msg00030.html

So all versions were re-packaged.

In the process, an 'a' was appended to the version strings, and
unlike the binutils people, the gdb folks are not inclined in
providing legacy symlinks:
  http://sourceware.org/ml/gdb/2011-09/msg00036.html

So, this patch fixes the issue by renaming version strings. It is to be
noted that, although the versions got bumped to include an 'a' at the end,
the directory contained in the tarball is still named after the version
string without the 'a'. For example:
 - old version      : 6.6
 - new version      : 6.6a
 - tarball name     : gdb-6.6a.tar.bz2
 - directory name   : gdb-6.6/

In fact, it does not pose any problem for buildroot, as the extract process
explicitly mkdirs the directory to extract into, *and* strips the first level
of the tree extracted from the tarball.

[Peter: fixup patch to apply to head, don't rename config symbols]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-05 16:56:53 +02:00
Yann E. MORIN
c5da6f9553 toolchain/gdb: strip tarball component when extracting
For some tarballs of gdb (see next patch), the extracted directory is
*not* named after the version string (eg. gdb-6.6a extract into gdb-6.6/)

Create the appropriate directory first, then use --strip-{components,path}
when extracting gdb (the same way it is done for the generic package
infrastructure).

At the same time, get rid of the snapshot special case, because:
 1- it's no longer available in the menu
 2- it would be handled by the above change

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-05 16:46:50 +02:00
Peter Korsgaard
37f0d1bb7b gdb: misc cleanup
Only use 6.6 on bfin, remove 6.7.1, mark 6.8 + 7.0 as deprecated and
default to 7.3.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-05 16:14:26 +02:00
Yegor Yefremov
3903c3a73d gdb: bump to 7.3.1
this version fixes compilation issue on some old build systems like
openSUSE 10.3 saying some host libraries were too old

[Peter: drop bugfix number from config name, similar to kernel-headers]
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-05 15:20:12 +02:00
Thomas Petazzoni
102a93bdca support: move package/gnuconfig to support/gnuconfig
The CONFIG_UPDATE macro is no longer defined in
package/gnuconfig/gnuconfig.mk, but instead in
package/Makefile.autotools.in. It it also changed a little bit to take
the directory of the package sources as argument, and the AUTOTARGETS
infrastructure is updated to use this macro.

[Peter: drop echo in CONFIG_UPDATE]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-17 08:22:12 +02:00
Thomas Petazzoni
59a326b934 support: move patch-kernel.sh and rename it
The name "patch-kernel.sh" is a bit stupid, since this script is used
to patch everything in Buildroot, not only kernel trees.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-17 08:15:32 +02:00
Bjørn Forsman
816303a49d gdb: depend on host-expat to fix remote debugging
This patch fixes the following error when using GDB with gdbserver:

  warning: Can not parse XML target description; XML support was disabled at compile time
  Remote 'g' packet reply is too long: <very long line of hex chars>
  [remote debugging does not work]

Use $(HOST_CONFIGURE_OPTS) so expat is found.

Signed-off-by: Bjørn Forsman <bjorn.forsman@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-02-28 10:26:17 +01:00
Mike Frysinger
c574441c2a gdb: add support for Blackfin gdbserver
This requires removing "deprecated" markings from gdb-6.6, but this isn't
that big of a deal.  That is the last version with Blackfin support at the
moment and we're in the process of getting mainlined.

[Peter: only mark as undeprecated on bfin]
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-02-07 14:29:38 +01:00
Peter Korsgaard
34acba1b3e gdb: fixup symlink handling now tolchain gets installed into HOST_DIR
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-01-04 00:33:14 +01:00
Peter Korsgaard
0826a822b9 gdb: add source targets for gdbserver/gdbhost
So it gets handled by make source / external-deps

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-19 13:37:59 +01:00
Mike Frysinger
c4494d7289 gdb: drop local stripping in favor of top level
Since the top level takes care of stripping for us, and some file formats
cannot be stripped safely (like FLAT which will error out), simply punt
the manual stripping from the gdb package.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-18 11:58:19 +01:00
Peter Korsgaard
11334624c1 toolchain/gdb: fix WCHAR typo
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-10-01 16:41:05 +02:00
Thomas Petazzoni
d328fef63c gdb: disallow GDB_HOST on external toolchain builds
The cross-gdb is supposed to be part of the external toolchain, so
Buildroot does not need to build it. Moreover, GDB_HOST build
currently fail with:

ln -snf ../../bin/arm-unknown-linux-gnueabi-gdb \
                /home/test/outputs/test-48/staging/usr/arm-unknown-linux-gnueabi/bin/gdb
ln: creating symbolic link `/home/test/outputs/test-48/staging/usr/arm-unknown-linux-gnueabi/bin/gdb': No such file or directory

And even worse: they overwrite the cross-gdb of the external
toolchain!

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-29 16:04:38 +02:00
Thomas Petazzoni
a1c8fa41f6 Update all packages to quote $(TARGET_CC)
Now that TARGET_CC contains several space-separated words, it must be
used quoted everywhere.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-07 08:20:21 +02:00
Peter Korsgaard
a54f53d3e2 toolchain/gdb: get rid of 6.4 / 6.5
These are ancient (2006) and upstream strongly discourage using them:
ftp://sourceware.org/pub/gdb/old-releases/README

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-03 00:18:50 +02:00
Paulius Zaleckas
ee39d53ce3 Fix GDB BFD test linking
When compiling GDB for target (in my case i386) it links
wrong BFD library from host OS. This prevents GDB from compiling
support for ELF and thus GDB is unusable on target.

More about this issue was already posted at:
http://lists.uclibc.org/pipermail/buildroot/2009-March/026585.html

Fix this issue by forcing ELF support.

Signed-off-by: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-01 22:53:41 +02:00
Paulius Zaleckas
6ca43d88bc toolchain/gdb: Add GDB 7.0.1 and 7.1 support
Signed-off-by: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-01 22:08:48 +02:00
Peter Korsgaard
816e724a46 toolchain/gdb: target-gdb needs wchar support in toolchain
For the embedded readline/gettext stuff.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-04-19 11:05:30 +02:00
Peter Korsgaard
f220498f4b get rid of broken nios2 support
Has been marked as broken for more than 1 year, with no indication
that anyone cares, and it needs a bunch of special handling.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-03-30 17:19:59 +02:00
Peter Korsgaard
7a72f7b0d9 toolchain/gdb: remove external source toolchain leftover
Commit 65e99014 (Remove external source toolchain options) removed
external source-based toolchain support, but there was still a check
for it in gdb.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-02-09 11:48:17 +01:00
Yann E. MORIN
4b74321195 toolchain/gdb: get rid of another legacy and unused variable
BR2_VENDOR_GDB_VERSION and VENDOR_GDB_VERSION are no longer settable.
The only user is gdb, and it's totally useless in this case.

Signed-off-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-02-09 11:44:20 +01:00
Yann E. MORIN
7dd0591183 toolchain/gdb: get rid of legacy & unused variables
The BR2_VENDOR_SUFFIX and VENDOR_SUFFIX variables are no longer settable.
The only user is gdb, and is totally useless in this case.

Signed-off-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-02-08 17:03:03 +01:00
Thomas Petazzoni
18bc19cb19 gdb: remove external sources patches
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-12-14 23:54:48 +01:00
Thomas Petazzoni
45e93c5750 gdb: do not allow selection of non-avr32 versions on AVR32
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-12-14 23:54:46 +01:00
Thomas Petazzoni
9f21bfee08 gdb: add avr32 special verson
* Add a new gdb version for AVR32 in Config.in

 * Use a special mirror for this gdb version in gdb.mk

 * Do not try to apply patches when the patch directory does not exist
   in gdb.mk

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-12-14 23:54:43 +01:00
Peter Korsgaard
3fdf0bffb8 buildroot: silence ./configure step when building with 'make -s'
We have been passing -q to ./configure when using 'make -s' for
packages using Makefile.autotools.in for some time. Do the same
for packages using autotools, but not using the
Makefile.autotools.in infrastructure, taking care to not do it
for packages with hand written configure scripts.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-10-01 21:24:42 +02:00
Michael Roth
cb5710c538 rename TOOL_BUILD_DIR to TOOLCHAIN_DIR
To reflect the new output directory hierachy rename the Makefile variable
TOOL_BUILD_DIR to TOOLCHAIN_DIR.

Signed-off-by: Michael Roth <mroth@nessie.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-23 09:15:27 +02:00
Thomas Petazzoni
af2390c0f4 toolchain: use qstrip
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-09-05 14:43:18 +02:00
Maxim Grigoriev
adb9e905da toolchain: xtensa toolchain patch support
Part of #163.

Signed-off-by: Maxim Grigoriev <maxim2405@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-07-24 02:32:33 +02:00
Peter Korsgaard
8759a416c4 toolchain/gdb: remove ancient deprecated versions
They shouldn't be used anymore, needs havily patching (6.3 has more than
200k patches) and no one tests them with current toolchains.
2009-04-28 18:42:08 +00:00
Peter Korsgaard
f46b9cda0d toolchain/gdb: remove broken snapshot support 2009-04-28 18:42:02 +00:00
Peter Korsgaard
92bd25c9eb toolchain: fix up GNU_TARGET_NAME link and target_utils location
The GNU_TARGET_NAME symlink and target_utils location were not correctly
adjusted to match the move of the toolchain to $(STAGING_DIR)/usr,
creating dangling symlinks.
2009-01-30 13:34:42 +00:00
Peter Korsgaard
0ef35d5d5e toolchain/: convert to DOWNLOAD helper 2009-01-16 11:47:05 +00:00