From patchwork Fri Mar 24 10:33:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Modra X-Patchwork-Id: 74480 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp518757vqo; Fri, 24 Mar 2023 03:33:26 -0700 (PDT) X-Google-Smtp-Source: AKy350Y1/HQPj67EnBrQYHcWPiekBgSK4pnv8wYwq98Vd6FWAb18x0b4Rh0HryX0iYMg4ORyHPgZ X-Received: by 2002:a05:6402:18:b0:501:cf67:97fc with SMTP id d24-20020a056402001800b00501cf6797fcmr2154406edu.10.1679654006724; Fri, 24 Mar 2023 03:33:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679654006; cv=none; d=google.com; s=arc-20160816; b=tXJqnn1Zr45+kkhF7M4u9PaIJPFvJZ5/S1KjscRCp2Rk/E/yWPemQeuWDdEXn+SQI+ mtGVToyjfJAeoiZFaI17C4uWCJNBha/9qrxxcj4N6soiAYrKzvPe12COeof/SrYB4VzV oji48PQttn2hIV+37AwY5itfd4lwtdfvMcy35ASRx2gsbXCp7KgjVYXIXb9UqufLZdKs Rwk27uPJgHp2evTvgZVhcs339tEgajqmXxWP2+Samz9v9f5BLckS6DHE1hh49WPoIoZm 2F9h4kmHDueL+pG/OWzwcn9PWWsHyDNKmsEIzmkTcO3Flf1b89XzwU3wIhem6z1tNhmk 3a2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:from:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence :content-disposition:mime-version:message-id:subject:to:date :dmarc-filter:delivered-to:dkim-signature:dkim-filter; bh=rkvwD2TK0s/BR/gKMEl8APPI63NWBl54DvSCBkUO0e4=; b=MqvWyL2OnML+987JEVtrqC2yxbbsCsAOCNQq/vvvXX2K3iWPth2tXRxCbNoVjB3YAb ghYAwHYb2QZ8EQv44q+z+hiEbvdMGRlP9Cfjff1oLbBMYvplaHEdwXGGaPMlbBt6uw/d OlJvCFr+oZ5R2kasrjTQu2odEKcQGdctsF0mk0dgc3927QwZqKLnzlz3Kx2iZqzQSJAz QRTlkmOYqA0QPng+YsE9nmqwXQW6sfDMj2SRve4QsdRQjN5PDh0ShKu0iVVXha/Qsa87 NkCvHxyMaSdUdkBaYvgiQwB8guKH56VqX7yMa4G3FFkgR/he5MRL1rCHAvZsYLfD3KVz dS+A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b="Hxd/25u2"; spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id bm4-20020a0564020b0400b004bc4fc261f8si22575897edb.102.2023.03.24.03.33.26 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Mar 2023 03:33:26 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b="Hxd/25u2"; spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 5CF05385AC29 for ; Fri, 24 Mar 2023 10:33:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5CF05385AC29 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1679654005; bh=rkvwD2TK0s/BR/gKMEl8APPI63NWBl54DvSCBkUO0e4=; h=Date:To:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=Hxd/25u2+xYbZ0SkSQwm73IKSWhlBZ5X8vK6PG/5PLf/ZeNxEuwHlBAS58IzhE1Tz RcD+MbyFV828zT7kTMDgsQKrBX79lUmN3GIGXZf46ES+otbZJMUqCOitvgXQndXxt6 Rph7K9k0aAAIT11hmjCZXUvtFPiM4U48NtMoY028= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com [IPv6:2607:f8b0:4864:20::630]) by sourceware.org (Postfix) with ESMTPS id 6D3853858CDA for ; Fri, 24 Mar 2023 10:33:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6D3853858CDA Received: by mail-pl1-x630.google.com with SMTP id iw3so1417895plb.6 for ; Fri, 24 Mar 2023 03:33:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679653994; 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=rkvwD2TK0s/BR/gKMEl8APPI63NWBl54DvSCBkUO0e4=; b=gh43aKEOE+5PikZPjQyOdKvYrvfSkCaZ8DiR/EnSUvGO6Rdos/yZGD1PDQMMluEvRR L4db8nsUYSbBQRn1XUKedBYuFDZsF3iEiXhrApres2z6ORiYXr/BFF6V+LQ7kXgHxRVm jaSGoo5MlvYvmdfCFc+HHAPMr48zuoY3fzam/DAeal81V/HXYmaReZ0oazWTKTZEbaqP Uv5e/oUfiNkkWHI9t9GExeoFrLBCf4AUwTffoFSMdvd23S0nSaB1hvSmQERvl8JmXVIk mXTWswg96tpr+kbwsV1mo6tcgjwWHJj7cVFmia2VgD+5NDOEkmdkqeeUVSqN+/D5/Tpa Q+Nw== X-Gm-Message-State: AAQBX9eaHfr0kyjN81oCW5Vtsd71gTHKqLAOkPYh7FPnBpnxGGQYk55V 4hdkKg+p1Vh7LF/4dQZCKjUL6Iynbds= X-Received: by 2002:a17:902:ce83:b0:1a1:ad5e:bdb2 with SMTP id f3-20020a170902ce8300b001a1ad5ebdb2mr2502368plg.57.1679653994196; Fri, 24 Mar 2023 03:33:14 -0700 (PDT) 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 z20-20020a1709028f9400b001a216d44440sm1203968plo.200.2023.03.24.03.33.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Mar 2023 03:33:13 -0700 (PDT) Received: by squeak.grove.modra.org (Postfix, from userid 1000) id 2F7041140FEB; Fri, 24 Mar 2023 21:03:11 +1030 (ACDT) Date: Fri, 24 Mar 2023 21:03:11 +1030 To: binutils@sourceware.org Subject: Tidy dwarf1 cached section contents Message-ID: MIME-Version: 1.0 Content-Disposition: inline X-Spam-Status: No, score=-3035.2 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.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Alan Modra via Binutils From: Alan Modra Reply-To: Alan Modra Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761244879405372904?= X-GMAIL-MSGID: =?utf-8?q?1761244879405372904?= * dwarf1.c (_bfd_dwarf1_cleanup_debug_info): New function. * libbfd-in.h (_bfd_dwarf1_cleanup_debug_info): Declare. * elf.c (_bfd_elf_close_and_cleanup): Call it. * elf-bfd.h (struct elf_obj_tdata): Make dwarf1_find_line_info a void*. * libbfd.h: Regenerate. diff --git a/bfd/dwarf1.c b/bfd/dwarf1.c index a80d19db7de..d7c50eaa068 100644 --- a/bfd/dwarf1.c +++ b/bfd/dwarf1.c @@ -593,3 +593,15 @@ _bfd_dwarf1_find_nearest_line (bfd *abfd, return false; } + +void +_bfd_dwarf1_cleanup_debug_info (bfd *abfd ATTRIBUTE_UNUSED, void **pinfo) +{ + struct dwarf1_debug* stash = *pinfo; + + if (stash == NULL) + return; + + free (stash->debug_section); + free (stash->line_section); +} diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index dff19822547..2a64a1e6a03 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -2070,7 +2070,7 @@ struct elf_obj_tdata void *line_info; /* A place to stash dwarf1 info for this bfd. */ - struct dwarf1_debug *dwarf1_find_line_info; + void *dwarf1_find_line_info; /* A place to stash dwarf2 info for this bfd. */ void *dwarf2_find_line_info; diff --git a/bfd/elf.c b/bfd/elf.c index c9abc2579e5..45e53640e8f 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -9592,6 +9592,7 @@ _bfd_elf_close_and_cleanup (bfd *abfd) if (elf_tdata (abfd)->o != NULL && elf_shstrtab (abfd) != NULL) _bfd_elf_strtab_free (elf_shstrtab (abfd)); _bfd_dwarf2_cleanup_debug_info (abfd, &tdata->dwarf2_find_line_info); + _bfd_dwarf1_cleanup_debug_info (abfd, &tdata->dwarf1_find_line_info); _bfd_stab_cleanup (abfd, &tdata->line_info); } diff --git a/bfd/libbfd-in.h b/bfd/libbfd-in.h index ff58421f28b..1c9f34bb6d7 100644 --- a/bfd/libbfd-in.h +++ b/bfd/libbfd-in.h @@ -573,6 +573,10 @@ extern bool _bfd_dwarf1_find_nearest_line (bfd *, asymbol **, asection *, bfd_vma, const char **, const char **, unsigned int *) ATTRIBUTE_HIDDEN; +/* Clean up the data used to handle DWARF 1 debugging information. */ +extern void _bfd_dwarf1_cleanup_debug_info + (bfd *, void **) ATTRIBUTE_HIDDEN; + struct dwarf_debug_section { const char * uncompressed_name; diff --git a/bfd/libbfd.h b/bfd/libbfd.h index fa6f2d71b60..d1dc7b912a0 100644 --- a/bfd/libbfd.h +++ b/bfd/libbfd.h @@ -579,6 +579,10 @@ extern bool _bfd_dwarf1_find_nearest_line (bfd *, asymbol **, asection *, bfd_vma, const char **, const char **, unsigned int *) ATTRIBUTE_HIDDEN; +/* Clean up the data used to handle DWARF 1 debugging information. */ +extern void _bfd_dwarf1_cleanup_debug_info + (bfd *, void **) ATTRIBUTE_HIDDEN; + struct dwarf_debug_section { const char * uncompressed_name;