This adds a patch to gdb 7.12 and gdb 8.x, which fixes the build on
noMMU platforms. It is not needed for older versions of gdb, since
it's related to the switch of gdb to C++ in the 7.12 release.
Fixes:
../nat/linux-ptrace.c: In function 'int linux_fork_to_function(gdb_byte*, int (*)(void*))':
../nat/linux-ptrace.c:273:29: error: invalid conversion from 'void*' to 'gdb_byte* {aka unsigned char*}' [-fpermissive]
child_stack = xmalloc (STACK_SIZE * 4);
The patch has already been merged upstream, as of commit
ffce45d2243e5f52f411e314fc4e1a69f431a81f, and will therefore be part
of future gdb releases.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Microblaze support was never upstreamed in gdb. We currently use a gdb
from the Xilinx Github repository, but this gdb is based on 7.6, and
has never been updated in the last 4 years. There are no other active
branches at https://github.com/Xilinx/gdb/branches.
Xilinx has a slightly newer gdb, based on 7.7, available at
https://github.com/Xilinx/meta-xilinx/tree/master/recipes-microblaze/gdb. However,
it's apparently only available in the form of stack of big patches
(https://github.com/Xilinx/meta-xilinx/tree/master/recipes-microblaze/gdb/files).
Currently, gdb on Microblaze fails to build in various conditions:
* Against glibc, with "error: conflicting types for 'ps_lgetfpregs'"
* Against musl, with "error: unknown type name 'elf_gregset_t'"
While those issues can probably be fixed, the fact that there is no
active upstream significantly reduces the incentive to fix those
problems.
Therefore, let's drop support for gdb on Microblaze entirely.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Both our target and host gdb depend on ncurses (host-ncurses for
host-gdb, of course). However, while for the target we passs
--with-curses, we are not doing this for the host variant. Due to
this, host-gdb default to using the termcap library: if such a library
is available on the build system, it will be used instead of the
host-ncurses we have built. This causes the host gdb binary to depend
on a library that we do not provide in $(HOST_DIR), breaking the
principle of a standalone SDK (which should only depend on the C
library).
To solve this, we simply pass --with-curses in HOST_GDB_CONF_OPTS,
which forces host-gdb to use the host-ncurses library.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
It can be interesting to get the overlay from a remote server, rather
than expect it to be present locally.
Since that file can be any URL, we can't know its hash, so we just
exclude it.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
[Thomas: use DL_DIR instead of BR2_DL_DIR.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
currently, specifying a custom Xtrensa core is done with two variables:
- the core name
- the directory containing the overlay tarball
However, the core name only serves to construct the tarball name, and is
not used whatsoever to configure any of the toolchain components
(binutils, gcc or gdb), except through the files that are overlayed in
their respective source trees.
This has two main drawbacks:
- the overlay file must be named after the core,
- the tarball can not be compressed.
Furthermore, it also makes it extremely complex to implement a download
of that tarball.
So, those two variables can be squeezed into a single variable, that is
the complete path of the overlay tarball.
Update the qemu-xtensa defconfig accordingly.
Note: we do not add a legacy entry for BR2_XTENSA_CORE_NAME, since it
was previously a blind option in the last release, and there's been no
release since we removed BR2_XTENSA_CUSTOM_NAME. So, we just update the
legacy comments for BR2_XTENSA_CUSTOM_NAME, since that's all the user
could have seen in any of our releases so far.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since things are no longer installed in $(HOST_DIR)/usr, the callers
should also not refer to it.
This is a mechanical change with
git grep -l '$(HOST_DIR)/usr/bin' | xargs sed -i 's%$(HOST_DIR)/usr/bin%$(HOST_DIR)/bin%g'
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Currently building full gdb for MIPS musl fails because it's trying to
include <sgidefs.h> which is provided by glibc and uClibc, but not by
musl.
However, the kernel headers provide <asm/sgidefs.h> which has the same
definitions, so we can use that one instead.
Backporting a patch that has been sent upstream. Taken from here:
https://sourceware.org/bugzilla/show_bug.cgi?id=21070
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit adds a small patch to gdb that fixes the build of gdbserver
on m68k/coldfire:
../nat/linux-ptrace.c: In function 'linux_fork_to_function':
../nat/linux-ptrace.c:282:19: warning: implicit declaration of function 'clone' [-Wimplicit-function-declaration]
child_pid = clone (function, child_stack + STACK_SIZE,
^
../nat/linux-ptrace.c:283:5: error: 'CLONE_VM' undeclared (first use in this function)
CLONE_VM | SIGCHLD, child_stack + STACK_SIZE * 2);
^
../nat/linux-ptrace.c:283:5: note: each undeclared identifier is reported only once for each function it appears in
Thanks to Waldemar for pointing out the patch fixing this issue.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
Changes since v2:
- None
Changes since v1:
- New patch in the series
This commit small patches to gdb that fix redefined structures build
problems that occur when building on PowerPC, PowerPC64, PowerPC64le and
SuperH with the musl C library.
The PowerPC(64)(le) patch was taken from the Yocto Project, the SuperH
patch was inspired from the PowerPC patch. The issue has also been
reported upstream to the musl developers:
http://www.openwall.com/lists/musl/2017/06/03/1
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
Changes since v2:
- None
Changes since v1:
- None
Neither gdb nor gdbserver have support for ARM noMMU and OpenRISC, so
let's disable gdb on those architectures.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
Changes since v2:
- Fixed BR2_openrisc to BR2_or1k in Config.in.host
Changes since v1:
- Fixed BR2_openrisc to BR2_or1k
Before adding more architecture dependencies to gdb, let's introduce a
BR2_PACKAGE_GDB_ARCH_SUPPORTS, to avoid duplicating this list of
dependencies between the Config.in comment and the main Config.in
option.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
Changes since v2:
- None
Changes since v1:
- None
This commit bumps ARC toolchain to arc-2017.03-rc2
Please note that it is a release candidate and it might contain some
breakages, please don't use it for production builds.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The check-package script when ran gives warnings on ordering issues
on all of these Config files. This patch cleans up all warnings
related to the ordering in the Config files for packages starting with
the letter g in the package directory.
The appropriate ordering is: type, default, depends on, select, help
See http://nightly.buildroot.org/#_config_files for more information.
Signed-off-by: Adam Duskett <Adamduskett@outlook.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The check-package script when ran gives warnings on indentation issues
on all of these Config.in files. This patch cleans up warnings related to
the indentation of the Config.in files in the package directory
Signed-off-by: Adam Duskett <Adamduskett@outlook.com>
[Thomas: do not change package/kodi/Config.in and package/x11r7/Config.in.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit bumps ARC toolchain to arc-2017.03-rc1
Please note that it is a release candidate and it might contain some
breakages, please don't use it for production builds.
Also I have updated patches for binutils as our source files in
binutils differ comparing to 2.28.
Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
We want to use SPDX identifier for license string as much as possible.
SPDX short identifier for LGPLv2/LGPLv2+ is LGPL-2.0/LGPL-2.0+.
This change is done using following command.
find . -name "*.mk" | xargs sed -ri '/LICENSE( )?[\+:]?=/s/LGPLv2(\+)?/LGPL-2.0\1/g'
Signed-off-by: Rahul Bedarkar <rahulbedarkar89@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
We want to use SPDX identifier for license string as much as possible.
SPDX short identifier for LGPLv3/LGPLv3+ is LGPL-3.0/LGPL-3.0+.
This change is done using following command.
find . -name "*.mk" | xargs sed -ri '/LICENSE( )?[\+:]?=/s/LGPLv3(\+)?/LGPL-3.0\1/g'
Signed-off-by: Rahul Bedarkar <rahulbedarkar89@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
We want to use SPDX identifier for license string as much as possible.
SPDX short identifier for GPLv3/GPLv3+ is GPL-3.0/GPL-3.0+.
This change is done using following command.
find . -name "*.mk" | xargs sed -ri '/LICENSE( )?[\+:]?=/s/\<GPLv3\>/GPL-3.0/g'
Signed-off-by: Rahul Bedarkar <rahulbedarkar89@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
We want to use SPDX identifier for license strings as much as possible.
SPDX short identifier for GPLv2/GPLv2+ is GPL-2.0/GPL-2.0+.
This change is done by using following command.
find . -name "*.mk" | xargs sed -ri '/LICENSE( )?[\+:]?=/s/\<GPLv2\>/GPL-2.0/g'
Signed-off-by: Rahul Bedarkar <rahulbedarkar89@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Starting with glibc 2.25, the proc_service.h header has been copied
from gdb to glibc so other tools can use it. However, that makes it
necessary to make sure that declaration of prfpregset_t declaration
is consistent between gdb and glibc. In gdb, however, there is a
workaround for a broken prfpregset_t declaration in glibc 2.3 which
uses AC_TRY_RUN to detect if it's needed, which doesn't work in
cross-compilation. So pass the cache option to configure.
It needs to be passed to GDB_CONF_ENV to build gdbserver only but
also to GDB_MAKE_ENV, because otherwise it does not get passed to the
configure script of nested packages while building gdbserver with full
debugger.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
In glibc 2.25, the proc_service.h header was copied from gdb to glibc.
However, in the process the 'const' was removed, which leads to build
failures with glibc >= 2.25.
gdb 7.12.1 already contains this patch. The patch for 7.11.1 comes
straight from upstream, the patch for 7.10.1 is backported by me.
Fixes http://autobuild.buildroot.net/results/6b1b44e72147113b3f0e3f049cb9026d6c7dffb7
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This fixes the following gdb-7.12.1 build error on xtensa architecture:
gdb/xtensa-linux-nat.c: In function 'void fetch_gregs(regcache*, ptid_t, int)':
gdb/xtensa-linux-nat.c:178:23: error: uninitialized const 'regs' [-fpermissive]
const gdb_gregset_t regs;
Backported from: d274ecf4ddf76768af57e27f654b9ce6784b391c
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
... like it is done for gcc.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
... instead of re-computing them over-and-over-again.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The previous fix [1] reinroduced the issue fixed by [2].
So keep gl_cv_func_gettimeofday_clobber=no in GDB_CONF_ENV
and GDB_MAKE_ENV.
Fixes:
http://autobuild.buildroot.net/results/ec6/ec60d436bd34a4f37b664e4124d7f0c96e90a1be
[1] faf38b78ae
[2] 560334bb2a
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit bumps ARC toolchain to arc-2017.03-eng008.
Please note that it is an engineering build and it might have all kinds
of breakages, please don't use it for production builds.
Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The commit [1] doesn't fix this issue for all cases (it doesn't work
when BR2_PACKAGE_GDB_DEBUGGER=y).
So, leave the configure script alone and override
gl_cv_func_gettimeofday_clobber from GDB_MAKE_ENV.
[1] 560334bb2a
Fixes:
http://autobuild.buildroot.net/results/719/719a441421030b79c0aa1bbfb707130f3ac87338
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This revert the commit [1] which break the simulator for aarch64.
Backport the upstream fix instead (from 7.12).
[1] f71ad71f24
Tested with gcc 4.4.5 (debian squeeze chroot).
Fixes:
http://autobuild.buildroot.net/results/cfd/cfdc9117fef7ecdf5cc5fc907a6fe8701a2c174a
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Waldemar Brodkorb <wbx@openadk.org>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
gdb 7.12+ by default builds with a C++ compiler, which naturally doesn't
work when we don't have C++ support in the toolchain.
Fix it by passing --disable-build-with-cxx for such setups.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
As described at:
4520524ba0
this commit continues a series of updates of ARC tools.
This time we're updating tools to arc-2016.09 release version.
Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Now that 7.12 has been added and 7.11 is the default version, let's
remove the old 7.9 release.
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
7.12 is around, 7.11 has already seen a point release, so it's time to
make 7.11 the default version for gdb.
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
gdb 7.12 was released on October 2016, it's time to include it in
Buildroot, which this commit does.
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
As described at:
4520524ba0
this commit continues a series of updates of ARC tools.
This time we're updating tools to arc-2016.09-rc2.
This change contains a set of minor fixes and updates.
Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
gdb arc-2016.09-rc1 is based on upstream 7.12 gdb version where we can
still disable C++ build. For more information take a look at:
https://sourceware.org/gdb/wiki/cxx-conversion
We wanted to build gdb with C++ as it is used as default in 7.12
and is even a mandatory requirement since 2016/09.
But unfortunately we missed one runtime failure that C++ build causes
and so now we have to disable C++ build.
When gdb arc-2016.09-rc1 is built as a C++ application it segfaults at
runtime for ARC.
We are going to fix the issue in 2017.03 ARC toolchain release. and
before this we remove C++ dependency are adding temporary workaround
to prevent runtime segfaults.
The workaround is to disable building gdb as C++ application via
passing --disable-build-with-cxx config option when building gdb for
ARC.
Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The gdb simulator seems missing with the Xilinx fork of gdb.
Disable it for microblaze since only the Xilinx version of gdb is
currently available.
Fixes:
http://autobuild.buildroot.net/results/907/9079dad3f138c313a6abb40825baf4d9683a2422
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Waldemar Brodkorb <mail@waldemar-brodkorb.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
As described at:
4520524ba0
this commit continues a series of updates of ARC tools.
This time we're updating tools to arc-2016.09-rc1.
This update contains a lot of important fixes, e.g. it fixes:
http://autobuild.buildroot.net/results/4c7/4c77f33c842b37bf28cb931edf1b290e1bf4d93c//http://autobuild.buildroot.net/results/902/902729a0b98675ad803939e3ecdcf230065a6012//
and other failures.
Other important change is that we also update gdb. Now we are
using gdb 7.12.
This version of gdb requires C++ toolchain support so we add
corresponding dependency to gdb Config.in file.
Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
[Thomas:
- fix dependency on C++ of gdb, it must use BR2_INSTALL_LIBSTDCPP
- add comment about the C++ dependency of gdb on ARC.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Commit 12306a81f8 (gdb: get rid of host-texinfo dependency) tried to
append MAKEINFO=true to the host/target make install arguments, but as the
default values for these are only added when (host-)autotools-package is
evaluated (and only if empty), this effectively drops the default values and
we ended up without the 'install' target and nothing got installed.
To fix this, specify the full install arguments.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The host-texinfo dependency in gdb/host-gdb was added because gdb insisted
in building info documentation in recent versions, and we want to avoid
'makeinfo' to be present on the build system.
However, there is another solution that does not require actually building
host-texinfo: instruct the makefiles to use a dummy makeinfo command
('true').
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
It's been deprecated for quite some time now.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Following reports from me of build failures of the GDB simulator for the
Blackfin architecture, Waldemar cooked a
patch (0005-fix-sim-compile.patch) that removes the typedef of SIM_CPU,
because there was a redefinition of this typedef for Blackfin. This was
not causing an issue with recent compilers as redefining the same
typedef is valid with recent compilers, but was causing build failures
with gcc 4.4.x.
However, by removing the common definition of SIM_CPU, this patch broke
the build of the GDB simulator on other architectures, which did not had
an architecture-specific redefinition of SIM_CPU (unlike Blackfin).
The crux of the problem is in a commit from Mike Frysinger, that tries
to refactor the SIM_CPU definition into a common one. Except that it
leaves a redefinition of it for Blackfin. Removing this second
definition however doesn't easily work, due to include ordering
issues. The easiest solution is to simply revert the patch from Mike
Frysinger. This allows to fix the build for all architectures and all
compiler versions.
Fixes:
http://autobuild.buildroot.net/results/3b82c44ee853fab0e0c63881f0705bb659412917/http://autobuild.buildroot.net/results/dafbb93ab38a4285ce42436219d552cceb14828b/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
With this config you can bootup a Linux kernel
in GDB simulator and test Blackfin kernel and
userland.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Starting with gdb 7.11, the bundled gnulib want to use rpl_gettimeofday
(gettimeofday replacement) due bad guessing when cross-compiling with musl
and uClibc toolchains. Instead of patching gnulib configure script to fix
the test, use gl_cv_func_gettimeofday_clobber=no to not use rpl_gettimeofday.
Thanks to Thomas Petazzoni to suggest this patch.
Reported upstream:
https://sourceware.org/bugzilla/show_bug.cgi?id=19798
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>