Commit Graph

124 Commits

Author SHA1 Message Date
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
Peter Korsgaard
585aca9a5a add .empty files for git-svn
git-svn (and git) doesn't handle empty directories, so add .empty files
to those dirs like elsewhere in buildroot.

Those empty directories are normally not a big deal, but the recent changes
to u-boot broke the build.
2009-01-05 15:47:00 +00:00
Peter Korsgaard
e2e4950b2d toolchain: use same gdb Config.in for internal/external toolchains
We used to use different gdb configs for internal and external toolchains
because mconf won't source the same file twice. This works, but is kind of
sub optimal, as people forget to keep them in sync.

Fix it to use the same file for both situations by shuffling around the
config options a bit. Should work identical to before (except for the newer
gdb versions available for ext).
2008-12-15 15:28:48 +00:00
Peter Korsgaard
ffe33152e7 toolchain/gdb: 6.4 shouldn't be selectable for avr32 2008-12-08 08:54:14 +00:00
Peter Korsgaard
41d7b7087c toolchain/gdb: mark old versions as deprecated 2008-12-08 08:46:52 +00:00
Peter Korsgaard
5672e59075 toolchain/gdb: default to 6.8 2008-12-08 08:46:50 +00:00
Peter Korsgaard
0e14d4f7ff toolchain/: get rid of unneeded $(strip ..) 2008-12-08 08:15:42 +00:00
Peter Korsgaard
78c32db23b toolchain/gdb: add -source target 2008-12-07 21:22:45 +00:00
Peter Korsgaard
84ddc66a41 toolchain/*: use CONFIG_UPDATE
Based on e0e0945e in Bernhard's tree.
2008-12-05 15:27:26 +00:00