diff options
Diffstat (limited to 'meta/recipes-devtools/gdb/gdb/0004-Add-support-for-Renesas-SH-sh4-architecture.patch')
-rw-r--r-- | meta/recipes-devtools/gdb/gdb/0004-Add-support-for-Renesas-SH-sh4-architecture.patch | 58 |
1 files changed, 30 insertions, 28 deletions
diff --git a/meta/recipes-devtools/gdb/gdb/0004-Add-support-for-Renesas-SH-sh4-architecture.patch b/meta/recipes-devtools/gdb/gdb/0004-Add-support-for-Renesas-SH-sh4-architecture.patch index fd165d4b81..561cfff943 100644 --- a/meta/recipes-devtools/gdb/gdb/0004-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 505f10a0ea1a8bba0584859d9a348bb779593ec2 Mon Sep 17 00:00:00 2001 +From 26e406962cf7298837b350b979afff0ac34ecb0b 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] Add support for Renesas SH (sh4) architecture. +Subject: [PATCH 04/11] Add support for Renesas SH (sh4) architecture. gdb (7.4-1~cvs20111117.2) experimental; urgency=low . @@ -16,7 +16,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> gdb/Makefile.in | 2 + gdb/configure.host | 1 + gdb/sh-linux-tdep.c | 519 +++++++++++++++++++++++++++ - gdb/sh-tdep.c | 53 ++- + gdb/sh-tdep.c | 52 +-- gdb/sh-tdep.h | 49 +++ gdb/testsuite/gdb.asm/asm-source.exp | 5 + gdb/testsuite/gdb.asm/sh.inc | 3 +- @@ -24,13 +24,13 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> gdb/testsuite/gdb.base/annota3.c | 4 + gdb/testsuite/gdb.base/sigall.c | 3 + gdb/testsuite/gdb.base/signals.c | 4 + - 11 files changed, 617 insertions(+), 29 deletions(-) + 11 files changed, 617 insertions(+), 28 deletions(-) diff --git a/gdb/Makefile.in b/gdb/Makefile.in -index c3e074b21f..42dd7af59c 100644 +index 4808357e651..a009004ab05 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in -@@ -2317,6 +2317,8 @@ ALLDEPFILES = \ +@@ -2273,6 +2273,8 @@ ALLDEPFILES = \ sh-nbsd-nat.c \ sh-nbsd-tdep.c \ sh-tdep.c \ @@ -40,7 +40,7 @@ index c3e074b21f..42dd7af59c 100644 solib-aix.c \ solib-svr4.c \ diff --git a/gdb/configure.host b/gdb/configure.host -index ce52823729..5b5173a71a 100644 +index ce528237291..5b5173a71aa 100644 --- a/gdb/configure.host +++ b/gdb/configure.host @@ -148,6 +148,7 @@ riscv*-*-linux*) gdb_host=linux ;; @@ -52,7 +52,7 @@ index ce52823729..5b5173a71a 100644 gdb_host=nbsd ;; sh*-*-openbsd*) gdb_host=nbsd ;; diff --git a/gdb/sh-linux-tdep.c b/gdb/sh-linux-tdep.c -index 13c10eeeda..1d0d583a64 100644 +index 5d2f38f5801..06a45b74827 100644 --- a/gdb/sh-linux-tdep.c +++ b/gdb/sh-linux-tdep.c @@ -18,14 +18,37 @@ @@ -600,7 +600,7 @@ index 13c10eeeda..1d0d583a64 100644 /* GNU/Linux uses SVR4-style shared libraries. */ diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c -index e3aee0ac28..5958cf3688 100644 +index 7aadf9165ca..e173e215a2d 100644 --- a/gdb/sh-tdep.c +++ b/gdb/sh-tdep.c @@ -21,6 +21,9 @@ @@ -637,16 +637,15 @@ index e3aee0ac28..5958cf3688 100644 static int sh_is_renesas_calling_convention (struct type *func_type) { -@@ -1050,7 +1036,7 @@ sh_treat_as_flt_p (struct type *type) +@@ -1050,6 +1036,7 @@ sh_treat_as_flt_p (struct type *type) return 0; /* Otherwise if the type of that member is float, the whole type is treated as float. */ -- if (TYPE_CODE (TYPE_FIELD_TYPE (type, 0)) == TYPE_CODE_FLT) -+ if (TYPE_CODE (check_typedef (TYPE_FIELD_TYPE (type, 0))) == TYPE_CODE_FLT) ++ type = check_typedef (type); + if (type->field (0).type ()->code () == TYPE_CODE_FLT) return 1; /* Otherwise it's not treated as float. */ - return 0; -@@ -1100,7 +1086,7 @@ sh_push_dummy_call_fpu (struct gdbarch *gdbarch, +@@ -1100,7 +1087,7 @@ sh_push_dummy_call_fpu (struct gdbarch *gdbarch, in four registers available. Loop thru args from first to last. */ for (argnum = 0; argnum < nargs; argnum++) { @@ -655,7 +654,7 @@ index e3aee0ac28..5958cf3688 100644 len = TYPE_LENGTH (type); val = sh_justify_value_in_reg (gdbarch, args[argnum], len); -@@ -1835,7 +1821,7 @@ sh_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, +@@ -1835,7 +1822,7 @@ sh_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, reg->how = DWARF2_FRAME_REG_UNDEFINED; } @@ -664,7 +663,7 @@ index e3aee0ac28..5958cf3688 100644 sh_alloc_frame_cache (void) { struct sh_frame_cache *cache; -@@ -1862,7 +1848,7 @@ sh_alloc_frame_cache (void) +@@ -1862,7 +1849,7 @@ sh_alloc_frame_cache (void) return cache; } @@ -673,7 +672,7 @@ index e3aee0ac28..5958cf3688 100644 sh_frame_cache (struct frame_info *this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); -@@ -1929,9 +1915,9 @@ sh_frame_cache (struct frame_info *this_frame, void **this_cache) +@@ -1929,9 +1916,9 @@ sh_frame_cache (struct frame_info *this_frame, void **this_cache) return cache; } @@ -686,7 +685,7 @@ index e3aee0ac28..5958cf3688 100644 { struct gdbarch *gdbarch = get_frame_arch (this_frame); struct sh_frame_cache *cache = sh_frame_cache (this_frame, this_cache); -@@ -1945,7 +1931,7 @@ sh_frame_prev_register (struct frame_info *this_frame, +@@ -1945,7 +1932,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 +694,7 @@ index e3aee0ac28..5958cf3688 100644 if (regnum < SH_NUM_REGS && cache->saved_regs[regnum] != -1) return frame_unwind_got_memory (this_frame, regnum, -@@ -2234,8 +2220,8 @@ sh_return_in_first_hidden_param_p (struct gdbarch *gdbarch, +@@ -2234,8 +2221,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 +704,7 @@ index e3aee0ac28..5958cf3688 100644 /* If there is already a candidate, use it. */ arches = gdbarch_list_lookup_by_info (arches, &info); -@@ -2247,6 +2233,18 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) +@@ -2247,6 +2234,18 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) tdep = XCNEW (struct gdbarch_tdep); gdbarch = gdbarch_alloc (&info, tdep); @@ -724,7 +723,7 @@ index e3aee0ac28..5958cf3688 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); -@@ -2398,10 +2396,11 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) +@@ -2398,10 +2397,11 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) break; } @@ -738,7 +737,7 @@ index e3aee0ac28..5958cf3688 100644 frame_unwind_append_unwinder (gdbarch, &sh_frame_unwind); diff --git a/gdb/sh-tdep.h b/gdb/sh-tdep.h -index 76e2e76e39..2710f63010 100644 +index 76e2e76e39b..2710f63010c 100644 --- a/gdb/sh-tdep.h +++ b/gdb/sh-tdep.h @@ -21,6 +21,12 @@ @@ -821,7 +820,7 @@ index 76e2e76e39..2710f63010 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 4914498f98..6e25cbed18 100644 +index 4914498f98c..6e25cbed185 100644 --- a/gdb/testsuite/gdb.asm/asm-source.exp +++ b/gdb/testsuite/gdb.asm/asm-source.exp @@ -116,6 +116,11 @@ switch -glob -- [istarget] { @@ -837,7 +836,7 @@ index 4914498f98..6e25cbed18 100644 set asm-arch sh set debug-flags "-gdwarf-2" diff --git a/gdb/testsuite/gdb.asm/sh.inc b/gdb/testsuite/gdb.asm/sh.inc -index a4a5fc545e..89efed7795 100644 +index a4a5fc545e4..89efed7795c 100644 --- a/gdb/testsuite/gdb.asm/sh.inc +++ b/gdb/testsuite/gdb.asm/sh.inc @@ -40,9 +40,8 @@ @@ -852,7 +851,7 @@ index a4a5fc545e..89efed7795 100644 .align 1 .Lafterconst\@: diff --git a/gdb/testsuite/gdb.base/annota1.c b/gdb/testsuite/gdb.base/annota1.c -index 424e1b8327..0de2e7b633 100644 +index 424e1b83278..0de2e7b633a 100644 --- a/gdb/testsuite/gdb.base/annota1.c +++ b/gdb/testsuite/gdb.base/annota1.c @@ -1,6 +1,9 @@ @@ -866,7 +865,7 @@ index 424e1b8327..0de2e7b633 100644 void handle_USR1 (int sig) diff --git a/gdb/testsuite/gdb.base/annota3.c b/gdb/testsuite/gdb.base/annota3.c -index 424e1b8327..952aaf218a 100644 +index 424e1b83278..952aaf218ab 100644 --- a/gdb/testsuite/gdb.base/annota3.c +++ b/gdb/testsuite/gdb.base/annota3.c @@ -1,6 +1,10 @@ @@ -881,7 +880,7 @@ index 424e1b8327..952aaf218a 100644 void handle_USR1 (int sig) diff --git a/gdb/testsuite/gdb.base/sigall.c b/gdb/testsuite/gdb.base/sigall.c -index 81f3b08d6b..1574b2d6cb 100644 +index 81f3b08d6bc..1574b2d6cb8 100644 --- a/gdb/testsuite/gdb.base/sigall.c +++ b/gdb/testsuite/gdb.base/sigall.c @@ -1,6 +1,9 @@ @@ -895,7 +894,7 @@ index 81f3b08d6b..1574b2d6cb 100644 /* Signal handlers, we set breakpoints in them to make sure that the signals really get delivered. */ diff --git a/gdb/testsuite/gdb.base/signals.c b/gdb/testsuite/gdb.base/signals.c -index 756606880f..1205a9bc9c 100644 +index 756606880fa..1205a9bc9c5 100644 --- a/gdb/testsuite/gdb.base/signals.c +++ b/gdb/testsuite/gdb.base/signals.c @@ -3,6 +3,10 @@ @@ -909,3 +908,6 @@ index 756606880f..1205a9bc9c 100644 static int count = 0; +-- +2.29.2 + |