GDB 8.1.1 brings the following fixes and enhancements over GDB 8.1:
* PR gdb/22824 (misleading description of new rbreak Python function in GDB 8.1 NEWS file)
* PR gdb/22849 (ctrl-c doesn't work in extended-remote)
* PR gdb/22907 ([Regression] gdbserver doesn't work with filename-only binaries)
* PR gdb/23028 (inconsistent disassemble of vcvtpd2dq)
* PR gdb/23053 (Fix -D_GLIBCXX_DEBUG gdb-add-index regression)
* PR gdb/23127 ([AArch64] GDB cannot be used for debugging software that uses high Virtual Addresses)
* PR server/23158 (gdbserver no longer functional on Windows)
* PR breakpoints/23210 ([8.1/8.2 Regression] Bogus Breakpoint address adjusted from 0xf7fe7dd3 to 0xfffffffff7fe7dd3)
GDB 8.1 includes the following changes and enhancements:
* Breakpoints on C++ functions are now set on all scopes by default
("wild" matching);
* Support for inserting breakpoints on functions marked with C++ ABI tags;
* Target floating-point arithmetic emulation during expression evaluation
(requires MPFR 3.1 or later);
* Various Python Scripting enhancements;
* Improved Rust support; in particular, Trait objects can now be inspected
when debugging Rust code;
* GDB no longer makes assumptions about the type of symbols without
debugging information to avoid producing erroneous and often confusing
results;
* The 'enable' and 'disable' commands now accept a range of breakpoint
locations;
* New 'starti' command to start the program at the first instruction;
* New 'rbreak' command to insert a number of breakpoints via a regular
expression pattern (requires Python);
* The 'ptype' command now supports printing the offset and size of
the fields in a struct;
* The 'gcore' command now supports dumping all the memory mappings
('-a' command-line option);
* New shortcuts for TUI Single-Key mode: 'i' for stepi, and 'o' for nexti;
* GDBserver enhancements:
** Support for transmitting environment variables to GDBserver;
** Support for starting inferior processes with a specified initial
working directory;
** On Unix systems, support for globbing expansion and variable
substitution of inferior command-line arguments;
* Various completion enhancements;
* The command used to compile and inject code with the 'compile' command
is now configurable;
* New '--readnever' command-line option to speed the GDB startup when
debugging information is not needed;
* Support for the following new native configurations:
** FreeBSD/aarch64 (aarch64*-*-freebsd*);
** FreeBSD/arm (arm*-*-freebsd*);
* Support for the following new targets:
** FreeBSD/aarch64 (aarch64*-*-freebsd*);
** FreeBSD/arm (arm*-*-freebsd*);
** OpenRISC ELF (or1k*-*-elf)
* Removed support for the following targets and native configurations:
** Solaris2/x86 (i?86-*-solaris2.[0-9]);
** Solaris2/sparc (sparc*-*-solaris2.[0-9]);
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Changes compared to GCC 7.x
001-revert_register_mode_search.patch dropped
The underlying issue is described at the end of
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58139
It is fixed by the upstream commit:
3fa2798aa8
020-PR-libstdc-81797-Add-.NOTPARALLEL-to-include-Makefil.patch dropped due to already upstream
100-PR-rtl-optimization-83496.patch dropped due to already upstream
910-mbsd_multi.patch
modified to fix ambiguous overloaded inform() call error
gcc/input.h
header: define UNKNOWN_LOCATION ((source_location) 0)
- inform (0, "someone does not honour COPTS correctly, passed %d times",
- honour_copts);
+ inform (UNKNOWN_LOCATION, "someone does not honour COPTS correctly, passed %d times",
+ honour_copts);
940-no-clobber-stamp-bits.patch dropped due to fixed upstream by another way
upstream commit: 87b2d547f8
950-cpp_file_path_translation.patch dropped, Both -fmacro-prefix-map and -ffile-prefix-map are added
to gcc 8.1.0, if I understand it correctly, we should use -fmacro-prefix-map
usage: -fmacro-prefix-map=@var{old}=@var{new}
upstream commit: 859b51f836
-iremap exists as a flag for a long time, for backward compatibility, I think we should keep the
variable name unchanged but change its value in rules.mk for gcc 8.x and higher.
Compile and run tested on x86_64
Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
The recent build failures on various platforms were apparently caused by
the fact that LTO build support in the configure script does not check
if it has a suitable version of gcc and simply assumes that gcc-ar is
available and can be used for intermediate files.
Since we really don't need to build nasm with LTO, simply disable it and
keep the whole build more portable
Signed-off-by: Felix Fietkau <nbd@nbd.name>
On Debian 9 nasm does not build when we force it to use ranlib, for
macOSX this is needed. Only force this on macOSX and not on any other
OS, this should fix the build of nasm on Linux systems. On my Debian
system the nasm configure script selects gcc-ranlib and gcc-ar instead.
Fixes: d3a7587eb9 ("toolchain/nasm: fix missing AR/RANLIB variables")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Packages libx264 and ffmpeg are built with ASM options on x86 platforms.
The current libx264 version no longer builds with YASM and requires NASM.
ffmpeg 3.x can be built with either YASM or NASM however, furture 4.x versions
will require NASM.
Signed-off-by: Ted Hess <thess@kitschensync.net>
Acked-by: Rosen Penev <rosenp@gmail.com>
The GDB Text User Interface (TUI) is a terminal interface
which uses the curses library to show the source file,
the assembly output, the program registers and GDB
commands in separate text windows.
In other words it's a friendlier interface for idiots like me!
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
74d16a57a3 Check length of ifname before copying it into to ifreq structure.
3aaf8bda00 getifaddrs: Don't return ifa entries with NULL names [BZ #21812]
f958b45d52 Use _STRUCT_TIMESPEC as guard in <bits/types/struct_timespec.h> [BZ #23349]
81b994bd83 Fix parameter type in C++ version of iseqsig (bug 23171)
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
Differing from all other archs supported by musl, MIPS defines SO_PEERSEC
to 30 instead of 31.
Patch has also been submitted upstream.
Reported-by: Andrey Jr. Mlenikov <temnota.am@gmail.com>
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
4df8479e6b Add NEWS entry for CVE-2018-11236
a5bc5ec967 Add references to CVE-2018-11236, CVE-2017-18269
58ad5f8a64 Add a test case for [BZ #23196]
6b4362f2cb Don't write beyond destination in __mempcpy_avx512_no_vzeroupper (bug 23196)
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
uClibc-ng 1.0.28 does not provide PF_VSOCK/AF_VSOCK definitions,
which causes iproute2 v4.16.0 compile errors.
In commit 57f2f80383b5 ("bits/socket.h: add missing defines")
necessary defines were included and iproute2 builds fine.
This commit now is part of uClibc-ng 1.0.30.
Lets update uClibc-ng to latest 1.0.30 version.
Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
Cc: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Hauke Mehrtens <hauke@hauke-m.de>
Cc: John Crispin <john@phrozen.org>
Fixes FS#1498. "gccgo -static" can fail for missing linker flag
-lgcc_eh caused by patch 850-use_shared_libgcc.patch
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
Commit 15e9639159 removed support for
binutils version 2.28 but did not remove it as selectable item
from Binutils Version; let's remove this leftover as well.
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
Commit f4d9d7a removed support for version specific patches; but it also
broke applying of patches in the patches glibc dir.
Fix the issue by setting PATCH_DIR to $(PATH_PREFIX)/patches similar as
musl/common.mk.
Signed-off-by: Xinxing Hu <xinxing.huchn@gmail.com>
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
Newer GCC versions are reported to improve code size on various ARM
devices, which is why newer u-boot versions require them now.
There have also been user reports of data corruption issues fixed on
MIPS by updating from GCC 5 to GCC 7.
This update was previously held up by these two MIPS compile issues,
which have since been fixed:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83496https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84790
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This updates musl from a commit between 1.1.18 and 1.1.19 to the final
release of the version 1.1.19.
This mostly fixes bugs in musl.
The size of the uncompressed binary is increased by about 4 KB.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
With forced PIE and SSP support I ran into this assertion failure.
backport two patches to fix this problem from the binutils 2.28 branch.
This fix is already included in binutils 2.28.1 and 2.29.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Configure variable SSP_SUPPORT is ambiguous for packages (tor, openssh,
avahi, freeswitch). It means 'toolchain supporting SSP', but for toolchain
and depends it means 'build gcc with libssp'.
Musl no longer uses libssp (1877bc9d8f), it has internal support, so
SSP_SUPPORT was disabled leading some package to not use SSP.
No information why Glibc and uClibc use libssp, but they may also provide
their own SSP support. uClibc used it own with commit 933b588e25 but it was
reverted in f3cacb9e84 without details.
Create an new configure GCC_LIBSSP and automatically enable SSP_SUPPORT
if either USE_MUSL or GCC_LIBSSP.
Signed-off-by: Julien Dusser <julien.dusser@free.fr>
GCC supports starting version 5 --enable-default-ssp and starting version 6
--enable-default-pie.
It produces hardened binaries by default without dealing with package
compilation flags.
Signed-off-by: Julien Dusser <julien.dusser@free.fr>
When using an external git clone for the kernel repo,
the build would fail because the build won't download
[via git] the kernel tarball.
This is because the `toolchain/kernel-headers` assumes
that the kernel would get downloaded via normal HTTP.
The reason for this is the `HostBuild` rule, which
calls the `Download/default` rule.
To use the `Download/default` we just need to conditionally
adjust some PKG_ vars.
We can safely use `LINUX_VERSION` as it was already adjusted
in the `kernel-version.mk` to avoid collisions with other tarballs.
Fixes:
https://bugs.openwrt.org/index.php?do=details&task_id=503
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
This commit finally bumps ARC tools to the most recent arc-2017.09 release version.
ARC GNU tools of version arc-2017.09 bring some quite significant changes like:
* Binutils v2.29 with additional ARC patches
* GCC 7.1.1 with additional ARC patches
More information on this release could be found here:
https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2017.09-release
Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
CC: Alexey Brodkin <abrodkin@synopsys.com>
CC: John Crispin <john@phrozen.org>
Autorebuild is disabled for the toolchain to avoid build-order issues.
However, rebuilding musl is safe, so exclude it from that restriction.
Avoids the need for manual cleaning on kernel header <-> libc API
changes like the ones introduced recently
Signed-off-by: Felix Fietkau <nbd@nbd.name>