From patchwork Sat Jun 3 21:04:34 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 20773 Received: (qmail 87497 invoked by alias); 3 Jun 2017 21:08:14 -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 87477 invoked by uid 89); 3 Jun 2017 21:08:13 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.7 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_PASS autolearn=ham version=3.3.2 spammy=ch X-HELO: sessmg23.ericsson.net Received: from sessmg23.ericsson.net (HELO sessmg23.ericsson.net) (193.180.251.45) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 03 Jun 2017 21:08:10 +0000 Received: from ESESSHC021.ericsson.se (Unknown_Domain [153.88.183.81]) by sessmg23.ericsson.net (Symantec Mail Security) with SMTP id 2E.EB.03383.C3523395; Sat, 3 Jun 2017 23:08:12 +0200 (CEST) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.81) with Microsoft SMTP Server (TLS) id 14.3.339.0; Sat, 3 Jun 2017 23:04:45 +0200 Authentication-Results: sourceware.org; dkim=none (message not signed) header.d=none; sourceware.org; dmarc=none action=none header.from=ericsson.com; Received: from elxacz23q12.localdomain (80.216.243.234) by AMSPR07MB311.eurprd07.prod.outlook.com (2a01:111:e400:802f::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1143.6; Sat, 3 Jun 2017 21:04:41 +0000 From: Simon Marchi To: CC: Simon Marchi Subject: [PATCH] gdbarch: Remove displaced_step_free_closure Date: Sat, 3 Jun 2017 23:04:34 +0200 Message-ID: <1496523874-30577-1-git-send-email-simon.marchi@ericsson.com> MIME-Version: 1.0 X-ClientProxiedBy: VI1PR0701CA0025.eurprd07.prod.outlook.com (2603:10a6:800:90::11) To AMSPR07MB311.eurprd07.prod.outlook.com (2a01:111:e400:802f::23) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AMSPR07MB311: X-MS-Office365-Filtering-Correlation-Id: 83d2f979-1b18-4cb2-fb9a-08d4aac42729 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131423075)(201703031133081); SRVR:AMSPR07MB311; X-Microsoft-Exchange-Diagnostics: 1; AMSPR07MB311; 3:0MSphvQO5VFIFVDxNM8J6jK1tzZ9hEmPsmsb1wj8qwKpoTM0AdnLuOyBNY6NOMtGYO7wNdFUkthpQzEQGHmIQwtWYId981JagDDGObR9eytOf0sIuTSCqgOwBX+H+I73aDwKkc9kfNwbwhVZa1SJpeyRjlYAe0kMj74FZgxbBH+mUtERygzzOm2N9bFGYo0MN23oLof+0WKdK7MVxgV0M0ujCBgbBmvWNFhg/bFEW/r301wV9z0iVC+Z2QS0i66o/3GJZbg5CK0AAswGvke7ylB8BozdDs5y8BUQs0rRB+2q8Lysw1gmaW1r0SzkYo4VPriQedIbat53ME7Yt7EO+A==; 25:m9socO0rcpdr1VJyRqPS68TIVZSpIwrcvO61PPsK1XllsluC74oZbwi6352BM6zHc2rVrzo0/AQVuH/CmJi1H9VPAjNtsgkEqo+DhOSrTWfb6lAnfEmfV2zN3gUaJx4LEtGlR4Z86h3W4Lta+y5DrUuiEi7/pOpB1Kys61o96t/A61dZF/qtetwKOGDUpUqBgt7v+GPbYw6u0EUOqUDNVOZHAvEzu+FW9ao/BvhxhB0UfMxVcRggPogqH3uRzJMo4Tl4HkxyigYa0fjUU1M+ta5ODKQsZ6/dJ6LkLG9sUHGhTQTor4PBr92DWSGtnZ7gTI2/EhBmhQMFgQYRLHN/7Ztz7r7TO5gGRu6bsVyRLYoFaGxCOGx+L7rQS+z50exFKip191L4DfuhMStTzfpM7VJV+4//g9dCulanKGFAow7NAIfXb/9u1+iQoCYQyhkkUKJjiCw1P7aqpof8MP7GcqD1SxRYu01fF9Xbu5Y9IOE= X-Microsoft-Exchange-Diagnostics: 1; AMSPR07MB311; 31:HCmLKg1bFFWTlAN/w0tzXWkcBA2DkDbU6xxRrb4atAgPaxZp1bHIYZsATGbcsZoEe21BHcjDrwzqlTiMlA8bZUkhRVzzb+DRzjmrYKexeHQfGjZAXiSnW+5utREyFPhCu0RINFPja5wfW69on+3hjedj2htHQkSV0KkMOt8UjN9TyJt71YFJDz37m6SS4lRWVSfQKOL2Vgu15o/SBjlX3ZL1GTWlEDY574gJhGSOaSrY/ore0i6hSbPgP0thVaQaWtvn7pqfFXVr+xgQXP/VEg==; 20:vNWBmI5mYez4jaM3GJufVxjtZwzF8i7v39lzehJwTDHi1c3H1+W5jqADANO4w0aCFNEhKBxuMndqmbzpWQfBqkd3ZQMBLbzwGucreBnlZVGA+OctOvlOed5jcUy4dhqitTc7tNmW0z8qWiAFV3S4VFgMZkdL0NuARgP67FCX+ODlGqRui+n22ooEJDmko0kFQhUNHmupkh3S24hGS0TVeXqRWDkCVTr/gga64NmYM5LQFpxXpH+d4QLfN9Ubc0jZ8g6g1hfcZ1TiQz1CmbfS0ZhLkNAzCRI5WGRZLgFxTRBfvipBAWA5mkcqAjpQ2DR+JyFuYdMeYxaWKkU2hujRlX1B1zyQgkPS1fcPdhAT8ewHPAd6jPollH9M+EFCBmlCVXFuVdoHOHxaOIOWYrxs1szWFoiyusA4dP136osDTpj1dfRZPuWXuvrd8RJ+y6sxz/eM/CeEe1OfWPTCuVC2B8ZVoe/T/rpWhu7OAAFGVln3TUCVhOS9dpXpWZ+50KI3 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(100000703101)(100105400095)(93006095)(93001095)(6041248)(20161123558100)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123564025)(20161123562025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AMSPR07MB311; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AMSPR07MB311; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AMSPR07MB311; 4:gMkclGLE/0ufqOS6ZqwkSvjzkWmVh+UZbs+4st9TzZn?= =?us-ascii?Q?Q+Lxwxwh8RitFTSZZtWu5vQpJc6u9FANOXIsnDlIXFfBc55V8xZjVpPzDQ7m?= =?us-ascii?Q?wsart3Mcko0hVrU7WGR1Rl6RFGnUdcg7ujgkfZ2Ee8iVnUizchHHJUCujiPk?= =?us-ascii?Q?9/i9S2cmuWl6oR5M+J0Dfok0AOGHmwiXGKkTvM4UWkL4iZKExLr/GOenmGyV?= =?us-ascii?Q?dTRxx1s5tJ+W/wrwIuMEeDSD9At4N7/MQT3M8hUN05YKK/mClTJGOvP9H0CE?= =?us-ascii?Q?X41/uiN31+iB/L7E2WVQ8uYgZNB1DILPnkEhFtolRDSlqE0nJSv2+VePUHa/?= =?us-ascii?Q?smmfcho6XW+CFtUZzyp86BHOFWVr3kZsQt7jzxab0BPzHoTkXCa4IKCKB3rp?= =?us-ascii?Q?L/KFr70c1sCaK9e+OB8snbgbM07kZL6Yt5H+7GoUbi8EC7v0+Zzo38/gAROX?= =?us-ascii?Q?X+n2VwP0SreUCgtmqsu6Gf5uJn3vfEMQ0iDQsoTRJM7AJmj0vz9rQ9pbS8MJ?= =?us-ascii?Q?ZWmV2uwggwLA2uK6lDi+6zLSeVQoJIrl2gv4F2DU37rXCGh/pnzQQqdRfnoT?= =?us-ascii?Q?OU6/ksPBC/W58svdBdxjs7B6impjkI6FOQJnLk3487IBHkzLrECH7hignFha?= =?us-ascii?Q?sLOTUKeF0CKsSq1DmkEDcaPE56XE43xCT5ymZ+eo7xZFJ3ZwmlVheaReeoXA?= =?us-ascii?Q?AfStVpu3Qb2hxPeJ/OV5HF/Up9ijWxeBNVaw6JXsinmUbY16+iV3khK9tBiO?= =?us-ascii?Q?NIDIMY1VZymgCIiW+1iPOWvpw+S8tbiqiFzCDpg/R/GeGtY+pRM/faJe6E+T?= =?us-ascii?Q?8iSeIOfiynh/9ZSTZDy+fY7Da8BYE0h4gtcKLSzk7V8cOMRZ91NzR6cUHW40?= =?us-ascii?Q?P5eAkVPLvAMiG8Mbxn8mjlxl3Dp9XTy/9BBEeKVjOavEy2GU6zKSgRNRw7DB?= =?us-ascii?Q?FNtbIwTK9GVfGp/p8qMT2yzTxJaGEixRSuJJus0Z2LaGr5fUn6zxnnIErI+k?= =?us-ascii?Q?jW/+SbbPrP9p7/r5PwHprR0fLyDf+XXRShx+aacdaKuG76homax5Q/PsGfth?= =?us-ascii?Q?uXIH+/X4HS+XzstHln1pQqgoIbjrM56zp4/LtHOWlYdzgEZ6thAp5qiJHh+5?= =?us-ascii?Q?fKt3mvpX5KqaWVBBm/cG8Yrowct4v?= X-Forefront-PRVS: 0327618309 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39850400002)(39450400003)(39400400002)(39410400002)(54534003)(33646002)(7736002)(478600001)(6666003)(189998001)(2361001)(5003940100001)(36756003)(6916009)(2351001)(42186005)(6116002)(50986999)(3846002)(305945005)(48376002)(86362001)(47776003)(66066001)(25786009)(5660300001)(6506006)(4326008)(575784001)(53936002)(6512007)(8676002)(81166006)(50466002)(38730400002)(6486002)(50226002)(110136004)(2906002); DIR:OUT; SFP:1101; SCL:1; SRVR:AMSPR07MB311; H:elxacz23q12.localdomain; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AMSPR07MB311; 23:otT0Q0q8Z3i3VxyvGQEZHPi4PcTOBsvX9cg3ttPgMw?= =?us-ascii?Q?znOiIAb/b47Z/mMa6wZQohISzcNPdxBP2NO+z4/a89lymHujTz5jK55EGjkQ?= =?us-ascii?Q?gfSbHaBLmyXRfFNyZGv80qU1t8rcEMwYfsj+NQvJwjejtF8UC1uGihhLSrlB?= =?us-ascii?Q?xluanJaKpjakwPKUrQU2gg67DTssE2NoMlXDhmpEvSBKZWjPEdm1pqtIEbht?= =?us-ascii?Q?PE8X+V6XI/f7cZop+XabESfUf8XyyEUoJHjQxIizDxRFwoGuYGuBcH+GqHvg?= =?us-ascii?Q?SNCZI4NXBavUHMGThYrJ1RSpUXRFVYUkFTCxMcUykVbw200AddvaHGYDlvli?= =?us-ascii?Q?P/z3iIb8cGvcAKezCEURjmKT65KM8NyFkxqxs5pp7FV3FXldjI8mVF1Cf2b8?= =?us-ascii?Q?cuNmiBqq/pA6x5AifYOJTuxGiGSgj1qrj8E7w8SffTPNG/fCHKV+RMUMtZMk?= =?us-ascii?Q?f2I2ZhP2spintLBgTDiaF2LmLpAFd0gDYJCfPlayZCxXtYRQhyRNyf5sQZWL?= =?us-ascii?Q?xtwWQ/WSDGfoEUUMVIKweqA25VHEQGXTp/CC3M2BG5SzEF8a52lvKJc7cGc3?= =?us-ascii?Q?+vue3SfrTCzVyo9Bqf+8Gl4ZGjkQcxzOgUFz5aX1mh7an3GPbCVBEriT5V5a?= =?us-ascii?Q?vUIt9X6dN+aiB+fLXuUvt6kqUadGetAhfSVTnTDqCegecUTy5i1cuF2dzExu?= =?us-ascii?Q?4oZcdyoiCayofyacX1X3ERBIe93Y7PvFmWKScuZZYm/8m86b6Nri2Gekh0Te?= =?us-ascii?Q?758eLBoBbgjuGWmC5kZDlk6y/qxxslgPnFf5xwVlc0ixebJYZav1iG0edWQs?= =?us-ascii?Q?6/LTDgL3v724P3mkmQRdNE0OFA+VXOyXTVSVWygGQMnP0e//02RM5OkD00Gq?= =?us-ascii?Q?60Y6QhizUsQN/4BuY2XqY6kEmVsa1gd0iMoSFN5OhX6nQRdqqq9CmV9ZjbuR?= =?us-ascii?Q?ZH/MCJ/6ned2XXhuMQzltgtUJJSeZiwP1gAN0xvMCXz+faqoX1Q+swvLyy93?= =?us-ascii?Q?7Fjk4DDzZO9DFsNhWeGaNKZAPTuyb9/trFH0PdwJ1oLQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; AMSPR07MB311; 6:lpEzUD2rQ6dRueiYJDvkS5Wtjcmw5ueyUaup5B16+9oPkIP48ThCNyqLmyc2uUpcFTeQF3c5peb/BSOsfL5tphYlYuIoR9I/B3xY0MoLqavO8idossx65jK/SzkdeEhMWSUNAlvWLF9OYVlJ3GHsJ1sP0YRr0jK07UV0wDiu2VofirWbx7WGUdghnNSHZmL1bS+UIe5EJUuIrai6UmQ3DOxHygW3x4BzBbTdJzLYMuMMucdis22iav4DpCoIMgXv4xwHw9QmO1VLIn8RQFMTdjGd3ZfhN5ko+MjBC+zpFEVzqlSiB9FyK30QXg6vDYAI3ibtvUXv/5Slnj9aVjTKYOR12tZUGZje03xyBslnrYaVItLh3WY9IvoXADQ7EZxzELswal3C2kVHq8iixzkoYRnsurthfEDJUAwpQW1uvMfZAKdPos2Hpnpo0WiC/3N7vdQ4jJ2jQFcYEYf5o52JEOT5Rl5txlja6hbglnuuiy+Tp/47VdcwAapABY1uriv36qUGsrth7/MR4Nejayj7Wg== X-Microsoft-Exchange-Diagnostics: 1; AMSPR07MB311; 5:zVp45qDDiB8zOYGMkY6XcRTpNF1+rAjQfyx3Si9Ty1JDkle6MvCMSvkMHbkAEX54C1myjEv3/srXl7K8m7zM75kYaCVuw0WaLRVYUO6xhCtuLcY6guGE0a7zFIVpOGHk5luxqcdqaN6UU6TlPjrx+T6c8vnwmePUfXjY8j14QEItBsts8E7nS9oPiDVEzPY3CyAe+PD6+u629fUeGrew/kQmiBo8GawMfXx7FCZwfZhEzwrxsbM55RKCGVxfpkMBJKNDBNbn0N9UJ6Eo1hhDEml3/BNINSoPSq6p9KhidH+lgb+XXTKWP0GSeGxcFrbzBjhUHHpPxTpmzkg7O/24unSK9al8ZQBUDl9SrO8lSdBpu/PzufAWphLPkGF6oqQiPyJLHomitaaWQrv40sftBh3fmvUmFDigYFXFmGw3Tjc3hGbUmOscQzwefMlcu/5s3i1G/bTDMFzlH+Z9L50CsgQkAKWJ9r8K5nOZEcfZ/EvoCH3tsQ+fTVjtH4x9ac0F; 24:7X8Q5fZyeRGPawpAM1y8LPL2b5gqhOuR5kPwwlyz1Q0YkFMJONy1iOa5jolDrpSuvzX0+JXU3BdGbS+X32TWrz/Z4fRnZ8DMtLqIjbl/poo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AMSPR07MB311; 7:gXGxoEreakZjvN/jkVSSUP+bMHxK04Fx47K9TSdgj8vEIydBxYhD2FR82ygcFY54sdLV2t/VAbOVkTNWTVEFepi67jCVDwrpr/Q9uxkQYNNaKyxVV8qZ1cnUeRRHsXV/wPOJu2r6v9wz8vYawrq2v0hNW0TF6ob3a0O4m7AmC4QIzUxs3HaXNE5smoY0LGkiqfzDyDN1rBMmc9h7EC40f718ZR22V9+n9qQ9iQemVD+VLGj7EdTA/+GkTDIOVAybPxc8/X5tTT9FLV4Vm5LZLJfOLYOOO0AEFpc4v/xXhiLi3Dpk5RGx8QJ+gCyxd3cLC3v8L/5JaF7/H8WfRG0vHw== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2017 21:04:41.0488 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AMSPR07MB311 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes From: Simon Marchi The displaced_step_free_closure gdbarch hook allows architectures to free data they might have allocated to complete a displaced step. However, all architectures using that hook use the simple_displaced_step_free_closure provided in arch-utils.{c,h}, which does a simple xfree. We can remove it and do an xfree directly instead of calling the hook. gdb/ChangeLog: * gdbarch.sh (displaced_step_free_closure): Remove. * gdbarch.h, gdbarch.c: Re-generate. * aarch64-linux-tdep.c (aarch64_linux_init_abi): Don't set displaced_step_free_closure. * amd64-linux-tdep.c (amd64_linux_init_abi_common): Likewise. * arm-linux-tdep.c (arm_linux_init_abi): Likewise. * i386-linux-tdep.c (i386_linux_init_abi): Likewise. * rs6000-aix-tdep.c (rs6000_aix_init_osabi): Likewise. * rs6000-tdep.c (rs6000_gdbarch_init): Likewise. * s390-linux-tdep.c (s390_gdbarch_init): Likewise. * arch-utils.h (simple_displaced_step_free_closure): Remove. * arch-utils.c (simple_displaced_step_free_closure): Remove. * infrun.c (displaced_step_clear): Call xfree instead of gdbarch_displaced_step_free_closure. --- gdb/aarch64-linux-tdep.c | 2 -- gdb/amd64-linux-tdep.c | 2 -- gdb/arch-utils.c | 8 -------- gdb/arch-utils.h | 7 ------- gdb/arm-linux-tdep.c | 2 -- gdb/gdbarch.c | 24 ------------------------ gdb/gdbarch.h | 15 --------------- gdb/gdbarch.sh | 12 ------------ gdb/i386-linux-tdep.c | 2 -- gdb/infrun.c | 8 ++------ gdb/rs6000-aix-tdep.c | 1 - gdb/rs6000-tdep.c | 2 -- gdb/s390-linux-tdep.c | 2 -- 13 files changed, 2 insertions(+), 85 deletions(-) diff --git a/gdb/aarch64-linux-tdep.c b/gdb/aarch64-linux-tdep.c index b94ccb2..d2ca70a 100644 --- a/gdb/aarch64-linux-tdep.c +++ b/gdb/aarch64-linux-tdep.c @@ -1204,8 +1204,6 @@ aarch64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) set_gdbarch_displaced_step_copy_insn (gdbarch, aarch64_displaced_step_copy_insn); set_gdbarch_displaced_step_fixup (gdbarch, aarch64_displaced_step_fixup); - set_gdbarch_displaced_step_free_closure (gdbarch, - simple_displaced_step_free_closure); set_gdbarch_displaced_step_location (gdbarch, linux_displaced_step_location); set_gdbarch_displaced_step_hw_singlestep (gdbarch, aarch64_displaced_step_hw_singlestep); diff --git a/gdb/amd64-linux-tdep.c b/gdb/amd64-linux-tdep.c index 0e2f285..4ef0f78 100644 --- a/gdb/amd64-linux-tdep.c +++ b/gdb/amd64-linux-tdep.c @@ -1848,8 +1848,6 @@ amd64_linux_init_abi_common(struct gdbarch_info info, struct gdbarch *gdbarch) set_gdbarch_displaced_step_copy_insn (gdbarch, amd64_displaced_step_copy_insn); set_gdbarch_displaced_step_fixup (gdbarch, amd64_displaced_step_fixup); - set_gdbarch_displaced_step_free_closure (gdbarch, - simple_displaced_step_free_closure); set_gdbarch_displaced_step_location (gdbarch, linux_displaced_step_location); diff --git a/gdb/arch-utils.c b/gdb/arch-utils.c index c011b0f..2ae3413 100644 --- a/gdb/arch-utils.c +++ b/gdb/arch-utils.c @@ -60,14 +60,6 @@ simple_displaced_step_copy_insn (struct gdbarch *gdbarch, return (struct displaced_step_closure *) buf; } - -void -simple_displaced_step_free_closure (struct gdbarch *gdbarch, - struct displaced_step_closure *closure) -{ - xfree (closure); -} - int default_displaced_step_hw_singlestep (struct gdbarch *gdbarch, struct displaced_step_closure *closure) diff --git a/gdb/arch-utils.h b/gdb/arch-utils.h index 040afca..2aa9159 100644 --- a/gdb/arch-utils.h +++ b/gdb/arch-utils.h @@ -85,13 +85,6 @@ extern struct displaced_step_closure * CORE_ADDR from, CORE_ADDR to, struct regcache *regs); -/* Simple implementation of gdbarch_displaced_step_free_closure: Call - xfree. - This is appropriate for use with simple_displaced_step_copy_insn. */ -extern void - simple_displaced_step_free_closure (struct gdbarch *gdbarch, - struct displaced_step_closure *closure); - /* Default implementation of gdbarch_displaced_hw_singlestep. */ extern int default_displaced_step_hw_singlestep (struct gdbarch *, diff --git a/gdb/arm-linux-tdep.c b/gdb/arm-linux-tdep.c index 094ed72..95c5260 100644 --- a/gdb/arm-linux-tdep.c +++ b/gdb/arm-linux-tdep.c @@ -1812,8 +1812,6 @@ arm_linux_init_abi (struct gdbarch_info info, set_gdbarch_displaced_step_copy_insn (gdbarch, arm_linux_displaced_step_copy_insn); set_gdbarch_displaced_step_fixup (gdbarch, arm_displaced_step_fixup); - set_gdbarch_displaced_step_free_closure (gdbarch, - simple_displaced_step_free_closure); set_gdbarch_displaced_step_location (gdbarch, linux_displaced_step_location); /* Reversible debugging, process record. */ diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c index 257c39f..e5efdfb 100644 --- a/gdb/gdbarch.c +++ b/gdb/gdbarch.c @@ -295,7 +295,6 @@ struct gdbarch gdbarch_displaced_step_copy_insn_ftype *displaced_step_copy_insn; gdbarch_displaced_step_hw_singlestep_ftype *displaced_step_hw_singlestep; gdbarch_displaced_step_fixup_ftype *displaced_step_fixup; - gdbarch_displaced_step_free_closure_ftype *displaced_step_free_closure; gdbarch_displaced_step_location_ftype *displaced_step_location; gdbarch_relocate_instruction_ftype *relocate_instruction; gdbarch_overlay_update_ftype *overlay_update; @@ -443,7 +442,6 @@ gdbarch_alloc (const struct gdbarch_info *info, gdbarch->skip_permanent_breakpoint = default_skip_permanent_breakpoint; gdbarch->displaced_step_hw_singlestep = default_displaced_step_hw_singlestep; gdbarch->displaced_step_fixup = NULL; - gdbarch->displaced_step_free_closure = NULL; gdbarch->displaced_step_location = NULL; gdbarch->relocate_instruction = NULL; gdbarch->has_shared_address_space = default_has_shared_address_space; @@ -656,8 +654,6 @@ verify_gdbarch (struct gdbarch *gdbarch) /* Skip verify of displaced_step_copy_insn, has predicate. */ /* Skip verify of displaced_step_hw_singlestep, invalid_p == 0 */ /* Skip verify of displaced_step_fixup, has predicate. */ - if ((! gdbarch->displaced_step_free_closure) != (! gdbarch->displaced_step_copy_insn)) - log.puts ("\n\tdisplaced_step_free_closure"); if ((! gdbarch->displaced_step_location) != (! gdbarch->displaced_step_copy_insn)) log.puts ("\n\tdisplaced_step_location"); /* Skip verify of relocate_instruction, has predicate. */ @@ -912,9 +908,6 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) "gdbarch_dump: displaced_step_fixup = <%s>\n", host_address_to_string (gdbarch->displaced_step_fixup)); fprintf_unfiltered (file, - "gdbarch_dump: displaced_step_free_closure = <%s>\n", - host_address_to_string (gdbarch->displaced_step_free_closure)); - fprintf_unfiltered (file, "gdbarch_dump: displaced_step_hw_singlestep = <%s>\n", host_address_to_string (gdbarch->displaced_step_hw_singlestep)); fprintf_unfiltered (file, @@ -3970,23 +3963,6 @@ set_gdbarch_displaced_step_fixup (struct gdbarch *gdbarch, gdbarch->displaced_step_fixup = displaced_step_fixup; } -void -gdbarch_displaced_step_free_closure (struct gdbarch *gdbarch, struct displaced_step_closure *closure) -{ - gdb_assert (gdbarch != NULL); - gdb_assert (gdbarch->displaced_step_free_closure != NULL); - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_displaced_step_free_closure called\n"); - gdbarch->displaced_step_free_closure (gdbarch, closure); -} - -void -set_gdbarch_displaced_step_free_closure (struct gdbarch *gdbarch, - gdbarch_displaced_step_free_closure_ftype displaced_step_free_closure) -{ - gdbarch->displaced_step_free_closure = displaced_step_free_closure; -} - CORE_ADDR gdbarch_displaced_step_location (struct gdbarch *gdbarch) { diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h index 15a8141..ab7561f 100644 --- a/gdb/gdbarch.h +++ b/gdb/gdbarch.h @@ -1039,21 +1039,6 @@ typedef void (gdbarch_displaced_step_fixup_ftype) (struct gdbarch *gdbarch, stru extern void gdbarch_displaced_step_fixup (struct gdbarch *gdbarch, struct displaced_step_closure *closure, CORE_ADDR from, CORE_ADDR to, struct regcache *regs); extern void set_gdbarch_displaced_step_fixup (struct gdbarch *gdbarch, gdbarch_displaced_step_fixup_ftype *displaced_step_fixup); -/* Free a closure returned by gdbarch_displaced_step_copy_insn. - - If you provide gdbarch_displaced_step_copy_insn, you must provide - this function as well. - - If your architecture uses closures that don't need to be freed, then - you can use simple_displaced_step_free_closure here. - - For a general explanation of displaced stepping and how GDB uses it, - see the comments in infrun.c. */ - -typedef void (gdbarch_displaced_step_free_closure_ftype) (struct gdbarch *gdbarch, struct displaced_step_closure *closure); -extern void gdbarch_displaced_step_free_closure (struct gdbarch *gdbarch, struct displaced_step_closure *closure); -extern void set_gdbarch_displaced_step_free_closure (struct gdbarch *gdbarch, gdbarch_displaced_step_free_closure_ftype *displaced_step_free_closure); - /* Return the address of an appropriate place to put displaced instructions while we step over them. There need only be one such place, since we're only stepping one thread over a breakpoint at a diff --git a/gdb/gdbarch.sh b/gdb/gdbarch.sh index 7992cbe..22f5715 100755 --- a/gdb/gdbarch.sh +++ b/gdb/gdbarch.sh @@ -833,18 +833,6 @@ m;int;displaced_step_hw_singlestep;struct displaced_step_closure *closure;closur # see the comments in infrun.c. M;void;displaced_step_fixup;struct displaced_step_closure *closure, CORE_ADDR from, CORE_ADDR to, struct regcache *regs;closure, from, to, regs;;NULL -# Free a closure returned by gdbarch_displaced_step_copy_insn. -# -# If you provide gdbarch_displaced_step_copy_insn, you must provide -# this function as well. -# -# If your architecture uses closures that don't need to be freed, then -# you can use simple_displaced_step_free_closure here. -# -# For a general explanation of displaced stepping and how GDB uses it, -# see the comments in infrun.c. -m;void;displaced_step_free_closure;struct displaced_step_closure *closure;closure;;NULL;;(! gdbarch->displaced_step_free_closure) != (! gdbarch->displaced_step_copy_insn) - # Return the address of an appropriate place to put displaced # instructions while we step over them. There need only be one such # place, since we're only stepping one thread over a breakpoint at a diff --git a/gdb/i386-linux-tdep.c b/gdb/i386-linux-tdep.c index 1909d61..d381e41 100644 --- a/gdb/i386-linux-tdep.c +++ b/gdb/i386-linux-tdep.c @@ -1059,8 +1059,6 @@ i386_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) set_gdbarch_displaced_step_copy_insn (gdbarch, i386_linux_displaced_step_copy_insn); set_gdbarch_displaced_step_fixup (gdbarch, i386_displaced_step_fixup); - set_gdbarch_displaced_step_free_closure (gdbarch, - simple_displaced_step_free_closure); set_gdbarch_displaced_step_location (gdbarch, linux_displaced_step_location); diff --git a/gdb/infrun.c b/gdb/infrun.c index d0504de..5e4cd51 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -1710,12 +1710,8 @@ displaced_step_clear (struct displaced_step_inferior_state *displaced) /* Indicate that there is no cleanup pending. */ displaced->step_ptid = null_ptid; - if (displaced->step_closure) - { - gdbarch_displaced_step_free_closure (displaced->step_gdbarch, - displaced->step_closure); - displaced->step_closure = NULL; - } + xfree (displaced->step_closure); + displaced->step_closure = NULL; } static void diff --git a/gdb/rs6000-aix-tdep.c b/gdb/rs6000-aix-tdep.c index 6cbfdbe..e9b3f10 100644 --- a/gdb/rs6000-aix-tdep.c +++ b/gdb/rs6000-aix-tdep.c @@ -1048,7 +1048,6 @@ rs6000_aix_init_osabi (struct gdbarch_info info, struct gdbarch *gdbarch) software single-stepping. */ set_gdbarch_displaced_step_copy_insn (gdbarch, NULL); set_gdbarch_displaced_step_fixup (gdbarch, NULL); - set_gdbarch_displaced_step_free_closure (gdbarch, NULL); set_gdbarch_displaced_step_location (gdbarch, NULL); set_gdbarch_push_dummy_call (gdbarch, rs6000_push_dummy_call); diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c index 57faa67..97a975e 100644 --- a/gdb/rs6000-tdep.c +++ b/gdb/rs6000-tdep.c @@ -6522,8 +6522,6 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_displaced_step_hw_singlestep (gdbarch, ppc_displaced_step_hw_singlestep); set_gdbarch_displaced_step_fixup (gdbarch, ppc_displaced_step_fixup); - set_gdbarch_displaced_step_free_closure (gdbarch, - simple_displaced_step_free_closure); set_gdbarch_displaced_step_location (gdbarch, displaced_step_at_entry_point); diff --git a/gdb/s390-linux-tdep.c b/gdb/s390-linux-tdep.c index 6d68260..8840c2f 100644 --- a/gdb/s390-linux-tdep.c +++ b/gdb/s390-linux-tdep.c @@ -8005,8 +8005,6 @@ s390_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_displaced_step_copy_insn (gdbarch, s390_displaced_step_copy_insn); set_gdbarch_displaced_step_fixup (gdbarch, s390_displaced_step_fixup); - set_gdbarch_displaced_step_free_closure (gdbarch, - simple_displaced_step_free_closure); set_gdbarch_displaced_step_location (gdbarch, linux_displaced_step_location); set_gdbarch_max_insn_length (gdbarch, S390_MAX_INSTR_SIZE);