From patchwork Mon Oct 1 15:52:54 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Hayward X-Patchwork-Id: 29597 Received: (qmail 88359 invoked by alias); 1 Oct 2018 15:53:15 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 88348 invoked by uid 89); 1 Oct 2018 15:53:14 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 spammy=rend, 5937, sk:return_ X-HELO: EUR03-DB5-obe.outbound.protection.outlook.com Received: from mail-eopbgr40060.outbound.protection.outlook.com (HELO EUR03-DB5-obe.outbound.protection.outlook.com) (40.107.4.60) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 01 Oct 2018 15:53:08 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3nAxuWV+2I+5ce6kU9sWYAlRXNQ94MO/jGl4iMTip44=; b=lerEbfPkBQw0RCppfYNgwCGgeQbs75diOOxuAIoC0QN6uSnZ+qRQgFb3X7iwuMoKejE8SbtFlIvSrqZmPatzGvUiw5M3eQ4gAWXAK29WneY2jIE8U0/0EYK+hRPpEN4SLPWFhUZSIyMudBIpdmj3rpdjDDbcwMMaAZMAwCubMvU= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alan.Hayward@arm.com; Received: from C02TF0U7HF1T.manchester.arm.com (217.140.106.32) by DB6PR0802MB2136.eurprd08.prod.outlook.com (2603:10a6:4:83::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1185.23; Mon, 1 Oct 2018 15:53:02 +0000 From: Alan Hayward To: gdb-patches@sourceware.org Cc: nd@arm.com, Alan Hayward Subject: [PATCH v2 1/2] Add lang_struct_return to _push_dummy_call Date: Mon, 1 Oct 2018 16:52:54 +0100 Message-Id: <20181001155255.14859-2-alan.hayward@arm.com> In-Reply-To: <20181001155255.14859-1-alan.hayward@arm.com> References: <20181001155255.14859-1-alan.hayward@arm.com> MIME-Version: 1.0 Return-Path: alan.hayward@arm.com Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-IsSubscribed: yes Make call_function_by_hand_dummy pass this down. 2018-10-01 Alan Hayward * aarch64-tdep.c (aarch64_push_dummy_call): Add lang_struct_return_unused param. * alpha-tdep.c (alpha_push_dummy_call): Add lang_struct_return param. * amd64-tdep.c (amd64_push_dummy_call): Likewise. * amd64-windows-tdep.c: Likewise. * arc-tdep.c (arc_push_dummy_call): Likewise. * arm-tdep.c (arm_push_dummy_call): Likewise. * avr-tdep.c (avr_push_dummy_call): Likewise. * bfin-tdep.c (bfin_push_dummy_call): Likewise. * cris-tdep.c (cris_push_dummy_call): Likewise. * csky-tdep.c (csky_push_dummy_call): Likewise. * frv-tdep.c (frv_push_dummy_call): Likewise. * gdbarch.c (gdbarch_push_dummy_call): Regenerate. * gdbarch.h (CORE_ADDR): Likewise. (gdbarch_push_dummy_call): Likewise. * gdbarch.sh: Add lang_struct_return param. * h8300-tdep.c (h8300_push_dummy_call): Likewise. * hppa-tdep.c (hppa32_push_dummy_call): Likewise. (hppa64_push_dummy_call): Likewise. * i386-darwin-tdep.c (i386_darwin_push_dummy_call): Likewise. * i386-tdep.c (i386_push_dummy_call): Likewise. * ia64-tdep.c (ia64_push_dummy_call): Likewise. * infcall.c (call_function_by_hand_dummy): Pass lang_struct_return. * iq2000-tdep.c (iq2000_push_dummy_call): Add lang_struct_return param. * lm32-tdep.c (lm32_push_dummy_call): Likewise. * m32c-tdep.c (m32c_push_dummy_call): Likewise. * m32r-tdep.c (m32r_push_dummy_call): Likewise. * m68hc11-tdep.c (m68hc11_push_dummy_call): Likewise. * m68k-tdep.c (m68k_push_dummy_call): Likewise. * mep-tdep.c (mep_push_dummy_call): Likewise. * mips-tdep.c (mips_eabi_push_dummy_call): Likewise. (mips_n32n64_push_dummy_call): Likewise. (mips_o32_push_dummy_call): Likewise. (mips_o64_push_dummy_call): Likewise. * mn10300-tdep.c (mn10300_push_dummy_call): Likewise. * msp430-tdep.c (msp430_push_dummy_call): Likewise. * nds32-tdep.c (nds32_push_dummy_call): Likewise. * nios2-tdep.c (nios2_push_dummy_call): Likewise. * or1k-tdep.c (or1k_push_dummy_call): Likewise. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Likewise. (ppc64_sysv_abi_push_dummy_call): Likewise. * ppc-tdep.h (ppc_sysv_abi_push_dummy_call): Likewise. (ppc64_sysv_abi_push_dummy_call): Likewise. * riscv-tdep.c (riscv_push_dummy_call): Likewise. * rl78-tdep.c (rl78_push_dummy_call): Likewise. * rs6000-aix-tdep.c (rs6000_push_dummy_call): Likewise. * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Likewise. * rx-tdep.c (rx_push_dummy_call): Likewise. * s390-tdep.c (s390_push_dummy_call): Likewise. * score-tdep.c (score_push_dummy_call): Likewise. * sh-tdep.c (sh_push_dummy_call_fpu): Likewise. (sh_push_dummy_call_nofpu): Likewise. * sparc-tdep.c (sparc32_push_dummy_call): Likewise. * sparc64-tdep.c (sparc64_push_dummy_call): Likewise. * spu-tdep.c (spu_push_dummy_call): Likewise. * tic6x-tdep.c (tic6x_push_dummy_call): Likewise. * tilegx-tdep.c (tilegx_push_dummy_call): Likewise. * v850-tdep.c (v850_push_dummy_call): Likewise. * vax-tdep.c (vax_push_dummy_call): Likewise. * xstormy16-tdep.c (xstormy16_push_dummy_call): Likewise. * xtensa-tdep.c (xtensa_push_dummy_call): Likewise. --- gdb/aarch64-tdep.c | 4 ++-- gdb/alpha-tdep.c | 3 ++- gdb/amd64-tdep.c | 3 ++- gdb/amd64-windows-tdep.c | 3 ++- gdb/arc-tdep.c | 2 +- gdb/arm-tdep.c | 2 +- gdb/avr-tdep.c | 3 ++- gdb/bfin-tdep.c | 1 + gdb/cris-tdep.c | 3 ++- gdb/csky-tdep.c | 3 ++- gdb/frv-tdep.c | 3 ++- gdb/gdbarch.c | 4 ++-- gdb/gdbarch.h | 4 ++-- gdb/gdbarch.sh | 2 +- gdb/h8300-tdep.c | 3 ++- gdb/hppa-tdep.c | 6 ++++-- gdb/i386-darwin-tdep.c | 3 ++- gdb/i386-tdep.c | 2 +- gdb/ia64-tdep.c | 3 ++- gdb/infcall.c | 3 ++- gdb/iq2000-tdep.c | 3 ++- gdb/lm32-tdep.c | 3 ++- gdb/m32c-tdep.c | 2 +- gdb/m32r-tdep.c | 2 +- gdb/m68hc11-tdep.c | 3 ++- gdb/m68k-tdep.c | 2 +- gdb/mep-tdep.c | 2 +- gdb/mips-tdep.c | 15 +++++++++------ gdb/mn10300-tdep.c | 1 + gdb/msp430-tdep.c | 3 ++- gdb/nds32-tdep.c | 3 ++- gdb/nios2-tdep.c | 3 ++- gdb/or1k-tdep.c | 3 ++- gdb/ppc-sysv-tdep.c | 6 ++++-- gdb/ppc-tdep.h | 2 ++ gdb/riscv-tdep.c | 1 + gdb/rl78-tdep.c | 3 ++- gdb/rs6000-aix-tdep.c | 3 ++- gdb/rs6000-lynx178-tdep.c | 3 ++- gdb/rx-tdep.c | 2 +- gdb/s390-tdep.c | 3 ++- gdb/score-tdep.c | 3 ++- gdb/sh-tdep.c | 2 ++ gdb/sparc-tdep.c | 3 ++- gdb/sparc64-tdep.c | 3 ++- gdb/spu-tdep.c | 3 ++- gdb/tic6x-tdep.c | 3 ++- gdb/tilegx-tdep.c | 1 + gdb/v850-tdep.c | 1 + gdb/vax-tdep.c | 2 +- gdb/xstormy16-tdep.c | 1 + gdb/xtensa-tdep.c | 1 + 52 files changed, 98 insertions(+), 53 deletions(-) diff --git a/gdb/aarch64-tdep.c b/gdb/aarch64-tdep.c index 023e8eb453..504b040c2e 100644 --- a/gdb/aarch64-tdep.c +++ b/gdb/aarch64-tdep.c @@ -1512,8 +1512,8 @@ pass_in_v_vfp_candidate (struct gdbarch *gdbarch, struct regcache *regcache, static CORE_ADDR aarch64_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, - int nargs, - struct value **args, CORE_ADDR sp, int struct_return, + int nargs, struct value **args, CORE_ADDR sp, + int struct_return, int lang_struct_return_unused, CORE_ADDR struct_addr) { int argnum; diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c index e649bd2102..a154274091 100644 --- a/gdb/alpha-tdep.c +++ b/gdb/alpha-tdep.c @@ -295,7 +295,8 @@ static CORE_ADDR alpha_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); int i; diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c index 088542d72b..f805c8b5a5 100644 --- a/gdb/amd64-tdep.c +++ b/gdb/amd64-tdep.c @@ -991,7 +991,8 @@ static CORE_ADDR amd64_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); gdb_byte buf[8]; diff --git a/gdb/amd64-windows-tdep.c b/gdb/amd64-windows-tdep.c index 904875bacc..a33908f1a2 100644 --- a/gdb/amd64-windows-tdep.c +++ b/gdb/amd64-windows-tdep.c @@ -245,7 +245,8 @@ amd64_windows_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, - CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr) + CORE_ADDR sp, int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); gdb_byte buf[8]; diff --git a/gdb/arc-tdep.c b/gdb/arc-tdep.c index fad9170978..f7f7ddfaee 100644 --- a/gdb/arc-tdep.c +++ b/gdb/arc-tdep.c @@ -593,7 +593,7 @@ static CORE_ADDR arc_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, - CORE_ADDR struct_addr) + int lang_struct_return, CORE_ADDR struct_addr) { if (arc_debug) debug_printf ("arc: push_dummy_call (nargs = %d)\n", nargs); diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c index c3280ee211..ea69637986 100644 --- a/gdb/arm-tdep.c +++ b/gdb/arm-tdep.c @@ -3680,7 +3680,7 @@ static CORE_ADDR arm_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, - CORE_ADDR struct_addr) + int lang_struct_return, CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); int argnum; diff --git a/gdb/avr-tdep.c b/gdb/avr-tdep.c index 9e14007fc0..cf7daaf4ff 100644 --- a/gdb/avr-tdep.c +++ b/gdb/avr-tdep.c @@ -1263,7 +1263,8 @@ static CORE_ADDR avr_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { int i; gdb_byte buf[3]; diff --git a/gdb/bfin-tdep.c b/gdb/bfin-tdep.c index c84625c894..580eb0e013 100644 --- a/gdb/bfin-tdep.c +++ b/gdb/bfin-tdep.c @@ -499,6 +499,7 @@ bfin_push_dummy_call (struct gdbarch *gdbarch, struct value **args, CORE_ADDR sp, int struct_return, + int lang_struct_return, CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); diff --git a/gdb/cris-tdep.c b/gdb/cris-tdep.c index e0371a2a28..df90e4ba70 100644 --- a/gdb/cris-tdep.c +++ b/gdb/cris-tdep.c @@ -808,7 +808,8 @@ static CORE_ADDR cris_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); int argreg; diff --git a/gdb/csky-tdep.c b/gdb/csky-tdep.c index 95bcead877..066b855414 100644 --- a/gdb/csky-tdep.c +++ b/gdb/csky-tdep.c @@ -336,7 +336,8 @@ static CORE_ADDR csky_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { int argnum; int argreg = CSKY_ABI_A0_REGNUM; diff --git a/gdb/frv-tdep.c b/gdb/frv-tdep.c index 1eed441f2b..8b67ac43e6 100644 --- a/gdb/frv-tdep.c +++ b/gdb/frv-tdep.c @@ -1193,7 +1193,8 @@ static CORE_ADDR frv_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); int argreg; diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c index e2abf263b3..15de39d51c 100644 --- a/gdb/gdbarch.c +++ b/gdb/gdbarch.c @@ -2356,13 +2356,13 @@ gdbarch_push_dummy_call_p (struct gdbarch *gdbarch) } CORE_ADDR -gdbarch_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr) +gdbarch_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, int lang_struct_return, CORE_ADDR struct_addr) { gdb_assert (gdbarch != NULL); gdb_assert (gdbarch->push_dummy_call != NULL); if (gdbarch_debug >= 2) fprintf_unfiltered (gdb_stdlog, "gdbarch_push_dummy_call called\n"); - return gdbarch->push_dummy_call (gdbarch, function, regcache, bp_addr, nargs, args, sp, struct_return, struct_addr); + return gdbarch->push_dummy_call (gdbarch, function, regcache, bp_addr, nargs, args, sp, struct_return, lang_struct_return, struct_addr); } void diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h index fc2f1a84a1..bcf7a954ab 100644 --- a/gdb/gdbarch.h +++ b/gdb/gdbarch.h @@ -394,8 +394,8 @@ extern void set_gdbarch_deprecated_fp_regnum (struct gdbarch *gdbarch, int depre extern int gdbarch_push_dummy_call_p (struct gdbarch *gdbarch); -typedef CORE_ADDR (gdbarch_push_dummy_call_ftype) (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr); -extern CORE_ADDR gdbarch_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr); +typedef CORE_ADDR (gdbarch_push_dummy_call_ftype) (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, int lang_struct_return, CORE_ADDR struct_addr); +extern CORE_ADDR gdbarch_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, int lang_struct_return, CORE_ADDR struct_addr); extern void set_gdbarch_push_dummy_call (struct gdbarch *gdbarch, gdbarch_push_dummy_call_ftype *push_dummy_call); extern int gdbarch_call_dummy_location (struct gdbarch *gdbarch); diff --git a/gdb/gdbarch.sh b/gdb/gdbarch.sh index 670ac30c03..8d4e1e9ced 100755 --- a/gdb/gdbarch.sh +++ b/gdb/gdbarch.sh @@ -485,7 +485,7 @@ M;struct frame_id;dummy_id;struct frame_info *this_frame;this_frame # deprecated_fp_regnum. v;int;deprecated_fp_regnum;;;-1;-1;;0 -M;CORE_ADDR;push_dummy_call;struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr;function, regcache, bp_addr, nargs, args, sp, struct_return, struct_addr +M;CORE_ADDR;push_dummy_call;struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, int lang_struct_return, CORE_ADDR struct_addr;function, regcache, bp_addr, nargs, args, sp, struct_return, lang_struct_return, struct_addr v;int;call_dummy_location;;;;AT_ENTRY_POINT;;0 M;CORE_ADDR;push_dummy_code;CORE_ADDR sp, CORE_ADDR funaddr, struct value **args, int nargs, struct type *value_type, CORE_ADDR *real_pc, CORE_ADDR *bp_addr, struct regcache *regcache;sp, funaddr, args, nargs, value_type, real_pc, bp_addr, regcache diff --git a/gdb/h8300-tdep.c b/gdb/h8300-tdep.c index 5a4802cfe5..caff83b3dc 100644 --- a/gdb/h8300-tdep.c +++ b/gdb/h8300-tdep.c @@ -634,7 +634,8 @@ static CORE_ADDR h8300_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); int stack_alloc = 0, stack_offset = 0; diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c index 319096e056..6bea76d1fe 100644 --- a/gdb/hppa-tdep.c +++ b/gdb/hppa-tdep.c @@ -714,7 +714,8 @@ static CORE_ADDR hppa32_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); @@ -969,7 +970,8 @@ static CORE_ADDR hppa64_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); diff --git a/gdb/i386-darwin-tdep.c b/gdb/i386-darwin-tdep.c index 5a1807ae4d..e1c0937a9c 100644 --- a/gdb/i386-darwin-tdep.c +++ b/gdb/i386-darwin-tdep.c @@ -153,7 +153,8 @@ static CORE_ADDR i386_darwin_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c index a6994aaf12..9a8ce67d04 100644 --- a/gdb/i386-tdep.c +++ b/gdb/i386-tdep.c @@ -2672,7 +2672,7 @@ static CORE_ADDR i386_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, - CORE_ADDR struct_addr) + int lang_struct_return, CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); gdb_byte buf[4]; diff --git a/gdb/ia64-tdep.c b/gdb/ia64-tdep.c index 5e9ecb5151..8132c0d21b 100644 --- a/gdb/ia64-tdep.c +++ b/gdb/ia64-tdep.c @@ -3674,7 +3674,8 @@ static CORE_ADDR ia64_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); diff --git a/gdb/infcall.c b/gdb/infcall.c index 96d43704fa..85e3d387b0 100644 --- a/gdb/infcall.c +++ b/gdb/infcall.c @@ -1061,7 +1061,8 @@ call_function_by_hand_dummy (struct value *function, return address should be pointed. */ sp = gdbarch_push_dummy_call (gdbarch, function, get_current_regcache (), bp_addr, nargs, args, - sp, struct_return, struct_addr); + sp, struct_return, hidden_first_param_p, + struct_addr); /* Set up a frame ID for the dummy frame so we can pass it to set_momentary_breakpoint. We need to give the breakpoint a frame diff --git a/gdb/iq2000-tdep.c b/gdb/iq2000-tdep.c index 9f7f35d287..6f82bf9fa0 100644 --- a/gdb/iq2000-tdep.c +++ b/gdb/iq2000-tdep.c @@ -645,7 +645,8 @@ static CORE_ADDR iq2000_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); const bfd_byte *val; diff --git a/gdb/lm32-tdep.c b/gdb/lm32-tdep.c index 942852140d..2cfe1a0b54 100644 --- a/gdb/lm32-tdep.c +++ b/gdb/lm32-tdep.c @@ -228,7 +228,8 @@ static CORE_ADDR lm32_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); int first_arg_reg = SIM_LM32_R1_REGNUM; diff --git a/gdb/m32c-tdep.c b/gdb/m32c-tdep.c index 6fa24452da..7aed507512 100644 --- a/gdb/m32c-tdep.c +++ b/gdb/m32c-tdep.c @@ -2017,7 +2017,7 @@ static CORE_ADDR m32c_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, - CORE_ADDR struct_addr) + int lang_struct_return, CORE_ADDR struct_addr) { struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); diff --git a/gdb/m32r-tdep.c b/gdb/m32r-tdep.c index fd79f3f4cd..f807b2d5e3 100644 --- a/gdb/m32r-tdep.c +++ b/gdb/m32r-tdep.c @@ -660,7 +660,7 @@ static CORE_ADDR m32r_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, - CORE_ADDR struct_addr) + int lang_struct_return, CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); int stack_offset, stack_alloc; diff --git a/gdb/m68hc11-tdep.c b/gdb/m68hc11-tdep.c index 1490ee2866..de1f7eeba3 100644 --- a/gdb/m68hc11-tdep.c +++ b/gdb/m68hc11-tdep.c @@ -1157,7 +1157,8 @@ static CORE_ADDR m68hc11_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); int argnum; diff --git a/gdb/m68k-tdep.c b/gdb/m68k-tdep.c index a6e9b58a7d..f9357d6130 100644 --- a/gdb/m68k-tdep.c +++ b/gdb/m68k-tdep.c @@ -493,7 +493,7 @@ static CORE_ADDR m68k_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, - CORE_ADDR struct_addr) + int lang_struct_return, CORE_ADDR struct_addr) { struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); diff --git a/gdb/mep-tdep.c b/gdb/mep-tdep.c index 69e7fdda59..989d24e767 100644 --- a/gdb/mep-tdep.c +++ b/gdb/mep-tdep.c @@ -2259,7 +2259,7 @@ static CORE_ADDR mep_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int argc, struct value **argv, CORE_ADDR sp, - int struct_return, + int struct_return, int lang_struct_return, CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index 5e0a60625b..934c8376ce 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -4495,7 +4495,8 @@ static CORE_ADDR mips_eabi_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { int argreg; int float_argreg; @@ -4889,7 +4890,8 @@ static CORE_ADDR mips_n32n64_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { int argreg; int float_argreg; @@ -5345,7 +5347,8 @@ static CORE_ADDR mips_o32_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { int argreg; int float_argreg; @@ -5867,9 +5870,9 @@ mips_o32_return_value (struct gdbarch *gdbarch, struct value *function, static CORE_ADDR mips_o64_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, - int nargs, - struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int nargs, struct value **args, CORE_ADDR sp, + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { int argreg; int float_argreg; diff --git a/gdb/mn10300-tdep.c b/gdb/mn10300-tdep.c index edc99a2fab..42d611f6fc 100644 --- a/gdb/mn10300-tdep.c +++ b/gdb/mn10300-tdep.c @@ -1192,6 +1192,7 @@ mn10300_push_dummy_call (struct gdbarch *gdbarch, int nargs, struct value **args, CORE_ADDR sp, int struct_return, + int lang_struct_return, CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); diff --git a/gdb/msp430-tdep.c b/gdb/msp430-tdep.c index b6e062a380..a1b7add9ad 100644 --- a/gdb/msp430-tdep.c +++ b/gdb/msp430-tdep.c @@ -669,7 +669,8 @@ static CORE_ADDR msp430_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); int write_pass; diff --git a/gdb/nds32-tdep.c b/gdb/nds32-tdep.c index b616cc9b2c..7282ed8cf8 100644 --- a/gdb/nds32-tdep.c +++ b/gdb/nds32-tdep.c @@ -1490,7 +1490,8 @@ static CORE_ADDR nds32_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { const int REND = 6; /* End for register offset. */ int goff = 0; /* Current gpr offset for argument. */ diff --git a/gdb/nios2-tdep.c b/gdb/nios2-tdep.c index 008b1d4b22..fb113172ce 100644 --- a/gdb/nios2-tdep.c +++ b/gdb/nios2-tdep.c @@ -1814,7 +1814,8 @@ static CORE_ADDR nios2_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { int argreg; int argnum; diff --git a/gdb/or1k-tdep.c b/gdb/or1k-tdep.c index c5104e3959..fca09347ad 100644 --- a/gdb/or1k-tdep.c +++ b/gdb/or1k-tdep.c @@ -595,7 +595,8 @@ static CORE_ADDR or1k_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { int argreg; diff --git a/gdb/ppc-sysv-tdep.c b/gdb/ppc-sysv-tdep.c index 0bac225112..bebdc5cc7a 100644 --- a/gdb/ppc-sysv-tdep.c +++ b/gdb/ppc-sysv-tdep.c @@ -62,7 +62,8 @@ CORE_ADDR ppc_sysv_abi_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); @@ -1540,7 +1541,8 @@ ppc64_sysv_abi_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { CORE_ADDR func_addr = find_function_addr (function, NULL); struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); diff --git a/gdb/ppc-tdep.h b/gdb/ppc-tdep.h index c3571cbd51..7517c3f06f 100644 --- a/gdb/ppc-tdep.h +++ b/gdb/ppc-tdep.h @@ -45,6 +45,7 @@ CORE_ADDR ppc_sysv_abi_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, + int lang_struct_return, CORE_ADDR struct_addr); CORE_ADDR ppc64_sysv_abi_push_dummy_call (struct gdbarch *gdbarch, struct value *function, @@ -52,6 +53,7 @@ CORE_ADDR ppc64_sysv_abi_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, + int lang_struct_return, CORE_ADDR struct_addr); enum return_value_convention ppc64_sysv_abi_return_value (struct gdbarch *gdbarch, struct value *function, diff --git a/gdb/riscv-tdep.c b/gdb/riscv-tdep.c index 319e01b4ab..ea8f8e829d 100644 --- a/gdb/riscv-tdep.c +++ b/gdb/riscv-tdep.c @@ -2234,6 +2234,7 @@ riscv_push_dummy_call (struct gdbarch *gdbarch, struct value **args, CORE_ADDR sp, int struct_return, + int lang_struct_return, CORE_ADDR struct_addr) { int i; diff --git a/gdb/rl78-tdep.c b/gdb/rl78-tdep.c index ace01b1171..92a780fc43 100644 --- a/gdb/rl78-tdep.c +++ b/gdb/rl78-tdep.c @@ -1336,7 +1336,8 @@ static CORE_ADDR rl78_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); gdb_byte buf[4]; diff --git a/gdb/rs6000-aix-tdep.c b/gdb/rs6000-aix-tdep.c index 50a146a4f0..edb6d7e411 100644 --- a/gdb/rs6000-aix-tdep.c +++ b/gdb/rs6000-aix-tdep.c @@ -172,7 +172,8 @@ static CORE_ADDR rs6000_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); diff --git a/gdb/rs6000-lynx178-tdep.c b/gdb/rs6000-lynx178-tdep.c index 44cd0d013d..c61e0942ad 100644 --- a/gdb/rs6000-lynx178-tdep.c +++ b/gdb/rs6000-lynx178-tdep.c @@ -33,7 +33,8 @@ rs6000_lynx178_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); diff --git a/gdb/rx-tdep.c b/gdb/rx-tdep.c index 94d57913a3..d2cdd79363 100644 --- a/gdb/rx-tdep.c +++ b/gdb/rx-tdep.c @@ -785,7 +785,7 @@ static CORE_ADDR rx_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, - CORE_ADDR struct_addr) + int lang_struct_return, CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); int write_pass; diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c index e962824ca0..3a30bf594f 100644 --- a/gdb/s390-tdep.c +++ b/gdb/s390-tdep.c @@ -1864,7 +1864,8 @@ static CORE_ADDR s390_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); int word_size = gdbarch_ptr_bit (gdbarch) / 8; diff --git a/gdb/score-tdep.c b/gdb/score-tdep.c index b2887c5eae..9b7fc17995 100644 --- a/gdb/score-tdep.c +++ b/gdb/score-tdep.c @@ -511,7 +511,8 @@ static CORE_ADDR score_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); int argnum; diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c index fe64cf979a..05d71e036e 100644 --- a/gdb/sh-tdep.c +++ b/gdb/sh-tdep.c @@ -1063,6 +1063,7 @@ sh_push_dummy_call_fpu (struct gdbarch *gdbarch, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, + int lang_struct_return, CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); @@ -1205,6 +1206,7 @@ sh_push_dummy_call_nofpu (struct gdbarch *gdbarch, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, + int lang_struct_return, CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); diff --git a/gdb/sparc-tdep.c b/gdb/sparc-tdep.c index 7a50a8d4a9..7e8a099028 100644 --- a/gdb/sparc-tdep.c +++ b/gdb/sparc-tdep.c @@ -712,7 +712,8 @@ static CORE_ADDR sparc32_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { CORE_ADDR call_pc = (struct_return ? (bp_addr - 12) : (bp_addr - 8)); diff --git a/gdb/sparc64-tdep.c b/gdb/sparc64-tdep.c index b1ee6c1b57..92d751769d 100644 --- a/gdb/sparc64-tdep.c +++ b/gdb/sparc64-tdep.c @@ -1621,7 +1621,8 @@ static CORE_ADDR sparc64_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { /* Set return address. */ regcache_cooked_write_unsigned (regcache, SPARC_O7_REGNUM, bp_addr - 8); diff --git a/gdb/spu-tdep.c b/gdb/spu-tdep.c index 6ae37f58c7..39191a7bf5 100644 --- a/gdb/spu-tdep.c +++ b/gdb/spu-tdep.c @@ -1401,7 +1401,8 @@ static CORE_ADDR spu_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); CORE_ADDR sp_delta; diff --git a/gdb/tic6x-tdep.c b/gdb/tic6x-tdep.c index b1711bad29..7cdc37de92 100644 --- a/gdb/tic6x-tdep.c +++ b/gdb/tic6x-tdep.c @@ -876,7 +876,8 @@ static CORE_ADDR tic6x_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, - int struct_return, CORE_ADDR struct_addr) + int struct_return, int lang_struct_return, + CORE_ADDR struct_addr) { int argreg = 0; int argnum; diff --git a/gdb/tilegx-tdep.c b/gdb/tilegx-tdep.c index 9ed696630e..c6e88079a3 100644 --- a/gdb/tilegx-tdep.c +++ b/gdb/tilegx-tdep.c @@ -282,6 +282,7 @@ tilegx_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, + int lang_struct_return, CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); diff --git a/gdb/v850-tdep.c b/gdb/v850-tdep.c index 2a3812d6c0..157c59e5fa 100644 --- a/gdb/v850-tdep.c +++ b/gdb/v850-tdep.c @@ -1014,6 +1014,7 @@ v850_push_dummy_call (struct gdbarch *gdbarch, struct value **args, CORE_ADDR sp, int struct_return, + int lang_struct_return, CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); diff --git a/gdb/vax-tdep.c b/gdb/vax-tdep.c index 21f2066da2..2855eca042 100644 --- a/gdb/vax-tdep.c +++ b/gdb/vax-tdep.c @@ -142,7 +142,7 @@ static CORE_ADDR vax_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, - CORE_ADDR struct_addr) + int lang_struct_return, CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); CORE_ADDR fp = sp; diff --git a/gdb/xstormy16-tdep.c b/gdb/xstormy16-tdep.c index b80d23e142..a6eccef30c 100644 --- a/gdb/xstormy16-tdep.c +++ b/gdb/xstormy16-tdep.c @@ -227,6 +227,7 @@ xstormy16_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, + int lang_struct_return, CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); diff --git a/gdb/xtensa-tdep.c b/gdb/xtensa-tdep.c index 49a7f023e7..0928f47071 100644 --- a/gdb/xtensa-tdep.c +++ b/gdb/xtensa-tdep.c @@ -1696,6 +1696,7 @@ xtensa_push_dummy_call (struct gdbarch *gdbarch, struct value **args, CORE_ADDR sp, int struct_return, + int lang_struct_return, CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);