From patchwork Thu Dec 12 05:31:44 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Modra X-Patchwork-Id: 102831 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id C46933858C50 for ; Thu, 12 Dec 2024 05:34:06 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C46933858C50 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20230601 header.b=aa8LMIjX X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pf1-x436.google.com (mail-pf1-x436.google.com [IPv6:2607:f8b0:4864:20::436]) by sourceware.org (Postfix) with ESMTPS id 848D83858C52 for ; Thu, 12 Dec 2024 05:31:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 848D83858C52 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 848D83858C52 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::436 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733981508; cv=none; b=jcl1m1shcfrJNq6nTGeyVaY1EO6cYNWq+o4IxVuXlyNfVB8+0bG0w4tWWkw5aM5VulDkEQEy7MgXb3ucpHYXXuNIONHNL8hhgK5qnHoxgEa3AJhovYhEi1TiT1XLiLv8uFJSxSFa47ek7O7syYCcehptj7zD+zpO2nU90rdJAjI= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733981508; c=relaxed/simple; bh=G/rP09baa+qui1ymS8q3V6WcHYKoZnXKsopKQLkj7gA=; h=DKIM-Signature:Date:From:To:Subject:Message-ID:MIME-Version; b=N7NTynAMQscdXeethoqSf2h4qP0vruYuf+PZAhLQ907zu3lsswAYIqawqibwibSH7OFsoBN3Zy4FVigUcdYYt7X8PcUs2Sd2y2l2HE16GhShlvu2MegcBQSgfUYQsCwmS15RbFqqIX9jvy6GiE2Ti+UVIGb8vhTLGbNjOJ90AAU= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 848D83858C52 Received: by mail-pf1-x436.google.com with SMTP id d2e1a72fcca58-728ea1573c0so190254b3a.0 for ; Wed, 11 Dec 2024 21:31:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1733981507; x=1734586307; darn=sourceware.org; h=content-disposition:mime-version:message-id:subject:to:from:date :from:to:cc:subject:date:message-id:reply-to; bh=sfmSnkbyxxMOTBp6MOhh8BWUnHsxCOM4OvdvdAn+8Q0=; b=aa8LMIjXkn+42W3lcIFPA974Gsc8jH1TreCa6CVCVhoe7ORENu9GZEUYXV5fmF4MJC BJjtNEBAHSWLAZkrg5lPks4RCQK14ONoMBKyvx0khuv740EkicCVW7f41h62kOWNuOME vDSEoeA3FG8DOc/F0S2B5RJS1HggTJvU004nk9tkJ4jNfeI3dCorGpzak4AFkhoux9UY +F2YjVnMkNm2xZOXwm0TcFHM8W05w5HB8Pc2nT2QIlHTNrM0rxwDOZd1lQ/mWXwmTbr/ LIHfG8Vym/sNWcYBpc9P/8k4AccDitm0TiL1HYZX4p7pl8SbepQ+Yoxm36bD9DMsm9kD fVgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733981507; x=1734586307; h=content-disposition:mime-version:message-id:subject:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=sfmSnkbyxxMOTBp6MOhh8BWUnHsxCOM4OvdvdAn+8Q0=; b=RZ7Lub09uQhgh0whzEV37pzSvhOAXal5Vo1wqGFfukHp2/5hboOgvXC1moIAuOfCFw PTzTVo5+uvb12qUVlj3jVJwq24loz95TDai2nmnG7hdBfve1J+Sx2Pvxvmonu4GC50ae EyCecUmS2rZw1npBMEjh4EIn6QQ6T+gQvEJukyJ4+F4gDO7QdUuqgeVvt3e9iVAWejtg GRCvMiPZxzMTmasULIyBZ5+LEvVqzIDCYc1Mi8SMdSEmQBLaJIq30pFwp+Uqr+VvYrz/ cBzus9qYmu4e0k34pX3i9qAMQiVRdGWp5lVQvFligddmlc3QLV5jXTemslcOsXCwJ24u GeJQ== X-Gm-Message-State: AOJu0YzGXucyJfgbOigGLyB3KE/TPZW6L792FyrgwscF6sBUCSqsqTHc Jzq4a7UmwKx5nR5izRTek+r9gl78T5sCKkl8HzyGcjYeAC9iJ6tFevzbVg== X-Gm-Gg: ASbGncshT73XNmVEQu7Yjzj8hphCWblsT5EjblKajfBbTMBAdeWVAZBrMBlJeZZhlz/ uXQT+ty1Ghqy8QbfI6j/dk9+h5rAWSmmkv83KtWCqE+XjnivwjHyREmXVI36mdsuBIrkIJON0GE D/AfcXeXxxrwuDYh/1BBrlns1HsWxpWtEhAEhfttubzkF2Ir343vi+c48jM1atRl6QhNafMcj15 6yYq/EoO2akt1EAlNF6leoNQxxv5Qk6BqEnbJjiAOHidof/wj3RFyTYq0R1DdS2Q6el4fnfXyes ILGz+QTaWPO0dCu8XZHDxgBR6oE= X-Google-Smtp-Source: AGHT+IE8TCp8MO2j1zL8+1nN74D6Ef3tzZvVj9/UqvSBMuajnrwi1lKP8e7xsNNF6WdrwlPhDBzcLA== X-Received: by 2002:a05:6a21:398e:b0:1e1:ab8b:dda1 with SMTP id adf61e73a8af0-1e1cebd27cdmr3572973637.35.1733981507338; Wed, 11 Dec 2024 21:31:47 -0800 (PST) Received: from squeak.grove.modra.org (158.106.96.58.static.exetel.com.au. [58.96.106.158]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-725da385bfcsm8282984b3a.70.2024.12.11.21.31.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Dec 2024 21:31:46 -0800 (PST) Received: by squeak.grove.modra.org (Postfix, from userid 1000) id 59ED111424B1; Thu, 12 Dec 2024 16:01:44 +1030 (ACDT) Date: Thu, 12 Dec 2024 16:01:44 +1030 From: Alan Modra To: binutils@sourceware.org Subject: nm.c free_lineno_cache Message-ID: MIME-Version: 1.0 Content-Disposition: inline X-Spam-Status: No, score=-3032.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org free_lineno_cache frees symbol and relocation data used when displaying line number info for symbols (nm -l). Currently that is done when closing the bfd, but that's not ideal for archives since that results in two bfds worth of memory in use. * nm.c (display_rel_file): Call free_lineno_cache here.. (display_archive, display_file): ..not here. diff --git a/binutils/nm.c b/binutils/nm.c index 2546dc5105f..87e8305b3f8 100644 --- a/binutils/nm.c +++ b/binutils/nm.c @@ -1498,8 +1498,8 @@ display_rel_file (bfd *abfd, bfd *archive_bfd) else print_size_symbols (abfd, dynamic, symsizes, symcount, archive_bfd); - if (synthsyms) - free (synthsyms); + free_lineno_cache (abfd); + free (synthsyms); free (minisyms); free (symsizes); } @@ -1602,7 +1602,6 @@ display_archive (bfd *file) if (last_arfile != NULL) { - free_lineno_cache (last_arfile); bfd_close (last_arfile); if (arfile == last_arfile) return; @@ -1611,10 +1610,7 @@ display_archive (bfd *file) } if (last_arfile != NULL) - { - free_lineno_cache (last_arfile); - bfd_close (last_arfile); - } + bfd_close (last_arfile); } static bool @@ -1656,7 +1652,6 @@ display_file (char *filename) retval = false; } - free_lineno_cache (file); if (!bfd_close (file)) retval = false;