diff options
author | 2020-02-14 07:42:39 -0800 | |
---|---|---|
committer | 2020-02-15 10:22:05 +0000 | |
commit | 4c1c01e023b123c86a418fdeddb69be097deef86 (patch) | |
tree | fd09050d61c5d799a027bb87f7fac88ad7743f1f | |
parent | e8d52c24ee217d7ba69fe24fa7ef8b533a274c2d (diff) | |
download | openembedded-core-4c1c01e023b123c86a418fdeddb69be097deef86.tar.gz |
gdb: Upgrade to 9.1 release
Drop security patches which are now in 9.1 already
Forward port rest of patches to 9.1
Detailed changes [1]
[1] https://lists.gnu.org/archive/html/info-gnu/2020-02/msg00008.html
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/conf/distro/include/tcmode-default.inc | 2 | ||||
-rw-r--r-- | meta/recipes-devtools/gdb/gdb-8.3.1.inc | 22 | ||||
-rw-r--r-- | meta/recipes-devtools/gdb/gdb-9.1.inc | 21 | ||||
-rw-r--r-- | meta/recipes-devtools/gdb/gdb-cross-canadian_9.1.bb (renamed from meta/recipes-devtools/gdb/gdb-cross-canadian_8.3.1.bb) | 0 | ||||
-rw-r--r-- | meta/recipes-devtools/gdb/gdb-cross_9.1.bb (renamed from meta/recipes-devtools/gdb/gdb-cross_8.3.1.bb) | 0 | ||||
-rw-r--r-- | meta/recipes-devtools/gdb/gdb/0001-gdbserver-ctrl-c-handling.patch | 26 | ||||
-rw-r--r-- | meta/recipes-devtools/gdb/gdb/0001-make-man-install-relative-to-DESTDIR.patch (renamed from meta/recipes-devtools/gdb/gdb/0002-make-man-install-relative-to-DESTDIR.patch) | 9 | ||||
-rw-r--r-- | meta/recipes-devtools/gdb/gdb/0002-mips-linux-nat-Define-_ABIO32-if-not-defined.patch (renamed from meta/recipes-devtools/gdb/gdb/0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch) | 9 | ||||
-rw-r--r-- | meta/recipes-devtools/gdb/gdb/0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch (renamed from meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch) | 7 | ||||
-rw-r--r-- | meta/recipes-devtools/gdb/gdb/0004-Add-support-for-Renesas-SH-sh4-architecture.patch (renamed from meta/recipes-devtools/gdb/gdb/0005-Add-support-for-Renesas-SH-sh4-architecture.patch) | 41 | ||||
-rw-r--r-- | meta/recipes-devtools/gdb/gdb/0005-Dont-disable-libreadline.a-when-using-disable-static.patch (renamed from meta/recipes-devtools/gdb/gdb/0006-Dont-disable-libreadline.a-when-using-disable-static.patch) | 13 | ||||
-rw-r--r-- | meta/recipes-devtools/gdb/gdb/0006-use-asm-sgidefs.h.patch (renamed from meta/recipes-devtools/gdb/gdb/0007-use-asm-sgidefs.h.patch) | 9 | ||||
-rw-r--r-- | meta/recipes-devtools/gdb/gdb/0007-Use-exorted-definitions-of-SIGRTMIN.patch (renamed from meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch) | 11 | ||||
-rw-r--r-- | meta/recipes-devtools/gdb/gdb/0008-Change-order-of-CFLAGS.patch (renamed from meta/recipes-devtools/gdb/gdb/0009-Change-order-of-CFLAGS.patch) | 13 | ||||
-rw-r--r-- | meta/recipes-devtools/gdb/gdb/0009-resolve-restrict-keyword-conflict.patch (renamed from meta/recipes-devtools/gdb/gdb/0010-resolve-restrict-keyword-conflict.patch) | 17 | ||||
-rw-r--r-- | meta/recipes-devtools/gdb/gdb/0010-Fix-invalid-sigprocmask-call.patch (renamed from meta/recipes-devtools/gdb/gdb/0011-Fix-invalid-sigprocmask-call.patch) | 23 | ||||
-rw-r--r-- | meta/recipes-devtools/gdb/gdb/0011-gdbserver-ctrl-c-handling.patch | 39 | ||||
-rw-r--r-- | meta/recipes-devtools/gdb/gdb/CVE-2019-1010180.patch | 132 | ||||
-rw-r--r-- | meta/recipes-devtools/gdb/gdb_9.1.bb (renamed from meta/recipes-devtools/gdb/gdb_8.3.1.bb) | 0 |
19 files changed, 124 insertions, 270 deletions
diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc index 23f2ce97c3..82530f5e7b 100644 --- a/meta/conf/distro/include/tcmode-default.inc +++ b/meta/conf/distro/include/tcmode-default.inc @@ -19,7 +19,7 @@ PREFERRED_PROVIDER_virtual/gettext ??= "gettext" GCCVERSION ?= "9.%" SDKGCCVERSION ?= "${GCCVERSION}" BINUVERSION ?= "2.33%" -GDBVERSION ?= "8.3%" +GDBVERSION ?= "9.%" GLIBCVERSION ?= "2.31" LINUXLIBCVERSION ?= "5.4%" QEMUVERSION ?= "4.2%" diff --git a/meta/recipes-devtools/gdb/gdb-8.3.1.inc b/meta/recipes-devtools/gdb/gdb-8.3.1.inc deleted file mode 100644 index aec913f3ce..0000000000 --- a/meta/recipes-devtools/gdb/gdb-8.3.1.inc +++ /dev/null @@ -1,22 +0,0 @@ -LICENSE = "GPLv2 & GPLv3 & LGPLv2 & LGPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ - file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \ - file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674" - -SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.xz \ - file://0001-gdbserver-ctrl-c-handling.patch \ - file://0002-make-man-install-relative-to-DESTDIR.patch \ - file://0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch \ - file://0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch \ - file://0005-Add-support-for-Renesas-SH-sh4-architecture.patch \ - file://0006-Dont-disable-libreadline.a-when-using-disable-static.patch \ - file://0007-use-asm-sgidefs.h.patch \ - file://0008-Use-exorted-definitions-of-SIGRTMIN.patch \ - file://0009-Change-order-of-CFLAGS.patch \ - file://0010-resolve-restrict-keyword-conflict.patch \ - file://0011-Fix-invalid-sigprocmask-call.patch \ - file://CVE-2019-1010180.patch \ - " -SRC_URI[md5sum] = "73b6a5d8141672c62bf851cd34c4aa83" -SRC_URI[sha256sum] = "1e55b4d7cdca7b34be12f4ceae651623aa73b2fd640152313f9f66a7149757c4" diff --git a/meta/recipes-devtools/gdb/gdb-9.1.inc b/meta/recipes-devtools/gdb/gdb-9.1.inc new file mode 100644 index 0000000000..d019e6b384 --- /dev/null +++ b/meta/recipes-devtools/gdb/gdb-9.1.inc @@ -0,0 +1,21 @@ +LICENSE = "GPLv2 & GPLv3 & LGPLv2 & LGPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \ + file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674" + +SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.xz \ + file://0001-make-man-install-relative-to-DESTDIR.patch \ + file://0002-mips-linux-nat-Define-_ABIO32-if-not-defined.patch \ + file://0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch \ + file://0004-Add-support-for-Renesas-SH-sh4-architecture.patch \ + file://0005-Dont-disable-libreadline.a-when-using-disable-static.patch \ + file://0006-use-asm-sgidefs.h.patch \ + file://0007-Use-exorted-definitions-of-SIGRTMIN.patch \ + file://0008-Change-order-of-CFLAGS.patch \ + file://0009-resolve-restrict-keyword-conflict.patch \ + file://0010-Fix-invalid-sigprocmask-call.patch \ + file://0011-gdbserver-ctrl-c-handling.patch \ + " +SRC_URI[md5sum] = "f7e9f6236c425097d9e5f18a6ac40655" +SRC_URI[sha256sum] = "699e0ec832fdd2f21c8266171ea5bf44024bd05164fdf064e4d10cc4cf0d1737" diff --git a/meta/recipes-devtools/gdb/gdb-cross-canadian_8.3.1.bb b/meta/recipes-devtools/gdb/gdb-cross-canadian_9.1.bb index 301035940c..301035940c 100644 --- a/meta/recipes-devtools/gdb/gdb-cross-canadian_8.3.1.bb +++ b/meta/recipes-devtools/gdb/gdb-cross-canadian_9.1.bb diff --git a/meta/recipes-devtools/gdb/gdb-cross_8.3.1.bb b/meta/recipes-devtools/gdb/gdb-cross_9.1.bb index 50cf159fdb..50cf159fdb 100644 --- a/meta/recipes-devtools/gdb/gdb-cross_8.3.1.bb +++ b/meta/recipes-devtools/gdb/gdb-cross_9.1.bb diff --git a/meta/recipes-devtools/gdb/gdb/0001-gdbserver-ctrl-c-handling.patch b/meta/recipes-devtools/gdb/gdb/0001-gdbserver-ctrl-c-handling.patch deleted file mode 100644 index 71fe7f83b6..0000000000 --- a/meta/recipes-devtools/gdb/gdb/0001-gdbserver-ctrl-c-handling.patch +++ /dev/null @@ -1,26 +0,0 @@ -This problem was created by the upstream commit 78708b7c8c -After applying the commit, it will send SIGINT to the process group(-signal_pid). -But if we use gdbserver send SIGINT, and the attached process is not a process -group leader, then the "kill (-signal_pid, SIGINT)" returns error and fails to -interrupt the attached process. - -Upstream-Status: Submitted [https://sourceware.org/bugzilla/show_bug.cgi?id=18945] - -Author: Josh Gao -Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com> - -Index: gdb-8.2/gdb/gdbserver/linux-low.c -=================================================================== ---- gdb-8.2.orig/gdb/gdbserver/linux-low.c -+++ gdb-8.2/gdb/gdbserver/linux-low.c -@@ -5940,9 +5940,7 @@ linux_look_up_symbols (void) - static void - linux_request_interrupt (void) - { -- /* Send a SIGINT to the process group. This acts just like the user -- typed a ^C on the controlling terminal. */ -- kill (-signal_pid, SIGINT); -+ kill (signal_pid, SIGINT); - } - - /* Copy LEN bytes from inferior's auxiliary vector starting at OFFSET diff --git a/meta/recipes-devtools/gdb/gdb/0002-make-man-install-relative-to-DESTDIR.patch b/meta/recipes-devtools/gdb/gdb/0001-make-man-install-relative-to-DESTDIR.patch index 60479e5410..82287ea13a 100644 --- a/meta/recipes-devtools/gdb/gdb/0002-make-man-install-relative-to-DESTDIR.patch +++ b/meta/recipes-devtools/gdb/gdb/0001-make-man-install-relative-to-DESTDIR.patch @@ -1,7 +1,7 @@ -From b0209f282716bed2c230c7b496fbcc7af503d0cc Mon Sep 17 00:00:00 2001 +From 036f8e1d387f65e52cb021dbb1bd28e8b75cf017 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 2 Mar 2015 02:27:55 +0000 -Subject: [PATCH 02/11] make man install relative to DESTDIR +Subject: [PATCH] make man install relative to DESTDIR Upstream-Status: Pending @@ -11,7 +11,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sim/common/Makefile.in b/sim/common/Makefile.in -index 227e4cfbc2..8c3457e0bd 100644 +index c6de14122c..c4b1214946 100644 --- a/sim/common/Makefile.in +++ b/sim/common/Makefile.in @@ -35,7 +35,7 @@ tooldir = $(libdir)/$(target_alias) @@ -23,6 +23,3 @@ index 227e4cfbc2..8c3457e0bd 100644 infodir = @infodir@ includedir = @includedir@ --- -2.18.0 - diff --git a/meta/recipes-devtools/gdb/gdb/0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch b/meta/recipes-devtools/gdb/gdb/0002-mips-linux-nat-Define-_ABIO32-if-not-defined.patch index cf54c74c09..6067caf63d 100644 --- a/meta/recipes-devtools/gdb/gdb/0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch +++ b/meta/recipes-devtools/gdb/gdb/0002-mips-linux-nat-Define-_ABIO32-if-not-defined.patch @@ -1,7 +1,7 @@ -From b14a57d90e1cdd8144cda4c8882bd1db44d26dab Mon Sep 17 00:00:00 2001 +From 6bff2862f9597f324a9385eb2f828e838e51a8a1 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 23 Mar 2016 06:30:09 +0000 -Subject: [PATCH 03/11] mips-linux-nat: Define _ABIO32 if not defined +Subject: [PATCH] mips-linux-nat: Define _ABIO32 if not defined This helps building gdb on mips64 on musl, since musl does not provide sgidefs.h this define is @@ -16,7 +16,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 4 insertions(+) diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c -index 32835c16b2..68a7587af2 100644 +index 104c972f24..7f575b3363 100644 --- a/gdb/mips-linux-nat.c +++ b/gdb/mips-linux-nat.c @@ -41,6 +41,10 @@ @@ -30,6 +30,3 @@ index 32835c16b2..68a7587af2 100644 class mips_linux_nat_target final : public linux_nat_trad_target { --- -2.18.0 - diff --git a/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/meta/recipes-devtools/gdb/gdb/0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch index 170d512ef7..c4bab7bb1a 100644 --- a/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch +++ b/meta/recipes-devtools/gdb/gdb/0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch @@ -1,4 +1,4 @@ -From da30370c1e3ff7728a857e119e0529a9f097086e Mon Sep 17 00:00:00 2001 +From d5817bcf2f7313699bfa85b41220d862db327664 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 30 Apr 2016 18:32:14 -0700 Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems @@ -6,14 +6,13 @@ Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems Upstream-Status: Pending Signed-off-by: Khem Raj <raj.khem@gmail.com> - --- gdb/gdbserver/linux-ppc-low.c | 6 ++++++ gdb/nat/ppc-linux.h | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c -index 1b695e53..1978347c 100644 +index 5d8d67bec2..ffcf65ab58 100644 --- a/gdb/gdbserver/linux-ppc-low.c +++ b/gdb/gdbserver/linux-ppc-low.c @@ -23,7 +23,13 @@ @@ -31,7 +30,7 @@ index 1b695e53..1978347c 100644 #include "arch/ppc-linux-common.h" #include "arch/ppc-linux-tdesc.h" diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h -index f1561b3b..40399361 100644 +index d937a65b69..1fd54b4a0e 100644 --- a/gdb/nat/ppc-linux.h +++ b/gdb/nat/ppc-linux.h @@ -18,7 +18,13 @@ diff --git a/meta/recipes-devtools/gdb/gdb/0005-Add-support-for-Renesas-SH-sh4-architecture.patch b/meta/recipes-devtools/gdb/gdb/0004-Add-support-for-Renesas-SH-sh4-architecture.patch index f840cafe2e..fd165d4b81 100644 --- a/meta/recipes-devtools/gdb/gdb/0005-Add-support-for-Renesas-SH-sh4-architecture.patch +++ b/meta/recipes-devtools/gdb/gdb/0004-Add-support-for-Renesas-SH-sh4-architecture.patch @@ -1,7 +1,7 @@ -From 215486b53a7a6dfca064cd2e9196a9de6ed6f0c2 Mon Sep 17 00:00:00 2001 +From 505f10a0ea1a8bba0584859d9a348bb779593ec2 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 2 Mar 2015 02:31:12 +0000 -Subject: [PATCH 05/11] Add support for Renesas SH (sh4) architecture. +Subject: [PATCH] Add support for Renesas SH (sh4) architecture. gdb (7.4-1~cvs20111117.2) experimental; urgency=low . @@ -27,10 +27,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 11 files changed, 617 insertions(+), 29 deletions(-) diff --git a/gdb/Makefile.in b/gdb/Makefile.in -index c76a4e4394..921fdadb49 100644 +index c3e074b21f..42dd7af59c 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in -@@ -2326,6 +2326,8 @@ ALLDEPFILES = \ +@@ -2317,6 +2317,8 @@ ALLDEPFILES = \ sh-nbsd-nat.c \ sh-nbsd-tdep.c \ sh-tdep.c \ @@ -38,12 +38,12 @@ index c76a4e4394..921fdadb49 100644 + sh-linux-nat.c \ sol2-tdep.c \ solib-aix.c \ - solib-spu.c \ + solib-svr4.c \ diff --git a/gdb/configure.host b/gdb/configure.host -index 23a2f16399..39a886ec53 100644 +index ce52823729..5b5173a71a 100644 --- a/gdb/configure.host +++ b/gdb/configure.host -@@ -153,6 +153,7 @@ riscv*-*-linux*) gdb_host=linux ;; +@@ -148,6 +148,7 @@ riscv*-*-linux*) gdb_host=linux ;; s390*-*-linux*) gdb_host=linux ;; @@ -52,7 +52,7 @@ index 23a2f16399..39a886ec53 100644 gdb_host=nbsd ;; sh*-*-openbsd*) gdb_host=nbsd ;; diff --git a/gdb/sh-linux-tdep.c b/gdb/sh-linux-tdep.c -index db93967910..4109c549e8 100644 +index 13c10eeeda..1d0d583a64 100644 --- a/gdb/sh-linux-tdep.c +++ b/gdb/sh-linux-tdep.c @@ -18,14 +18,37 @@ @@ -93,7 +93,7 @@ index db93967910..4109c549e8 100644 #include "glibc-tdep.h" #include "sh-tdep.h" #include "linux-tdep.h" -@@ -180,9 +203,505 @@ static struct tramp_frame sh_linux_rt_sigreturn_tramp_frame = { +@@ -181,9 +204,505 @@ static struct tramp_frame sh_linux_rt_sigreturn_tramp_frame = { sh_linux_rt_sigreturn_init }; @@ -600,7 +600,7 @@ index db93967910..4109c549e8 100644 /* GNU/Linux uses SVR4-style shared libraries. */ diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c -index fe64cf979a..4417114cd0 100644 +index e3aee0ac28..5958cf3688 100644 --- a/gdb/sh-tdep.c +++ b/gdb/sh-tdep.c @@ -21,6 +21,9 @@ @@ -655,7 +655,7 @@ index fe64cf979a..4417114cd0 100644 len = TYPE_LENGTH (type); val = sh_justify_value_in_reg (gdbarch, args[argnum], len); -@@ -1834,7 +1820,7 @@ sh_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, +@@ -1835,7 +1821,7 @@ sh_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, reg->how = DWARF2_FRAME_REG_UNDEFINED; } @@ -664,7 +664,7 @@ index fe64cf979a..4417114cd0 100644 sh_alloc_frame_cache (void) { struct sh_frame_cache *cache; -@@ -1861,7 +1847,7 @@ sh_alloc_frame_cache (void) +@@ -1862,7 +1848,7 @@ sh_alloc_frame_cache (void) return cache; } @@ -673,7 +673,7 @@ index fe64cf979a..4417114cd0 100644 sh_frame_cache (struct frame_info *this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); -@@ -1928,9 +1914,9 @@ sh_frame_cache (struct frame_info *this_frame, void **this_cache) +@@ -1929,9 +1915,9 @@ sh_frame_cache (struct frame_info *this_frame, void **this_cache) return cache; } @@ -686,7 +686,7 @@ index fe64cf979a..4417114cd0 100644 { struct gdbarch *gdbarch = get_frame_arch (this_frame); struct sh_frame_cache *cache = sh_frame_cache (this_frame, this_cache); -@@ -1944,7 +1930,7 @@ sh_frame_prev_register (struct frame_info *this_frame, +@@ -1945,7 +1931,7 @@ sh_frame_prev_register (struct frame_info *this_frame, the current frame. Frob regnum so that we pull the value from the correct place. */ if (regnum == gdbarch_pc_regnum (gdbarch)) @@ -695,7 +695,7 @@ index fe64cf979a..4417114cd0 100644 if (regnum < SH_NUM_REGS && cache->saved_regs[regnum] != -1) return frame_unwind_got_memory (this_frame, regnum, -@@ -2255,8 +2241,8 @@ sh_return_in_first_hidden_param_p (struct gdbarch *gdbarch, +@@ -2234,8 +2220,8 @@ sh_return_in_first_hidden_param_p (struct gdbarch *gdbarch, static struct gdbarch * sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) { @@ -705,7 +705,7 @@ index fe64cf979a..4417114cd0 100644 /* If there is already a candidate, use it. */ arches = gdbarch_list_lookup_by_info (arches, &info); -@@ -2268,6 +2254,18 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) +@@ -2247,6 +2233,18 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) tdep = XCNEW (struct gdbarch_tdep); gdbarch = gdbarch_alloc (&info, tdep); @@ -724,7 +724,7 @@ index fe64cf979a..4417114cd0 100644 set_gdbarch_short_bit (gdbarch, 2 * TARGET_CHAR_BIT); set_gdbarch_int_bit (gdbarch, 4 * TARGET_CHAR_BIT); set_gdbarch_long_bit (gdbarch, 4 * TARGET_CHAR_BIT); -@@ -2422,10 +2420,11 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) +@@ -2398,10 +2396,11 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) break; } @@ -738,7 +738,7 @@ index fe64cf979a..4417114cd0 100644 frame_unwind_append_unwinder (gdbarch, &sh_frame_unwind); diff --git a/gdb/sh-tdep.h b/gdb/sh-tdep.h -index 59acd35b88..be3f998d84 100644 +index 76e2e76e39..2710f63010 100644 --- a/gdb/sh-tdep.h +++ b/gdb/sh-tdep.h @@ -21,6 +21,12 @@ @@ -821,7 +821,7 @@ index 59acd35b88..be3f998d84 100644 where each general-purpose register is stored inside the associated core file section. */ diff --git a/gdb/testsuite/gdb.asm/asm-source.exp b/gdb/testsuite/gdb.asm/asm-source.exp -index 9879f0ca47..cbc0e4d5f7 100644 +index 4914498f98..6e25cbed18 100644 --- a/gdb/testsuite/gdb.asm/asm-source.exp +++ b/gdb/testsuite/gdb.asm/asm-source.exp @@ -116,6 +116,11 @@ switch -glob -- [istarget] { @@ -909,6 +909,3 @@ index 756606880f..1205a9bc9c 100644 static int count = 0; --- -2.18.0 - diff --git a/meta/recipes-devtools/gdb/gdb/0006-Dont-disable-libreadline.a-when-using-disable-static.patch b/meta/recipes-devtools/gdb/gdb/0005-Dont-disable-libreadline.a-when-using-disable-static.patch index 9ae3ee62be..d0360da439 100644 --- a/meta/recipes-devtools/gdb/gdb/0006-Dont-disable-libreadline.a-when-using-disable-static.patch +++ b/meta/recipes-devtools/gdb/gdb/0005-Dont-disable-libreadline.a-when-using-disable-static.patch @@ -1,7 +1,7 @@ -From 5fdd42acaa965be7c420a3f2ba12b77ea503c59b Mon Sep 17 00:00:00 2001 +From d132f21d89157e980574da7d0c949f6dd17df8c3 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 30 Apr 2016 15:25:03 -0700 -Subject: [PATCH 06/11] Dont disable libreadline.a when using --disable-static +Subject: [PATCH] Dont disable libreadline.a when using --disable-static If gdb is configured with --disable-static then this is dutifully passed to readline which then disables libreadline.a, which causes a problem when gdb @@ -19,7 +19,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Makefile.def b/Makefile.def -index 75063b6d12..c27bbe4d28 100644 +index 311feb9de3..24c0685d48 100644 --- a/Makefile.def +++ b/Makefile.def @@ -105,7 +105,8 @@ host_modules= { module= libiconv; @@ -33,10 +33,10 @@ index 75063b6d12..c27bbe4d28 100644 host_modules= { module= sim; }; host_modules= { module= texinfo; no_install= true; }; diff --git a/Makefile.in b/Makefile.in -index 7814fe745f..3b0dc7cbb0 100644 +index 1aabf6ede4..d957efde81 100644 --- a/Makefile.in +++ b/Makefile.in -@@ -25470,7 +25470,7 @@ configure-readline: +@@ -25510,7 +25510,7 @@ configure-readline: $$s/$$module_srcdir/configure \ --srcdir=$${topdir}/$$module_srcdir \ $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ @@ -45,6 +45,3 @@ index 7814fe745f..3b0dc7cbb0 100644 || exit 1 @endif readline --- -2.18.0 - diff --git a/meta/recipes-devtools/gdb/gdb/0007-use-asm-sgidefs.h.patch b/meta/recipes-devtools/gdb/gdb/0006-use-asm-sgidefs.h.patch index 808f4bfa14..d222d01083 100644 --- a/meta/recipes-devtools/gdb/gdb/0007-use-asm-sgidefs.h.patch +++ b/meta/recipes-devtools/gdb/gdb/0006-use-asm-sgidefs.h.patch @@ -1,7 +1,7 @@ -From d6e12d52f9cef7f5e6315003ceaa236f6cc7723b Mon Sep 17 00:00:00 2001 +From 329e5bf29e934ba99622372a9660865864bb0298 Mon Sep 17 00:00:00 2001 From: Andre McCurdy <amccurdy@gmail.com> Date: Sat, 30 Apr 2016 15:29:06 -0700 -Subject: [PATCH 07/11] use <asm/sgidefs.h> +Subject: [PATCH] use <asm/sgidefs.h> Build fix for MIPS with musl libc @@ -19,7 +19,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c -index 68a7587af2..2b77221372 100644 +index 7f575b3363..dc93a64a93 100644 --- a/gdb/mips-linux-nat.c +++ b/gdb/mips-linux-nat.c @@ -31,7 +31,7 @@ @@ -31,6 +31,3 @@ index 68a7587af2..2b77221372 100644 #include "nat/gdb_ptrace.h" #include <asm/ptrace.h> #include "inf-ptrace.h" --- -2.18.0 - diff --git a/meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch b/meta/recipes-devtools/gdb/gdb/0007-Use-exorted-definitions-of-SIGRTMIN.patch index 95bec5fd60..09896611f0 100644 --- a/meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch +++ b/meta/recipes-devtools/gdb/gdb/0007-Use-exorted-definitions-of-SIGRTMIN.patch @@ -1,4 +1,4 @@ -From bab0b34672727c50313eb98b8522355cbe1bde36 Mon Sep 17 00:00:00 2001 +From 782bb2ab9b104dad4bbaed1d9ac769ce7e5b9f4d Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 30 Apr 2016 15:31:40 -0700 Subject: [PATCH] Use exorted definitions of SIGRTMIN @@ -14,17 +14,16 @@ https://sourceware.org/bugzilla/show_bug.cgi?id=13012 Upstream-Status: Submitted Signed-off-by: Khem Raj <raj.khem@gmail.com> - --- gdb/linux-nat.c | 4 ++-- gdb/nat/linux-nat.h | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c -index 063afe26..fb1d2d5d 100644 +index 4484fa5c87..3bb0ee7a49 100644 --- a/gdb/linux-nat.c +++ b/gdb/linux-nat.c -@@ -4713,6 +4713,6 @@ lin_thread_get_thread_signals (sigset_t *set) +@@ -4588,6 +4588,6 @@ lin_thread_get_thread_signals (sigset_t *set) /* NPTL reserves the first two RT signals, but does not provide any way for the debugger to query the signal numbers - fortunately they don't change. */ @@ -34,10 +33,10 @@ index 063afe26..fb1d2d5d 100644 + sigaddset (set, SIGRTMIN + 1); } diff --git a/gdb/nat/linux-nat.h b/gdb/nat/linux-nat.h -index 1e32dd9e..b886305d 100644 +index 44dcbb7758..975d7276f6 100644 --- a/gdb/nat/linux-nat.h +++ b/gdb/nat/linux-nat.h -@@ -90,4 +90,8 @@ extern void linux_stop_lwp (struct lwp_info *lwp); +@@ -91,4 +91,8 @@ extern void linux_stop_lwp (struct lwp_info *lwp); extern int lwp_is_stepping (struct lwp_info *lwp); diff --git a/meta/recipes-devtools/gdb/gdb/0009-Change-order-of-CFLAGS.patch b/meta/recipes-devtools/gdb/gdb/0008-Change-order-of-CFLAGS.patch index bc4bc26835..18168c6bae 100644 --- a/meta/recipes-devtools/gdb/gdb/0009-Change-order-of-CFLAGS.patch +++ b/meta/recipes-devtools/gdb/gdb/0008-Change-order-of-CFLAGS.patch @@ -1,7 +1,7 @@ -From ba6ffa461fe781d44d6dcbc0fbd569237b450fdc Mon Sep 17 00:00:00 2001 +From 40c9c174590ce6fdc873b453285249fe957f376d Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 30 Apr 2016 15:35:39 -0700 -Subject: [PATCH 09/11] Change order of CFLAGS +Subject: [PATCH] Change order of CFLAGS Lets us override Werror if need be @@ -13,18 +13,15 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in -index f2f8a084bd..9528db1364 100644 +index 16a9f2fd38..b9c8cd9c41 100644 --- a/gdb/gdbserver/Makefile.in +++ b/gdb/gdbserver/Makefile.in -@@ -143,7 +143,7 @@ CPPFLAGS = @CPPFLAGS@ +@@ -146,7 +146,7 @@ PTHREAD_LIBS = @PTHREAD_LIBS@ INTERNAL_CFLAGS_BASE = ${CXXFLAGS} ${GLOBAL_CFLAGS} \ - ${PROFILE_CFLAGS} ${INCLUDE_CFLAGS} ${CPPFLAGS} + ${PROFILE_CFLAGS} ${INCLUDE_CFLAGS} ${CPPFLAGS} $(PTHREAD_CFLAGS) INTERNAL_WARN_CFLAGS = ${INTERNAL_CFLAGS_BASE} $(WARN_CFLAGS) -INTERNAL_CFLAGS = ${INTERNAL_WARN_CFLAGS} $(WERROR_CFLAGS) -DGDBSERVER +INTERNAL_CFLAGS = ${INTERNAL_WARN_CFLAGS} $(WERROR_CFLAGS) ${COMPILER_CFLAGS} -DGDBSERVER # LDFLAGS is specifically reserved for setting from the command line # when running make. --- -2.18.0 - diff --git a/meta/recipes-devtools/gdb/gdb/0010-resolve-restrict-keyword-conflict.patch b/meta/recipes-devtools/gdb/gdb/0009-resolve-restrict-keyword-conflict.patch index 809d52f250..8f15c49d0e 100644 --- a/meta/recipes-devtools/gdb/gdb/0010-resolve-restrict-keyword-conflict.patch +++ b/meta/recipes-devtools/gdb/gdb/0009-resolve-restrict-keyword-conflict.patch @@ -1,7 +1,7 @@ -From 19b581056c1709f7d2872cd76b977542a0fe6142 Mon Sep 17 00:00:00 2001 +From 5b69a98f6bb7363a1f79f29bac2b25b7df6d2fdd Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Tue, 10 May 2016 08:47:05 -0700 -Subject: [PATCH 10/11] resolve restrict keyword conflict +Subject: [PATCH] resolve restrict keyword conflict GCC detects that we call 'restrict' as param name in function signatures and complains since both params are called 'restrict' @@ -11,13 +11,13 @@ Upstream-Status: Pending Signed-off-by: Khem Raj <raj.khem@gmail.com> --- - gdb/gnulib/import/sys_time.in.h | 8 ++++---- + gnulib/import/sys_time.in.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) -diff --git a/gdb/gnulib/import/sys_time.in.h b/gdb/gnulib/import/sys_time.in.h -index b4a0e49c50..d22cea9aaf 100644 ---- a/gdb/gnulib/import/sys_time.in.h -+++ b/gdb/gnulib/import/sys_time.in.h +diff --git a/gnulib/import/sys_time.in.h b/gnulib/import/sys_time.in.h +index d535a6a48b..7c34d5a1aa 100644 +--- a/gnulib/import/sys_time.in.h ++++ b/gnulib/import/sys_time.in.h @@ -93,20 +93,20 @@ struct timeval # define gettimeofday rpl_gettimeofday # endif @@ -43,6 +43,3 @@ index b4a0e49c50..d22cea9aaf 100644 # endif _GL_CXXALIASWARN (gettimeofday); # if defined __cplusplus && defined GNULIB_NAMESPACE --- -2.18.0 - diff --git a/meta/recipes-devtools/gdb/gdb/0011-Fix-invalid-sigprocmask-call.patch b/meta/recipes-devtools/gdb/gdb/0010-Fix-invalid-sigprocmask-call.patch index bce025c391..5209c00275 100644 --- a/meta/recipes-devtools/gdb/gdb/0011-Fix-invalid-sigprocmask-call.patch +++ b/meta/recipes-devtools/gdb/gdb/0010-Fix-invalid-sigprocmask-call.patch @@ -1,7 +1,7 @@ -From b1985595e46721bb168ac38f4c841a915cc2f799 Mon Sep 17 00:00:00 2001 +From bc1f01ff5e524f7777083024bce348a9b0017a7a Mon Sep 17 00:00:00 2001 From: Yousong Zhou <yszhou4tech@gmail.com> Date: Fri, 24 Mar 2017 10:36:03 +0800 -Subject: [PATCH 11/11] Fix invalid sigprocmask call +Subject: [PATCH] Fix invalid sigprocmask call MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -28,22 +28,19 @@ Upstream-Status: Pending [not author, cherry-picked from LEDE https://bugs.lede- Signed-off-by: André Draszik <adraszik@tycoint.com> Signed-off-by: Khem Raj <raj.khem@gmail.com> --- - gdb/common/signals-state-save-restore.c | 2 +- + gdb/gdbsupport/signals-state-save-restore.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/gdb/common/signals-state-save-restore.c b/gdb/common/signals-state-save-restore.c -index 5bb66321bb..6597decbc6 100644 ---- a/gdb/common/signals-state-save-restore.c -+++ b/gdb/common/signals-state-save-restore.c -@@ -41,7 +41,7 @@ save_original_signals_state (bool quiet) +diff --git a/gdb/gdbsupport/signals-state-save-restore.c b/gdb/gdbsupport/signals-state-save-restore.c +index c292d498da..af9dcaeb08 100644 +--- a/gdb/gdbsupport/signals-state-save-restore.c ++++ b/gdb/gdbsupport/signals-state-save-restore.c +@@ -38,7 +38,7 @@ save_original_signals_state (bool quiet) int i; int res; -- res = sigprocmask (0, NULL, &original_signal_mask); -+ res = sigprocmask (SIG_BLOCK, NULL, &original_signal_mask); +- res = gdb_sigmask (0, NULL, &original_signal_mask); ++ res = gdb_sigmask (SIG_BLOCK, NULL, &original_signal_mask); if (res == -1) perror_with_name (("sigprocmask")); --- -2.18.0 - diff --git a/meta/recipes-devtools/gdb/gdb/0011-gdbserver-ctrl-c-handling.patch b/meta/recipes-devtools/gdb/gdb/0011-gdbserver-ctrl-c-handling.patch new file mode 100644 index 0000000000..eedd94c4d4 --- /dev/null +++ b/meta/recipes-devtools/gdb/gdb/0011-gdbserver-ctrl-c-handling.patch @@ -0,0 +1,39 @@ +From 3d6700d38153a0ec8e0800de703a5089a8cd3d2d Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 29 Nov 2018 18:00:23 -0800 +Subject: [PATCH] gdbserver ctrl-c handling + +This problem was created by the upstream commit 78708b7c8c +After applying the commit, it will send SIGINT to the process +group(-signal_pid). +But if we use gdbserver send SIGINT, and the attached process is not a +process +group leader, then the "kill (-signal_pid, SIGINT)" returns error and +fails to +interrupt the attached process. + +Upstream-Status: Submitted +[https://sourceware.org/bugzilla/show_bug.cgi?id=18945] + +Author: Josh Gao +Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + gdb/gdbserver/linux-low.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c +index 4255795ea6..762f8bafb6 100644 +--- a/gdb/gdbserver/linux-low.c ++++ b/gdb/gdbserver/linux-low.c +@@ -5904,9 +5904,7 @@ linux_look_up_symbols (void) + static void + linux_request_interrupt (void) + { +- /* Send a SIGINT to the process group. This acts just like the user +- typed a ^C on the controlling terminal. */ +- kill (-signal_pid, SIGINT); ++ kill (signal_pid, SIGINT); + } + + /* Copy LEN bytes from inferior's auxiliary vector starting at OFFSET diff --git a/meta/recipes-devtools/gdb/gdb/CVE-2019-1010180.patch b/meta/recipes-devtools/gdb/gdb/CVE-2019-1010180.patch deleted file mode 100644 index 46b2b3a713..0000000000 --- a/meta/recipes-devtools/gdb/gdb/CVE-2019-1010180.patch +++ /dev/null @@ -1,132 +0,0 @@ -From 950b74950f6020eda38647f22e9077ac7f68ca49 Mon Sep 17 00:00:00 2001 -From: Keith Seitz <keiths@redhat.com> -Date: Wed, 16 Oct 2019 11:33:59 -0700 -Subject: [PATCH] DWARF reader: Reject sections with invalid sizes - -This is another fuzzer bug, gdb/23567. This time, the fuzzer has -specifically altered the size of .debug_str: - -$ eu-readelf -S objdump -Section Headers: -[Nr] Name Type Addr Off Size ES Flags Lk Inf Al -[31] .debug_str PROGBITS 0000000000000000 0057116d ffffffffffffffff 1 MS 0 0 1 - -When this file is loaded into GDB, the DWARF reader crashes attempting -to access the string table (or it may just store a bunch of nonsense): - -[gdb-8.3-6-fc30] -$ gdb -nx -q objdump -BFD: warning: /path/to/objdump has a corrupt section with a size (ffffffffffffffff) larger than the file size -Reading symbols from /path/to/objdump... -Segmentation fault (core dumped) - -Nick has already committed a BFD patch to issue the warning seen above. - -[gdb master 6acc1a0b] -$ gdb -BFD: warning: /path/to/objdump has a corrupt section with a size (ffffffffffffffff) larger than the file size -Reading symbols from /path/to/objdump... -(gdb) inf func -All defined functions: - -File ./../include/dwarf2.def: -186: const - - 8 *>(.: - ;'@�B); -747: const - - 8 *�(.: - ;'@�B); -701: const - - 8 *�D � - (.: - ;'@�B); -71: const - - 8 *(.: - ;'@�B); -/* and more gibberish */ - -Consider read_indirect_string_at_offset_from: - -static const char * -read_indirect_string_at_offset_from (struct objfile *objfile, - bfd *abfd, LONGEST str_offset, - struct dwarf2_section_info *sect, - const char *form_name, - const char *sect_name) -{ - dwarf2_read_section (objfile, sect); - if (sect->buffer == NULL) - error (_("%s used without %s section [in module %s]"), - form_name, sect_name, bfd_get_filename (abfd)); - if (str_offset >= sect->size) - error (_("%s pointing outside of %s section [in module %s]"), - form_name, sect_name, bfd_get_filename (abfd)); - gdb_assert (HOST_CHAR_BIT == 8); - if (sect->buffer[str_offset] == '\0') - return NULL; - return (const char *) (sect->buffer + str_offset); -} - -With sect_size being ginormous, the code attempts to access -sect->buffer[GINORMOUS], and depending on the layout of memory, -GDB either stores a bunch of gibberish strings or crashes. - -This is an attempt to mitigate this by implementing a similar approach -used by BFD. In our case, we simply reject the section with the invalid -length: - -$ ./gdb -nx -q objdump -BFD: warning: /path/to/objdump has a corrupt section with a size (ffffffffffffffff) larger than the file size -Reading symbols from /path/to/objdump... - -warning: Discarding section .debug_str which has a section size (ffffffffffffffff) larger than the file size [in module /path/to/objdump] -DW_FORM_strp used without .debug_str section [in module /path/to/objdump] -(No debugging symbols found in /path/to/objdump) -(gdb) - -Unfortunately, I have not found a way to regression test this, since it -requires poking ELF section headers. - -gdb/ChangeLog: -2019-10-16 Keith Seitz <keiths@redhat.com> - - PR gdb/23567 - * dwarf2read.c (dwarf2_per_objfile::locate_sections): Discard - sections whose size is greater than the file size. - -Change-Id: I896ac3b4eb2207c54e8e05c16beab3051d9b4b2f - -CVE: CVE-2019-1010180 -Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=950b74950f6020eda38647f22e9077ac7f68ca49] -[Removed Changelog entry] -Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com> ---- - gdb/dwarf2read.c | 9 +++++++++ - 2 files changed, 15 insertions(+) - -diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c -index 0443b55..a78f818 100644 ---- a/gdb/dwarf2read.c -+++ b/gdb/dwarf2read.c -@@ -2338,6 +2338,15 @@ dwarf2_per_objfile::locate_sections (bfd *abfd, asection *sectp, - if ((aflag & SEC_HAS_CONTENTS) == 0) - { - } -+ else if (elf_section_data (sectp)->this_hdr.sh_size -+ > bfd_get_file_size (abfd)) -+ { -+ bfd_size_type size = elf_section_data (sectp)->this_hdr.sh_size; -+ warning (_("Discarding section %s which has a section size (%s" -+ ") larger than the file size [in module %s]"), -+ bfd_section_name (abfd, sectp), phex_nz (size, sizeof (size)), -+ bfd_get_filename (abfd)); -+ } - else if (section_is_p (sectp->name, &names.info)) - { - this->info.s.section = sectp; --- -2.7.4 - diff --git a/meta/recipes-devtools/gdb/gdb_8.3.1.bb b/meta/recipes-devtools/gdb/gdb_9.1.bb index d70757a151..d70757a151 100644 --- a/meta/recipes-devtools/gdb/gdb_8.3.1.bb +++ b/meta/recipes-devtools/gdb/gdb_9.1.bb |