From patchwork Wed Apr 26 22:46:57 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 20170 Received: (qmail 39875 invoked by alias); 26 Apr 2017 22:47:44 -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 39793 invoked by uid 89); 26 Apr 2017 22:47:43 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.1 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= X-HELO: sessmg22.ericsson.net Received: from sessmg22.ericsson.net (HELO sessmg22.ericsson.net) (193.180.251.58) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 26 Apr 2017 22:47:42 +0000 Received: from ESESSHC006.ericsson.se (Unknown_Domain [153.88.183.36]) by sessmg22.ericsson.net (Symantec Mail Security) with SMTP id 08.10.20517.A8321095; Thu, 27 Apr 2017 00:47:38 +0200 (CEST) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.36) with Microsoft SMTP Server (TLS) id 14.3.339.0; Thu, 27 Apr 2017 00:47:37 +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 elxcz23q12-y4.ca.am.ericsson.se (192.75.88.130) by VI1PR07MB1725.eurprd07.prod.outlook.com (10.166.143.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1075.1; Wed, 26 Apr 2017 22:47:33 +0000 From: Simon Marchi To: CC: Simon Marchi Subject: [PATCH 01/10] Standardize darwin's lm_info Date: Wed, 26 Apr 2017 18:46:57 -0400 Message-ID: <20170426224706.27988-2-simon.marchi@ericsson.com> In-Reply-To: <20170426224706.27988-1-simon.marchi@ericsson.com> References: <20170426224706.27988-1-simon.marchi@ericsson.com> MIME-Version: 1.0 X-ClientProxiedBy: MWHPR2201CA0037.namprd22.prod.outlook.com (10.172.59.11) To VI1PR07MB1725.eurprd07.prod.outlook.com (10.166.143.21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 931060b9-ac82-4e1b-092a-08d48cf63b17 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131423075)(201703031133081); SRVR:VI1PR07MB1725; X-Microsoft-Exchange-Diagnostics: 1; VI1PR07MB1725; 3:+sbDtFonhOyAvoJjlKrICVZ5KDPGPKDxV/DxLzLb3sozpupy8BUvABeCpss24Du0QBgS3m7bmgSpVWavgp727BHlT0W9NOwYd/OAs2UJ2H+0vVnZu96HrKUxOfCC+BBgW6BlyFRH08uu3s4q0lvOv5A/KTOdFOI5rMzRhcPGqW3LpOrpVj3dwingt/Tm5BOLz3qDS/kMLrx+qNpqK6C8c5q1Xbt0SmsCvohsFTKDKz4LBoXSD9E3VYSWXljtyuN9jIH6skJI8lrZpSXuJPcQXWNKAyZywGuoKoahcx1AEoBtZ0Zih/1c+IiVkNOITdHNyTnYCpA2/olYJf9g88fuNQ==; 25:qt+/pQu/UT7uh6BD0CVrkBgxa2YEgfxPfW018BrUmNr8aDLtk6Ao1xRwexvqI77L77iq0kJ2dqHTgC7NcdOrPEOIQQ12SWXCedpaxJYImWytWDejxd85R4vTjf08gBI+2xElJgbHu0c+N5ET7+MdjUo/1mC36Fzwa/WJTj+XvNnweaWrBdOer9Cq+lkllHxZjG6xKvT/3jja3uunTdpECeCWZRcxTniqikqS9/YtF8TvvuorZqXTrfZluL1Jqw0CPnnL7vTTQlaaDxcE5vNLEp8I4Ydkbl5m59OZcdp2Qx0jmZHD9Z7G8YX+XcDuAbY3AAKxXcNGTJewTH+cX7tG5mHmu0l3lUjpAuN+j3xrBQiLLjKsUxxPc7OoUOaJO9uByGz6gsGlQtnrpE2MDzZ4A4zQMxDBTetetxOdpxhfK8BlkNo/LwuTpJD1gVq7fc7B7mgos3dmvadQLxAGmUtI+ni+/39LUPnkjwGrNJQPqRA= X-Microsoft-Exchange-Diagnostics: 1; VI1PR07MB1725; 31:99xsqeZ8fwzTbnmGVElLRsUS0PxrJ9GTr7rzU0FEt6OvyCfTOPzdapltPEw3uuq/RpzV7GkySG2FGlwRdga+8jVzJM6fVVFs9QQomXr5ddtudmJAvfp1m8oX8mMBpv4ku03jtdKw2EEm72J6XDzKgftvg3oLMICoRLY+UZDqlWD1wWGWR1krHaPJooVgkhBhsBTUTphBjgSlPTHE+lOf8sTi1SGY9jtBstTwyeNAGP6G9ATWzWRvuDEMLoGVS/uHCqKKQoIQisl9RBtuDhpjYQ==; 20:amGM3M08jIX4UEMPYNG6aJmML5gD28nVrAviQbCbvEGe8mu7NIJXrIU/gXdsDdu7M9fbdE/tx4ElKIXTsNgC/TgAwCBUIwhajwlNYhoxFbyAinnR9vVQYAMa9y7pVnu1g0BqZR2B4E0laPRZJnPRpVLZ2Mf2PQ27iPEuYsSodY2Jlk2sCSIReyrMj3ZdzC4Ukc6CoKTeJbqHpRggfPVVEmtDYvEtMSnvcnKr0b+foibuOZDQzf+ZVE9jfkUF+HPaDUzUhF6BFqGfH6J4B1g7L9SRmxkiK0hv6ZHEpcr8EzBYI05juvkm8FbPScHPkAMOxbFl6e7YaWlUTRbVFoRa147SPJgBDFzxG5FZktoqgVyM5cAZaqPJDLxisdUy4OZvsjzot4uP41w1hp1/qeSntAV0ng2w8PXq+zUNNWle3aSR/iz1DVrBkwdFrDcDRvrYveaNF+SIQznPQk/x6f6U/mdRBPZXyztssZjpssfQqHXZe6CmZWs5ZuVnq1LhrqYk X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(93006095)(93001095)(6041248)(20161123562025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123564025)(20161123558100)(6072148); SRVR:VI1PR07MB1725; BCL:0; PCL:0; RULEID:; SRVR:VI1PR07MB1725; X-Microsoft-Exchange-Diagnostics: 1; VI1PR07MB1725; 4:bZcGRjrOT1/j3oEqRnymKaDNum9EScDJ66kG7Zkg+bSPLMo8q4RhHtQHnv6q8iR1lv7HUK7HLyLalIXX20UKCOJzh3Whz6hGDk8BfmvNMFq0WbBmFnbsyDRRWxYSUrLS/OV7Wq7x31OGPikw96uPYaebvi1XbzzpRGMd5gnLinLbRv+rh67F3XGSOJDIEiSYtw8u7vbklDambG5+uqnH9QstKOX9S6gA7iALPm4HYcushs0d1nI3+XO0sJsgCYYbf1Y6tlKBtNnqVnjAs2/h33yR0s0Cf3nh9ls5R5ICxVG5OhbqliPjCnvRlO7LhJjcojMPwMhI4+VMce4KWqNzsb1mih1FPP9zOid3p99SirUzc6iHG3jL9GEEoEzwaGThrIO3Wh55lpd1nPoAH7WUmfind0T6d0ZQcnEOGDGKE/gGvFm+5QoCZ30h5ADnfES0dZleiwSLxPm3+SWtuS8s/gy0qMM5iMiGxGhtYtiU1cfU06HvyAO06Kfhk0EZgulxubgfPRp/2/nI2wrK7Pdyjv3LzqTCrI0xwb1vPCuWaTwDMyz8DRikn1OQjXOs4jRbmI1QKQT+A5Ns27GIaaPiXY7apdSAcSLyEGDxqiisrIz+yQvRWh/vxw+gDVcMo1qZLEmHoOAVEWP7cyXjTJ+VdXkrkB/O/pDpLy9XW36XGFI92sqZR5jkUjgo2q2ocsb3ahpHzmcalXnRnDQGZfaYuijIq5fCgMTDRH2/K5AXAKDU+0JNCAdd7pkP6gVxmsH+ryQVQ5adrMiJs8t+hWPI4gLarBxdrWg53m2iy3m3XaQ= X-Forefront-PRVS: 0289B6431E X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39410400002)(39860400002)(39400400002)(39840400002)(39450400003)(39850400002)(54534003)(33646002)(25786009)(5003940100001)(4326008)(53936002)(2351001)(86362001)(2906002)(5660300001)(6916009)(6666003)(47776003)(6116002)(2950100002)(7736002)(305945005)(1076002)(3846002)(38730400002)(6506006)(110136004)(50226002)(36756003)(189998001)(6512007)(42186005)(50466002)(48376002)(76176999)(8676002)(6486002)(81166006)(66066001)(50986999); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR07MB1725; H:elxcz23q12-y4.ca.am.ericsson.se; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR07MB1725; 23:EL7wGDGtTzDzfaiFuRzNODkAdZ821yuC1pWdYSEm4?= =?us-ascii?Q?VPQBm6dM4h3wUy3hI8tGKMwQxEP/fTM//OrJQGtcGQPPBfcoQ8lqtw0JpU+m?= =?us-ascii?Q?BqTAB4lpSDWOzsqYILBFn838HVTCy3wHFIMRZdQBfnnhojSTfrADaJm99bME?= =?us-ascii?Q?nqX/YWKTBEYnirD4beZZzG8lb7c41tORpo9FcHvkxE3NqwlczKXQazg1+ycB?= =?us-ascii?Q?M+dP+RDXdS7JNLsEWCopEoqdHRngj5Uxp3KN5MwtF2h7iqhu8xvEAdRUPZHy?= =?us-ascii?Q?HAGROL96NX3gl6YcYrydQeUXxC4D8V/EsJriXxjTGMDP7ImDChWnN3bgD7n3?= =?us-ascii?Q?R7640iZCs8MvCs1mCy6g9BmdhI1gszddSfxlaINl+dcydHLzbyX4iYm9fs8I?= =?us-ascii?Q?vpGoTON/9NaeM0ncvz6evVOVxU/TcX/Q2tmV/p9B0ZYi8dO+umdKi3xjJFok?= =?us-ascii?Q?37zzuAiqAnbm7359w6qSwNsQdYt280CHMdRhpBWguiNMx+pHBg2W2lcfol2w?= =?us-ascii?Q?yDJT2m9idDytUYoaPkeoQnMIIq/ybxKQEVU/gHuht2HInnIYpzlco4I+2eFO?= =?us-ascii?Q?KnryqEbAMOp9qTtUhADw3o7w5Qyevb+awts0GW2fNxmCPA59vL4pjLPc4bVn?= =?us-ascii?Q?t3O05z5YdsGCjFEXVRXMJNLo48kaSk2guZcAR++G3115+siSz66NmbpPYyQE?= =?us-ascii?Q?an0fszMa6u1zDqXFI3PDvscUQLiGY+4C7R4HweZHGQJzWNXfWDtWhelL/O9p?= =?us-ascii?Q?Nvi1xYrNPMWkP6mTfQ1fnwC32sprgS6YpRQ1fGgWBW36/+f6LqEvSN0L0ZA6?= =?us-ascii?Q?pmBHiw8xE/kfG8J2KhPQoVddsj9yIHF3VcaJmVRWlej+wfySaYmxb25jURRY?= =?us-ascii?Q?Mc5C4eB9tsA542kpr4ZfA0C/57DE08+2U7ZV1qtchRjM6hVjx9c8m9QEIgoH?= =?us-ascii?Q?xw0gGGVAOVg1st19Qyx06qCnFOOIfBua9NGlqYuSsLSYVdX8VuI8LtgTvdva?= =?us-ascii?Q?eUpmcl2gxpz5PYM1YwO5uGblaHVgzf3dbu7n1+tFDNkFXS2MlSBx72bE6Vfo?= =?us-ascii?Q?KlGjBkaEBT/g41cz9AtKUWR+DECmveCAxMhe+RNMyHUr2ULHw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR07MB1725; 6:A7AdoIEo+FEvGOPCIFF8wmyizEhacv58KwK9mrTlmfA4xARTj6baJytjPYL1pwWrHH+DXFSuAkPduG/WdHi9p0BbmuOYwkXWCuxk6uQAZ0PMfsaqmxRvyEMx1qBsR1uWUw/kAXbJ7ateqgXptt3cIYgl+UmqANwU+Rk+Rkzamws+MMT8HqakqAN70yhoOMMsz14wu5CVyHvneVzE+e85kHU4IwpcMxLY2KsB76reIGypzezl3MW0inHDdjAUEnpD1xFJtvLSgOCBuQYYUAiSD51I5Jlc2ym0Up3/UXJOdnh8npatc5J0iZaGXAC5r2n0m5Xmbi3HgYBpsLnD+8rbgtY6Rq09kK2g7Ftp6aeHZV/+ML/DmHM7l1LNXGF/Y0HzerGD0sEUzHwFZZrUj5P/LXi0beBDHTn2y24xNB3wIHjs8GxMxfkgFdof9WtWC9vhMHpgv2Ljvr7g86HNYC7hV+txBu4rZsjKOLSz1EahF7HtBNiG9d2NufFjvBdi8NGNAqbHu2o6rPq7tpNAb8PGBA==; 5:nE5YBfbCI+yH6lKrj+JsE6Xf1lvuhz0JQZjm3T6P82CCxPDpIA+Wwl7hiJPyPj3BWN7f/qGyScirU4duxhkpTE+9CuSBc2oiyqmjBog1UyRAPzVs9Xb7rtI6IFuwD1V5FggDXPiQKL7pEiUMi4e3Hg==; 24:OMmqAwWJBkSq9O2NkNBqLM6fRIEojAOOvyqdkWCq2YmMKF/SuBWo828u2b3zRRj/eVV2DqGgKSpQAu616qV+Z3L9LZuAKidr1+LTBIK//j0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR07MB1725; 7:09NU7et/xK8KjvENIEwFQpidl0AJxSat7lY7oZkO5+X8wdR/JHNGaRARvhlqyWUgGN8yX/FMb2BD+e40DzWyd0uryEAhbWjgRoLssObyd9LAgH2sUIEZWotO5Pkbl/2C3FvqHeNfCJbljBEbGUkIff6O1Gi3lIznZuJ/a98fU/xoXHp34DK0JvWD3zfc8F1/X8fzRiBNTdifEO22/5Ap9ay1J9bo0aI6QtCRPr2cG62oiPIfzyxJ6fUPvYLv8+yUjFeTg8cO1jRP7jFsAVMmFWWnKReIwr6JcafkW9BB43UVsQxxGIa0rkM2gpFCVRIqnuwY+zDKcvaiS1aJ+j8Lmg== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2017 22:47:33.6978 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR07MB1725 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes From: Simon Marchi Darwin's lm_info structure is used a little bit differently than the other solib implementations. The other implementations first allocate an so_list object, then instanciate their specific lm_info structure, and assign it to so_list::lm_info. The Darwin implementation allocates both at the same time (darwin_so_list). This patch changes it to be like the others, so that we'll be able to do some generalizations later. gdb/ChangeLog: * solib-darwin.c (struct darwin_so_list): Remove. (darwin_current_sos): Allocate an so_list object instead of a darwin_so_list, separately allocate an lm_info object. (darwin_free_so): Free lm_info. --- gdb/solib-darwin.c | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/gdb/solib-darwin.c b/gdb/solib-darwin.c index 0b975569e2..c507e13caf 100644 --- a/gdb/solib-darwin.c +++ b/gdb/solib-darwin.c @@ -159,14 +159,6 @@ struct lm_info CORE_ADDR lm_addr; }; -struct darwin_so_list -{ - /* Common field. */ - struct so_list sl; - /* Darwin specific data. */ - struct lm_info li; -}; - /* Lookup the value for a specific symbol. */ static CORE_ADDR @@ -271,7 +263,6 @@ darwin_current_sos (void) unsigned long hdr_val; char *file_path; int errcode; - struct darwin_so_list *dnew; struct so_list *newobj; struct cleanup *old_chain; @@ -302,11 +293,10 @@ darwin_current_sos (void) break; /* Create and fill the new so_list element. */ - dnew = XCNEW (struct darwin_so_list); - newobj = &dnew->sl; - old_chain = make_cleanup (xfree, dnew); + newobj = XCNEW (struct so_list); + old_chain = make_cleanup (xfree, newobj); - newobj->lm_info = &dnew->li; + newobj->lm_info = XCNEW (struct lm_info); strncpy (newobj->so_name, file_path, SO_NAME_MAX_PATH_SIZE - 1); newobj->so_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0'; @@ -587,6 +577,7 @@ darwin_clear_solib (void) static void darwin_free_so (struct so_list *so) { + xfree (so->lm_info); } /* The section table is built from bfd sections using bfd VMAs.