From patchwork Tue Oct 10 20:01:01 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 23464 Received: (qmail 93417 invoked by alias); 10 Oct 2017 20:01:26 -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 93406 invoked by uid 89); 10 Oct 2017 20:01:25 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.3 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3 autolearn=ham version=3.3.2 spammy= 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; Tue, 10 Oct 2017 20:01:23 +0000 Received: from ESESSHC023.ericsson.se (Unknown_Domain [153.88.183.87]) by sessmg23.ericsson.net (Symantec Mail Security) with SMTP id D7.CF.09869.0172DD95; Tue, 10 Oct 2017 22:01:21 +0200 (CEST) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.87) with Microsoft SMTP Server (TLS) id 14.3.352.0; Tue, 10 Oct 2017 22:01:20 +0200 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; Received: from elxacz23q12.ca.am.ericsson.se (192.75.88.130) by AM3PR07MB308.eurprd07.prod.outlook.com (2a01:111:e400:881b::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.5; Tue, 10 Oct 2017 20:01:17 +0000 From: Simon Marchi To: CC: Simon Marchi Subject: [PATCH] Use std::vector for symtab_fns Date: Tue, 10 Oct 2017 16:01:01 -0400 Message-ID: <1507665661-14742-1-git-send-email-simon.marchi@ericsson.com> MIME-Version: 1.0 X-ClientProxiedBy: BN6PR1001CA0023.namprd10.prod.outlook.com (2603:10b6:405:28::36) To AM3PR07MB308.eurprd07.prod.outlook.com (2a01:111:e400:881b::19) X-MS-Office365-Filtering-Correlation-Id: 2274461f-e0a4-4913-5c38-08d51019ab52 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(2017052603199)(201703131423075)(201703031133081)(201702281549075); SRVR:AM3PR07MB308; X-Microsoft-Exchange-Diagnostics: 1; AM3PR07MB308; 3:iMmW/tmWKphwfX7KwVEbmi0AjIhhwoDaSM2yF6ylUT+WkxEiw8GLhQAC/BneLCdDEo0HWe05AzWRDHSxBWyJZ4nDBasJyw5OUeVMcGFf5RpGCxmRyDLt0HLYsD20UliNjtaCtwNwdl5Mw2EucA8ANz8LxdTgfXHYtmF/gD9DELLLIorVzXhi9csz1fcHOFyYpvTYkY3encgxVytWebrF91Al0XDr2PjjfajeAte8dO1cC4GHb2yaw5nkmLUs6xXl; 25:xB4R48s7ZlhQwS+gQJsF493C5LjGUzZj/KTXqbxKG+YY9xoFwy+4Kx9ww4Cdi+vPlD+UqYO/0rh2zMUoUbGT+NWS0kzo7z1TFkOp+5c3PcLyE3l9HVAxvHcqqdYBYiGhChWjnuMtGizIP475oD78gFDA3aoN9BdZWiIuqQ01H7P8HIqpPkIsQpeAHEaUngWCRHthG9k7bQEjSZMlw+VvyTD1QozDdmnJ/um5oadPtOs3zVs/i9TdG/yWYPaCm35wJTjmAmUun+B+jHLKH54EjWUL9pifK+sK4fiGz6dwidvwwgFh8UPnA+MJgZ1ux3YEZ1Wvr2YKVIrbNpAN6rhphixJ0kstODfjR7/dDh/yTMA=; 31:GHoWDAZhfSbK+VWgB7hj4jnWWnU+Y4nLz1iRj01/FfScJEB3Z9E41C6Om6TiYX6sZSvJpEC4YzKhAukbA3rucavLrZecmZmNTqQ0hS+Nqa93H3ny3s8Fod9nfjA71IXvhWJnQUOjp11YFDXadiUwZLNVe9nSnLOqLfhbBh6hA8VpFXLDr7agAb8+2ZdJHGfUje78SdJEpsrXC7UcdBgEySnAZUoijen4w3JMJS98ftE= X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM3PR07MB308: X-Microsoft-Exchange-Diagnostics: 1; AM3PR07MB308; 20:HfN1ZEDpdEYKDZP/vWpuK+kel/ZmujKXAkHEE+9eFcFR6kzyeyWXEwzu+UqPub9u65hlU7dlIbk8AVH3ch/ae8u0LrS0oXWwp68Yk4p3GpNUP1FbeOXBPYz01BrC7oa9M+DIwNZEVBqnABZPBWoqvjKgF7iBOw/0xf8AdXQTe6dZnylWD/40t1VdJqYsZntITZsJ+PZP/M3iLTjv9JwRCu37KPmcAdy8jLe/hRsW1jIog75mI/dYCeZxuDuvUbqs5iMQrKhEq0+UoI+1XfvEkVz1tk+7Iy93LxWQ0DRQC8H+i8UHN4rOQi8UaLA8EUfKIfMYMzSX/xCWngUpCuoGGDDjeKbpGDjI/xeXNFcSV2Z+hjdaAiwQL/uQWLLSauSi0cOJJrt7KI207zjlOu/DDJG/8cR2GyDHUDZ5+/GZyGcq1KP6xScoGVaLzK5VNF8tViRnVGVQy9TsIjCiOFEMPh0aIhM7GbyxrwAq/zvY1NCLUgHAslSJ98ZwflbK2kFG; 4:EYWnBZHkukmmTN/ez6z+I1xwrnO9VEoqFIm+ma3IyzndOKKlovK/fr6G8YR8PYI+MY72Z1fbuJ1DK4bgq5Tpet6S83AwH8FPNeTnFVWVO0Y2WBYw/9QwRVTLj3xxXDLn77fnQm8Mk/4CVipkoeMuxGLefXTL+hDrGJO4QR+BfR+21x8DL/0/v7Mc6q3d8UBuNWz20uyj37zDLtwXqk3k1zD7Vhl4bZmbMcdRl+aQ9+5L3MaaEPDd/SRNo0+ORKRO X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(3002001)(93006095)(93001095)(100000703101)(100105400095)(10201501046)(6041248)(20161123555025)(20161123560025)(20161123564025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM3PR07MB308; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM3PR07MB308; X-Forefront-PRVS: 04569283F9 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(979002)(6009001)(346002)(376002)(39860400002)(189002)(199003)(54534003)(50466002)(25786009)(33646002)(16586007)(5660300001)(2906002)(316002)(106356001)(4326008)(107886003)(81166006)(8676002)(8936002)(81156014)(48376002)(189998001)(86362001)(6506006)(68736007)(478600001)(97736004)(6486002)(5003940100001)(6512007)(50986999)(2351001)(3846002)(105586002)(2361001)(6116002)(7736002)(16526018)(101416001)(36756003)(6916009)(6666003)(53936002)(66066001)(50226002)(305945005)(47776003)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM3PR07MB308; H:elxacz23q12.ca.am.ericsson.se; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM3PR07MB308; 23:HC3wm2upm4vtqThMME1Nlx7EAcf1nwci+i8cnM2DAm?= =?us-ascii?Q?QZqpTJWs2wYs0KfypDIOBARaFNcSqUxpwUP9RgOQNIaq+UxRNjvll14+FykI?= =?us-ascii?Q?JfuqbTBbqqhaSi/UjfPPPXj85/Y9DPL1nPtxcKe7jKNWz5pB6iMAiNsUw7bi?= =?us-ascii?Q?4qQx7ba2QGvdt4Risnzbx02Q8/CFi9+rLnnDw5RgWOafCSne0OFUCYIPH46F?= =?us-ascii?Q?w4/H1y7Y7nKaaKkjwZYXvLxp+EJVEsZL8+RigBA/spCqvowzHXkQ+pjlNb9h?= =?us-ascii?Q?RrzMYpHxXt8gqkPqwNPO893MiWPrXNE9+AVZZy+z2RLaNx3CK469RpFH1ksN?= =?us-ascii?Q?f4tVur4KOG3K+AO53taiLRpdgXVRlX5mPcodLPBx05a4QBAeFIu2sJNbAJNh?= =?us-ascii?Q?cS/iENCj9tPsLredTObfcArNBrS9ZdsSZbAHNsyTt5M3GlQs9pKjZ3HvX5k9?= =?us-ascii?Q?V2DFfJoKB7zpbanBx0512l4Zu9y4TproYB3fmybMMtMIPwQhkF71Wdfo562A?= =?us-ascii?Q?Sx7PTBA+V0aCSF5BEG/0GXnmy7qnQ2Z/lI9a5s9uyiykQwRuvsehTnQ0X0N6?= =?us-ascii?Q?57NsiYDoxYgvNMGBI2uaXuepFNyenckjSLq/TBIOPe86Dht6yU/Sgvw8HBAZ?= =?us-ascii?Q?2zmmbxYJp4ADDugFNMUMiTj9ai6lg2fSQRIrl7Rihk/QWrpwWMoaf83IQdrf?= =?us-ascii?Q?IjnnYOsmyfV0Sy/vIF7DYSbwrTIqI8CFeFJymFjTRQvJyt40SFLTPlutnf8/?= =?us-ascii?Q?jv7x/VR+p++gxLzlv4UqIBhN4e0wAp+ZZ2RryIys2A9lx4L1sltnqBCKVrnT?= =?us-ascii?Q?r8FwTMMHR0TDTvn2K/glzoAQMWtOLneI2LEVv3zgPI4ZxeYA+Wbr658IPdrd?= =?us-ascii?Q?y8dR2LViVhG7dpv4LKPXv6f/ztfxWMxZT4bSjamr06cQZHu6Z4TjdXsL7GJw?= =?us-ascii?Q?wrqIiJzfy5hDLHGlbUQ8wWDAc+pHdpWOoxR18ULx5YJdhKZsX6lo/af5qp1+?= =?us-ascii?Q?DakakTRmLZZCFPWqlIAbP3+2lF4/cfXaWdQuBuEvj44B8i61PQfVgr734jTG?= =?us-ascii?Q?7xcWhOMhHmelJfgl8nciE3TcQSXguUzjbd1VZOG4Xe9Ps9jlsSkWheAzUFlh?= =?us-ascii?Q?ZpsUjflzTOjFrVpnfek+A0FBGFqOsUtV61mA2D4K2DS66RW1WZKYUlKMbWTe?= =?us-ascii?Q?iElxrVwLy7FwwKc/BFFjccGgQTGT/IVx1VabKLqQCoFZrShhTkfel//w=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM3PR07MB308; 6:RcgKpRkDeEnKiXWHCzNRCOrG3imUY/JqGNOYrB/lyhRPywTdM3LJiiLIMsn2LO1XEM2Oy4iixKiZ9WZv3tc8bHUPdtxK+xu6faj4FsyN4pAuBWLxhMQailcLcd/FwY5wr138i9JT1Z0r0TOakwW/7TiBu4KQfHLjrexN/+mS9vX0qVRgWCFIsFjW5emMdToLCrrjZ70pMkh26Fgi4qkOxMHg5vopeojqKlB/d3LtGBzJFoLDDg23i6TrWZ2GSjZYopWriR94W1QkH9WUFh0GYn7sbUzSOskgZlwJ8tvO7O23y3TKh9AxLxvwo3JtnUp4PgJPYR/IrEO/vOoUWpJhWA==; 5:ukbe4G6vyf6qu77X5s8lW9jv+yH30xGcpRXUwmQaPtdX7+e+xsimyGZx1U9IglAyTCoRfoxHrXe6Rvmu37dhQQmN9yQq086qGwEnvXhVii9uqTNPd5yqtzb1NLk7KzP/qYk/HRGFcvk5Od5IQ9v4Hw==; 24:tWf/zISwCzQxDTr6RqSwb6n+n+vvLFC9PxvgZwC7DMN7SXg2kPs644EhAUhytI4cnGuK3Pe2W0SQMkDh8J3hx4cYgXubGdsH9KQhPV2qFCk=; 7:R8L2Fn2bLSk81+9sQViWRhd2tC0hBJgJoRVnTo//vWc3ztXPSyJJdNUqXZ7pJ2H8K3xoKCwb2osYNB9IAyGuqCYmgjdAQvYxnIK9c7VDvXoxiEASz/bkd1lsC5f5L2JDGIMqizEXJPDK1d9+CgcSj/P254BGk92XQhjFQwaksuN90w3yC0bHKUSTdQpSMMVX8jDBTCyttl2L2khUFwNzG/fHr5MCKuOHc0sgN4at26s= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Oct 2017 20:01:17.1696 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM3PR07MB308 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes Simple replacement of VEC with std::vector. gdb/ChangeLog: * symfile.c (registered_sym_fns): Make struct, not typedef. (DEF_VEC_O (registered_sym_fns)): Remove. (symtab_fns): Change type to std::vector. (add_symtab_fns): Adjust. (find_sym_fns): Adjust. --- gdb/symfile.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/gdb/symfile.c b/gdb/symfile.c index a741654..ca43931 100644 --- a/gdb/symfile.c +++ b/gdb/symfile.c @@ -111,18 +111,20 @@ static void symfile_find_segment_sections (struct objfile *objfile); calls add_symtab_fns() to register information on each format it is prepared to read. */ -typedef struct +struct registered_sym_fns { + registered_sym_fns (bfd_flavour sym_flavour_, const struct sym_fns *sym_fns_) + : sym_flavour (sym_flavour_), sym_fns (sym_fns_) + {} + /* BFD flavour that we handle. */ enum bfd_flavour sym_flavour; /* The "vtable" of symbol functions. */ const struct sym_fns *sym_fns; -} registered_sym_fns; - -DEF_VEC_O (registered_sym_fns); +}; -static VEC (registered_sym_fns) *symtab_fns = NULL; +static std::vector symtab_fns; /* Values for "set print symbol-loading". */ @@ -1768,9 +1770,7 @@ get_section_index (struct objfile *objfile, const char *section_name) void add_symtab_fns (enum bfd_flavour flavour, const struct sym_fns *sf) { - registered_sym_fns fns = { flavour, sf }; - - VEC_safe_push (registered_sym_fns, symtab_fns, &fns); + symtab_fns.emplace_back (flavour, sf); } /* Initialize OBJFILE to read symbols from its associated BFD. It @@ -1781,18 +1781,16 @@ add_symtab_fns (enum bfd_flavour flavour, const struct sym_fns *sf) static const struct sym_fns * find_sym_fns (bfd *abfd) { - registered_sym_fns *rsf; enum bfd_flavour our_flavour = bfd_get_flavour (abfd); - int i; if (our_flavour == bfd_target_srec_flavour || our_flavour == bfd_target_ihex_flavour || our_flavour == bfd_target_tekhex_flavour) return NULL; /* No symbols. */ - for (i = 0; VEC_iterate (registered_sym_fns, symtab_fns, i, rsf); ++i) - if (our_flavour == rsf->sym_flavour) - return rsf->sym_fns; + for (registered_sym_fns &rsf : symtab_fns) + if (our_flavour == rsf.sym_flavour) + return rsf.sym_fns; error (_("I'm sorry, Dave, I can't do that. Symbol format `%s' unknown."), bfd_get_target (abfd));