Commit Graph

72 Commits

Author SHA1 Message Date
Zhenqiang Chen
5094e8bc0a debug/gdb: disable nls when CT_TOOLCHAIN_ENABLE_NLS is not selected
Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
Message-Id: <CACgzC7Bn+WpbgDruNeZ4s1z0x1deF6n4YyS22Dy7p_d1fFDVCA@mail.gmail.com>
PatchWork-Id: 191042
2012-09-29 14:34:15 +08:00
David Holsgrove
f6eeea1881 scripts/gdb: If not building expat for gdb, disable
--with-expat=yes is unconditionally passed to the gdb configure
stage, instead of respecting the ${do_expat} decision.

Disable if not needed. Prevents error building canadian cross;

configure: error: expat is missing or unusable

Where configure stage fails to find expat on the host compiler.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Message-Id: <4c4410a2a8aab24a29c5.1349244128@localhost.localdomain>
PatchWork-Id: 188711
2012-10-03 15:59:22 +10:00
Bryan Hundven
0997c18f1e debug/expat: Update expat to 2.1.0
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Message-Id: <c59009fdaf23d82822c6.1345364052@flambe.is-a-geek.org>
2012-08-19 01:11:45 -07:00
Bryan Hundven
6e65a05261 scripts: use generic urls for sourceforge
For expat, duma, and strace, use the generic url and 302 to the mirror
instead of trying to download a file from a downed mirror and
failing.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Message-Id: <b69ebeb72fef93c04c84.1345364051@flambe.is-a-geek.org>
2012-08-19 01:09:40 -07:00
Yann E. MORIN"
9d8035bbaf debug/gdb: add option to enable/disable the IPA lib for gdbserver
gdbserver >= 7.2 comes with an optional library to use tracepoints, the
In Process Agent (IPA) library, libinproctrace.so.

Currently, we build gdbserver staticaly, but that breaks the build of
the IPA lib.

Add an option to biuld the IPA lib, but not if statically linking.

Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-05-17 17:56:27 +02:00
Yann E. MORIN"
b02975d5e8 scripts: fix download from sourceforge
It seems sourceforge changed yet again the way to download files.
This time, no longer use their 'mesh' thingy, and hard-code the
server to use in the URL... Sigh... :-(

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-02-05 23:26:55 +01:00
Yann E. MORIN"
145d048e58 debug/gdb: --disable-sim for CT_GDB_CROSS.
sim was already disabled for CT_GDB_NATIVE.

Reviewed-by: Michael Hope
Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
[yann.morin.1998@anciens.enib.fr: make it a config option]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-18 16:22:52 +08:00
Yann E. MORIN"
3980ce9905 debug/gdb: add extra config for gdb cross.
Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
[yann.morin.1998@anciens.enib.fr: prompt rewording, as suggested by M. Hope]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-23 13:15:27 +08:00
Yann E. MORIN"
74d555b2c3 scripts: add support for building manuals
Add support for building the HTML and PDF manuals for the major
components.  Implement for binutils, GCC, GDB, and GLIBC.

Always build all manuals and install a subset.  Be explicit about the
subset to reduce the clutter and to avoid getting copies of common
manuals like bfd from all of the sourceware based components.  Downside of
being explicit is that you need to update it when a new component
comes along.

Build the manuals as part of the last GCC build, namely 'cc' for glibc
based ones and cc_core_pass_2 for baremetal.

An example of the output is at:
 http://people.linaro.org/~michaelh/incoming/crosstool-NG/

Signed-off-by: Michael Hope <michael.hope@linaro.org>
[yann.morin.1998@anciens.enib.fr: depends on ! remove docs; gold manual install]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-16 10:06:21 +13:00
Yann E. MORIN"
2183a850e2 debug/gdb: fix tic install path, tell ncurses where to find it
ncurses 5.9 wants tic to be either one of:
 - $TIC_PATH
 - /usr/bin/tic

Of course, se do not want the latter, for it can be incompatible if the
ncurses in the build system is too old (eg. RHEL 5.6, Debian Lenny...).
So, force TIC_PATH to the location of our own tic.

Also, install tic alongside the other build tools, not in a sub-dir
of the toolchain installation dir.

Signed-off-by: Willy Tarreau <w@1wt.eu>
[yann.morin.1998@anciens.enib.fr: install in builtools/bin, move TIC_PATH]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-15 19:11:57 +01:00
Yann E. MORIN"
c7a396f9b7 debug/gdb: new option to enable/disable use of python
Add a new option to enable/disable the Python scripting in gdb.
Hide the option (ie. disable it) when statically linking the cross-gdb.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-10-08 22:57:21 +02:00
Yann E. MORIN"
307400f4ca debug/gdb: we don't care if the host tic is shared or static
Because we need our own host tic, we have to build it; and we do build
it statically for now.

But as MacOS/Darwin/Whatever-you-call-it does not support static linking
(what a shame!), it fails.

Anyway, we don't really care it being shared, in the end.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-17 23:53:49 +02:00
Yann E. MORIN"
2c98fef576 debug/gdb: use ncurses-5.9
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-18 23:52:47 +02:00
Yann E. MORIN"
32ac6af49f debug/gdb: don;t install sample gdbinit for old versions
Only starting with gdb-7 does installing the gdbinit sample makes senses.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-30 00:05:53 +02:00
Yann E. MORIN"
82ba904b90 debug/gdb: install gdbinit sample file
gdb needs to know where to find the libstdc++ helper python script
to do, well, whatever it has to do with it...

We can't install that in the user's ~/.gdbinit, it's too complex to
handle all the cases. Moreover, if the user is using more than one
toolchain, we can't put all that stuff in there...

Just provide a sample config file the user can adapt to his/her
own needs.

Thanks go to Khem RAJ for providing such a hint:
    http://sourceware.org/ml/crossgcc/2011-07/msg00026.html

Reported-by: ANDY KENNEDY <ANDY.KENNEDY@adtran.com>
CC: Khem Raj <raj.khem@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-24 20:30:52 +02:00
Yann E. MORIN"
b5225e3ff2 debug/cross-gdb: check host dependencies
Cross-gdb depends on expat and python. If either is missing, cross-gdb will
build successfully, but lacking some features.

Especially, if expat is missing, cross-gdb will be unable to parse the target
description, which may lead to runtime malfunctions and the following GDB
warning:
"Can not parse XML target description; XML support was disabled at compile time"

Hence, expat should be considered mandatory.

On the other hand, the features missing without python are not critical, so
python should not be considered mandatory.

This patch does the following:
 - At configure time, warn the user if either expat or python is missing.
 - In menuconfig, disable the static build options regarding cross-gdb if no
   static version of expat is available, and disable cross-gdb if expat is
   missing.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
[yann.morin.1998@anciens.enib.fr: add comment for impossible static cross-gdb]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-06-08 15:47:43 +02:00
Benoît THÉBAUDEAU"
d147fbb201 kconfig: prepend CT-NG's version tag to PKGVERSION
"crosstool-NG-${CT_VERSION}" is currently the default for TOOLCHAIN_PKGVERSION,
and this options is passed as is to --with-pkgversion.

This patch prepends "crosstool-NG ${CT_VERSION}" to TOOLCHAIN_PKGVERSION before
passing it to --with-pkgversion.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-06-03 17:21:56 +02:00
Benoît THÉBAUDEAU"
500ee00f22 gdb: use the PKGVERSION and BUGURL options
This patch makes gdb benefit from the TOOLCHAIN_PKGVERSION and
TOOLCHAIN_BUGURL options.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-05-31 21:03:03 +02:00
Benoît THÉBAUDEAU"
911a3d473e debug/gdb: fix runtime sysroot
This patch sets the runtime sysroot to fix the following GDB warning:
"Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code."

The sysroot can later be changed within gdb with the `set sysroot`
command if necessary.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-05-25 20:23:48 +02:00
Yann E. MORIN"
2431da8122 debug/gdb: log even more
Also log variable assignement for single commands.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20 00:55:07 +01:00
Yann E. MORIN"
30e16a4dff debug/gdb: chmod ncurses files to u+w
The ncurses-5.7 tarball contains only RO files.
We have to chmod them u+w.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-03 19:26:08 +01:00
Yann E. MORIN"
a59b794f9c debug/gdb: add versions from Linaro
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-17 23:05:34 +01:00
Yann E. MORIN"
49ab32ffe2 scripts: PARALLELMFLAGS is evil, rename
The reunification of the glibc/eglibc code paths exposed a nasty
bug in the glibc build: use of PARALLELMFLAGS breaks the build.

See the explanations in that bug report against FC6:
    https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=212111

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22 22:35:43 +01:00
Anthony Foiani
92898249bd scripts: add "FILE" and "CFG" debug levels.
I ran into some minor difficulties looking through the build log for a
particular file: I wasn't interested in seeing it unpacked, but only
when it is built or installed.  Adding these two levels allows me to
differentiate between those cases.

[Yann E. MORIN: Those are blind log levels, and are used only to search
 in the build-log afterward.]

Signed-off-by: Anthony Foiani <anthony.foiani@gmail.com>
2010-10-22 22:02:57 +02:00
Yann E. MORIN"
0622671d26 debug/gdb: use libexpat
gdb can use libexpat to parse target memory descriptions,
among other things. See:
  http://sourceware.org/ml/crossgcc/2010-08/msg00168.html

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-23 10:47:00 +02:00
Yann E. MORIN"
7a70e935c6 debug/gdb: install dependable libs in a generic target static libs dir
For now, ncurses is the only dependable target library built for gdb.
But expat is coming, and there's no reason to install each library in
its own place.

So, install ncurses in a generic directory, where other dependable
libraries can be installed as well.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-23 14:32:16 +02:00
Yann E. MORIN"
e81fe2c778 debug/gdb: companion libs are not used
Although the gdb ./configure advertises for GMP and MPFR, those libraries
are not used by gdb (the ./configure is used across different packages,
hence the check for GMP/MPFR). See:
  http://sourceware.org/ml/crossgcc/2010-08/msg00168.html

The same applies to MPC.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-23 10:38:15 +02:00
Yann E. MORIN"
8258ad7bcf debug/gdb: properly remove build tic
tic is isntalled in buildtools, not in the toolchain's bin dir.
Plus, it may have an extension...
2010-07-11 22:26:29 +02:00
Yann E. MORIN"
eec696451e debug/gdb: Fix compilation for Mingw hosts
GDB requires PDcurses instead of ncurses while running on Windows.
So, do not always compile ncurses in case GDB needs to build.

PDcurses is provided by an earlier build step and is not described in
this file.

Signed-off-by: Remy Bohmer <linux@bohmer.net>
[yann.morin.1998@anciense.nib.fr: we already have a way to detect ncurses usage]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-07-11 22:23:34 +02:00
Yann E. MORIN"
e8a36ea13c debug/gdb: fix incorrect path
Fix discrepancy between the directory we create,
and the directory into which we install tic.
2010-07-01 01:17:01 +02:00
Yann E. MORIN"
c4e987288e debug/gdb: install tic in the buildtools directory
'tic' is a build tool, its place is in the buildtools
directory, not in the toolchain's bin directory.
2010-04-29 22:14:31 +02:00
Yann E. MORIN"
3fda8a4876 debug/gdb: be less verbose during the ncurses build 2010-04-29 22:12:27 +02:00
Yann E. MORIN"
3ad58b9c50 debug/gdb: remove insight
Insight seems to be very slow to follow up on mainstreram gdb.
Latest snapshots are more than 6 months old.

Moreover, I don't have time to maintain insight support in crosstool-NG;
and, because I don't use it, I am unable to find any breakage.
2010-04-15 20:00:23 +02:00
Yann E. MORIN"
bf86627982 scripts/functions: make CT_Patch dumber
It is the responsibility of the caller to split the package name from
its version. It already knows that.
2010-04-11 23:18:10 +02:00
Yann E. MORIN"
2a6e9ce59a debug/gdb: remove snapshot version 2010-04-11 23:05:48 +02:00
Yann E. MORIN"
2244007325 debug/gdb: gdb>=7.0 can use MPC, enable for cross-gdb 2010-03-15 22:02:02 +01:00
Yann E. MORIN"
2583337c7c debug/gdb: add option to use GMP and MPFR
GMP and MPFR are optional for gdb, so offer a config option.
2010-03-15 21:51:20 +01:00
Yann E. MORIN"
b2c9b2d48f debug/gdb: fix building the native tic
The native 'tic' will _always_ be run on the build
machine, so no need to handle canadian/native/...

Reported by: Trevor Woerner
http://sourceware.org/ml/crossgcc/2010-03/msg00055.html
(transplanted from 26e89d367ea11660fd3a0bf0bcad8763e4fa21cf)
2010-03-16 23:10:46 +01:00
Yann E. MORIN"
2949150cbe complibs: hide companion libraries for target entry
The companion libraries on the target are required only for internal use by
binutils and gdb. The user should not have to know about this, so hide the
option.
2010-02-17 23:50:49 +01:00
Yann E. MORIN"
3eaa187de5 complibs: split-up selection for individual libs 2010-02-17 23:47:47 +01:00
Yann E. MORIN"
ed71d902c9 debug/gdb: fix the space-damage 2010-01-21 22:45:09 +01:00
Yann E. MORIN"
64aae637f8 debug/gdb: do not expose the ncurses version in the menuconfig 2010-01-21 22:33:54 +01:00
Yann E. MORIN"
8f41039a3c debug/gdb: install ncurses in a temporary place
We only build the static ncurses, to be used to build the native gdb,
and it needs not be available for anyone but us. So install it into
a temporary place, and get rid of it once gdb is built.
2010-01-13 22:30:10 +01:00
Yann E. MORIN"
ad943c1a37 debug/gdb: staticaly link to ncurses for the native gdb
Staticaly link the native gdb (the one that runs on the target,
not the cross one that runs on the host) to ncurses.
2010-01-13 20:46:01 +01:00
Yann E. MORIN"
da84e43df4 debug/tools: set the ncurses extension to .tar.gz
TRying to download every extension in turn takes ages, so
help the helper by telling what extension to retrieve.
2009-12-30 15:38:03 +01:00
Yann E. MORIN"
c3b2d932d8 debug/gdb: cleanup (remove) the static ncurses build
ncurses is built solely for the sake of building a native gdb.
The user should not rely on this library to build his/her userland,
but should rather build his/her own. So we remove it from the
sysroot after we successfully build the native gdb.
2009-10-03 17:09:18 +02:00
Yann E. MORIN"
59a37160af Make gdb's extra_config an array containing ./configure options
Change extra_config from a string to a array of options.
2009-08-19 19:44:43 +02:00
Yann E. MORIN"
529d2f6cbe Cleanup the tic build used for native ncurses build, itself needed for native gdb build.
/trunk/scripts/build/debug/300-gdb.sh |   24    12    12     0 ++++++++++++------------
 /trunk/scripts/build/internals.sh     |    1     0     1     0 -
 2 files changed, 12 insertions(+), 13 deletions(-)
2009-03-30 21:17:21 +00:00
Yann E. MORIN"
6c060f2375 Finally make ncurses-5.7 corctly build:
- find the executables extension (needed under some OS, like Winblows)
- build tic in //
- simplify the make and install command lines

 /trunk/scripts/build/debug/300-gdb.sh |   10     7     3     0 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)
2009-03-24 17:39:45 +00:00
Yann E. MORIN"
37d19f8954 Final touch to the ncurses build step:
- use build tools to build tic, instead of native ones.

 /trunk/scripts/build/debug/300-gdb.sh |    9     6     3     0 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
2009-03-23 23:35:36 +00:00