Commit Graph

122 Commits

Author SHA1 Message Date
Nye Liu
50df064004 Add option to build gdbserver for target that does not require libstdc++.so 2017-06-16 22:28:07 -07:00
Alexey Neyman
1e37cd5450 Honor CFLAGS_FOR_BUILD
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-06-15 23:07:00 -07:00
Alexey Neyman
72a5a1d6de Add GDB 8.0 ...
... which now requires C++.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-06-04 23:23:09 -07:00
Alexey Neyman
0fc6f1c47e CC_FOR_BUILD in gdb.sh
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-04-02 15:55:07 -07:00
Alexey Neyman
4562aa2cff Handle Python with non-default names
Check for python2/python3 and if found, pass them to --with-python.
Allow user to override the choice via a new config option. This
fixes systems where there is no "python", only "python2" or "python3".

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-04-01 19:19:35 -07:00
Alexey Neyman
2ef7d36efb Disable format warnings for clang
It picks up gettext string and results in [ERROR] messages from ct-ng
when gettext strings happen inside an error() call.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-07 00:15:29 -08:00
Alexey Neyman
59bab98b2d Revert "Determine whether -E/-r option selects extended regexp"
This reverts commit 7bcf18bfab.
2017-02-26 19:06:35 -08:00
Alexey Neyman
7bcf18bfab Determine whether -E/-r option selects extended regexp
... and then use the right option. See the note in scripts/functions
on where we should use ${foo} and where just 'foo'; this boils down to
whether we can expect the build tools override to be in effect (e.g. in
the actual build scripts) or not (i.e. outside of scripts/build).
While running in scripts/functions, or in scripts/crosstool-NG.sh the
build tools override directory (.build/tools/bin) may have not been
set up (yet, or at all).

Also, modify the installed scripts (populate, xldd) accordingly.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-13 22:47:40 -08:00
Alexey Neyman
93db580091 Merge pull request #584 from stilor/disallow-gold-for-elf2flt
Require BFD linker if building for flat format
2017-02-10 23:55:16 -08:00
Alexey Neyman
5920157fdd Supply --disable-build-with-cxx instead of requiring C++
... when building native GDB/gdbserver.

Suggested by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-09 22:14:36 -08:00
Alexey Neyman
a41978b95a Remove wrapping if in 300-gdb.sh
If GDB is turned off, the script will not be even sourced. Otherwise,
if GDB checkbox is set but none of the cross/native/gdbserver are
selected, debug.sh gives a bogus error message.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-09 21:21:57 -08:00
Alexey Neyman
7186e39f32 Run all configure scripts using ${CONFIG_SHELL}
... as its help message says in menuconfig.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-25 00:06:28 -08:00
Alexey Neyman
d34a6bd8a0 GDB 7.12 needs c++.
Also, minor fixes in 300-gdb.sh

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-13 21:47:07 -08:00
Alexey Neyman
9f5a92a783 Unify fetching Linaro components.
Add CT_GetLinaro, use it from gcc/binutils/gdb/glibc/newlib.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-12 23:00:41 -08:00
Alexey Neyman
4a138d8407 Shut clang's warning that confuses configure.
Warning causes gdb's configure to not detect <limit.h> declarations
of LONG_MIN/MAX.

Found-by: Kirill Smirnov <kirill.k.smirnov@gmail.com>
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10 10:39:37 -08:00
Alexey Neyman
f5a375e407 Merge pull request #443 from KirillSmirnov/gdb-native
debug/gdb: properly link with expat
2016-12-05 18:24:05 -08:00
Kirill K. Smirnov
ee1c04378c debug/gdb: restore comments
There are two separate issues with gdb configure usage:
1) inspecting build system libraries while cross-compiling;
2) preferring a shared library over static one.

The first usage issue is described and fixed now.
The second issue was described but the notes were removed
for some reason. This patch restores those notes.

Suggested-by: Alexey Neyman <stilor@att.net>
Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
2016-12-05 23:39:55 +03:00
Alexey Neyman
488b27f58b Partially revert 6f8e89cb5c.
The referenced commit replaced 'make' with '${make}' everywhere. This is
wrong for at least the utilities that we may build as companion tools
(make, libtool): this will always invoke the version detected by configure
by supplying the absolute path. In other words, the wrappers in
.build/tools/bin are not fallbacks - they are either temporary (in case
a respective companion tool is built) or permanent redirectors.

This is the reason why the PATH= has .build/*/buildtools/bin at higher
precedence than .build/tools/bin; the latter has the versions detected by
configure and the former has the versions built as companion tools.

Revert the rest of the gang (grep/sed/...) for consistency. After all,
we may decide to supply some of them as well (awk, for instance).

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-11-20 23:50:17 -08:00
Kirill K. Smirnov
f64f561e6f debug/gdb: Add comments for untrivial flags.
The necessity of --without-libexpat-prefix is not
obvious and needs comments.

Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
2016-09-12 01:13:55 +03:00
Kirill Smirnov
5d5465307b debug/gdb: properly link with expat
This patch fixes libexpat detection for gdb-native and
gdb-cross static builds.

For gdb-native build configure should not touch system
/usr/{lib,include} directories while looking for libexpat.
To fix this we pass --without-libexpat-prefix flag
to configure script.

For gdb-cross build configure is allowed to investigate
system /usr/{lib,include} directories, but it does not
hurt to disable this behavior. In this case configure
falls back to -lexpat, which works as expected.

For more info:
http://marc.info/?l=gnulib-bug&m=129660262901148&w=2

Signed-off-by: Kirill Smirnov <kirill.k.smirnov@gmail.com>
2016-09-09 21:25:53 +03:00
Alexey Neyman
2162cbbdb7 Work-around another quirk in GDB configure.
Previous fix for cross-gdb broke powerpc-unknown_nofpu-linux-gnu which
uses an old GDB (6.8a). That GDB's configure chokes on $CC values with
multiple consecutive spaces; see the comment in 300-gdb.sh.

Signed-off-by: Alexey Neyman <stilor@att.net>
2016-04-01 18:15:39 -07:00
Alexey Neyman
62d357d3c0 Unbreak static cross-gdb.
GDB's configure mishandles the libexpat.{so,a} libraries when it is
given -static in CFLAGS AND --with-libexpat-prefix in configure's args:
it checks for <prefix>/lib/libexpat.so and finding that, attempts to
link it as `gcc -static .. conftest.c <prefix>/lib/libexpat.so`; this
obviously fails (.so cannot be statically linked), so configure assumes
libexpat is unusable. Thus, --with-libexpat-prefix is dangerous and
should be avoided; instead, configure should find the libraries via the
supplied CC/LD definitions.
2016-04-01 18:15:39 -07:00
Bryan Hundven
9f89e082c5 Whitespace: We don't use tabs in shell or kconfig files
We indent by multiples of 4.
This change cleans up whitespace in offending files.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-12-08 10:55:17 -08:00
Bryan Hundven
4e2227e8a5 scripts: Update usage of CT_GetCustom
This commit updates the build scripts to match the new usage of
CT_GetCustom from the previous change.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-12-08 10:55:13 -08:00
Bryan Hundven
3c072d6206 binutils/gdb: Fix configure options when building from binutils-gdb repo
When building from:
{git,http}://sourceware.org/git/binutils-gdb.git

and setting BINUTILS_CUSTOM or GDB_CUSTOM, they could be the same
source.

These config options should not affect normal released versions.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-24 20:40:44 -08:00
Bryan Hundven
6f8e89cb5c consistency: Use exported variables of required tools
We check for apps:

* make
* sed
* grep
* awk
* libtool/libtoolize
* install
* patch
* and more

...during configure. Our scripts should be consistent about using the
variables that define where the found tool was found.

Of course, we do hard-link these tools in buildtools, but that should be
a backup for the components we are building. Our scripts should always
use the tools we find.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-17 02:48:09 -08:00
Alexey Neyman
16f7a9578f Clean up 300-gdb.sh a bit.
Now that expat/curses have migrated into separate script, no need for
do_debug_gdb_parts() and need_gdb_src checks.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-13 10:32:26 -08:00
Alexey Neyman
4d2d2ba954 Enable building expat/ncurses for host.
Then re-enable cross-gdb for nios2-spico-elf sample, previously
disabled.
2015-11-13 10:31:46 -08:00
Alexey Neyman
6102726147 Change ncurses to a companion library.
Currently, builds for build and target (matching the current
implementation). Need to add building for host for canadian crosses.

TIC_PATH is removed - configure in ncurses searches $PATH, so it finds
'tic' in buildtools anyway. Arguably unneeded code for MacOS also
removed, with a FIXME comment for validation by someone using MacOS.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-13 10:31:46 -08:00
Alexey Neyman
ac7ce38475 Convert expat for target into a companion lib.
Expat-for-host to be done.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-13 10:28:44 -08:00
Chris Zankel
81328ed1cb xtensa: add support for the configurable Xtensa architecture.
The Xtensa processor architecture is a configurable, extensible,
and synthesizable 32-bit RISC processor core. Processor and SOC vendors
can select from various processor options and even create customized
instructions in addition to a base ISA to tailor the processor for
a particular application.

Because of the configurability, the build process requires one additional
step for gcc, binutils, and gdb to update the default configuration.
These configurations are packed into an 'overlay' tar image, and are
simply untarred on top of the default configuration during the build.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2015-11-13 09:08:53 +03:00
Ray Donnelly
cfd4437bf7 gdb: Update 300-gdb.sh for multiple compilers
Update 300-gdb.sh to use the new config options.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
Reviewed-by: Bryan Hundven <bryanhundven@gmail.com>
Reviewed-by: Yann Diorcet <diorcetyann@gmail.com>
2015-06-02 00:01:34 +01:00
Bryan Hundven
7b8d76ed56 scripts/*/*.sh: prioritize http downloads
Prirotize http downloads before ftp downloads.
By having http download first, those using proxy will work with the
current download mechnism.

This tells me that that mechnism needs to be updated.
(proxy support and/or kconfig toggles)

closes #3

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-02-01 21:00:14 -08:00
Cristoforo Cataldo
017d2d014e debug: gdb: Add Linaro GDB 7.8-2014.09 and Linaro GDB 7.6.1-2013.10
This commit allows to choose, download and build latest Linaro GDB:
- gdb-linaro-7.8-2014.09
- gdb-linaro-7.6.1-2013.10

Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
2015-01-16 22:07:44 +01:00
Bryan Hundven
9159846334 gdb: fix typo made in gdb build script
I made a typo in: 1e17619b27

It should be version, not release.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-09 22:16:40 -08:00
Bryan Hundven
91cf168d76 gcc and gdb: fix fetching linaro builds (part three)
Yes, I missed the backslash which messed up the linaro stuff.
The more I look at this code, I feel it needs to be refactored a bit. So
I'll come back to this in the future and clean it up.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-08 23:46:41 -08:00
Bryan Hundven
1e17619b27 gcc and gdb: fix fetching linaro builds (part two)
It's not my day.

linaro_version is a filter. If it is not a linaro toolchain, it will
just be CT_{CC,GDB}_VERSION. If it is a linaro toolchain, CT_{CC,GDB}_VERSION
will be prefixed with 'linaro-' and will not match linaro_version, as
linaro_version will just have the part after 'linaro-'.

This *really* fixes the issue :sigh:

Thanks again to @elsonwei for being right the first time!

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-08 23:27:46 -08:00
Bryan Hundven
aee4142a9d gcc and gdb: fix fetching linaro builds
linaro_version and linaro_series are defined but not set if we are not
configured for linaro builds.

Therefore we need to default them to "" (null string).
As reported by @elsonwei

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-08 22:32:19 -08:00
Bryan Hundven
79422633cf scripts: Update download locations
This change updates the download locations to default to the official
download site.

For gcc and gdb, also separate out the linaro download locations so that
if you are downloading the linaro variant, it skips trying to download
from the official gcc mirror.

This commit closes #3

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-08 15:03:08 -08:00
Yann E. MORIN"
78c5cab850 debug/gdb: fix canadian-cross in case of static cross gdb
Building the cross-gdb shoud be done using the host compiler,
not the native compiler.

Reported-by: Per Arnold Blaasmo <per-arnold.blaasmo@atmel.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-11-15 21:35:27 +01:00
Samuel Martin"
1fc10f2779 debug/gdb: enforce gdbserver cross-compilation
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Message-Id: <ca85cad85c4dd20e74f1.1363446262@laptop>
Patchwork-Id: 228219
2013-03-16 15:46:45 +01:00
Yann E. MORIN"
a5491bd775 debug/gdb: a litle bit of trivial code-reordering
Move all options-setting code at the same place.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-03-03 17:17:55 +01:00
Yann E. MORIN"
6fef7d640a debug/gdb: fix possibly broken code
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-03-03 17:15:56 +01:00
Yann E. MORIN"
ea899b6767 debug/gdb: move the ncurses build to a backend
This cleans up the code a bit.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-03-03 16:21:51 +01:00
Yann E. MORIN"
71d2f41cf9 debug/gdb: always enable expat for the cross-gdb
There's no point in not supporting XML in the cross-gdb.
I mean, come on... ;-)

It's still the responsibility of the user to have the necessary
devel expat packages installed for his/her distro.

Reported-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-03-03 16:19:32 +01:00
Yann E. MORIN"
5b41901f99 debug/gdb: fix $need_expat_src usage for native-gdb
For the native-gdb (ie on the target), we unconditionally
need to build expat.

Make it a backend, it makes a litle bit cleaner code.

Reported-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-03-03 15:30:02 +01:00
Yann E. MORIN"
c31652d67d debug/gdb: fix $need_ncurses_src usage
It should be used only to decide whether we need to download/extract
ncurses, not wheter we should build it or not.

Reported-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-03-03 15:25:52 +01:00
Yann E. MORIN"
42b0a64885 debug/gdb: fix the mess do_{gdb,expat,ncurses} have become
Rename those three variables to properly reflect their purpose: decide
whether we need to download/extract gdb/libexpat/libncurses, not whether
we need to build them or not.

This is only a rename for now, subsequent changes will further
fix this mess.

Reported-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-03-03 15:02:32 +01:00
Yann E. MORIN"
79243c2f8d debug/gdb: remove ncurses cleanup
That's legacy code that was usefull when ncurses was installed
in the sysroot. Still it's not longer the case (it's installed
in a special dedicated directory), we can remove that piece of
code.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-10-30 00:23:51 +01:00
David Holsgrove
35f55a7495 debug/gdb: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustom
CUSTOM_LOCATION config options only presented in menuconfig if component
CUSTOM version selected.

Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com>
[yann.morin.1998@free.fr: don't patch custom dir location]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <9ea1b5021fc77582867f.1349931197@localhost.localdomain>
PatchWork-Id: 190791
2012-10-11 14:39:42 +10:00