From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pl1-x630.google.com with SMTP id iw3so1417895plb.6 for ; Fri, 24 Mar 2023 03:33:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1679653994; h=content-disposition:mime-version:message-id:subject:to:from:date :from:to:cc:subject:date:message-id:reply-to; bh=rkvwD2TK0s/BR/gKMEl8APPI63NWBl54DvSCBkUO0e4=; b=ht9qBnRgJVsxmL8XUBwxkZeUr+ikBEtasMv41i78LcJCiMIL9oJPel5LJgZg4L0JvQ gBZ38pqlC6pEk38gmmaM1+WYajOs4z6okkR8RAfSaGcvvymSSgDpEATIt99ZcaX0xPu+ WCbUayrSNl3/+/O2FKrOflYlfipQVkmwmzLxeVueR+mWNMn0/VrT5H16UYBWr9MkvFzt C5uTiqRTtbUKvsTvBblIlT5jM6cey34RsXcMHR5VFvpZpFTgpwac26acLMwrEVAgVii5 /0fMEW+F0A84wLAiWvDiQV2p1a99M2hZO7WF6SZRtvbJhwdGdkMIhvToorSNqRp0fc4y olrg== 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-Google-Smtp-Source: AKy350aH2abRG986e5HtCQZKLpaVyAnuCQMY3Pm7X20U/LRLzNsswLkeaxXZYAF0/A6Mj9urL2Sv7g== 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 From: Alan Modra To: binutils@sourceware.org Subject: Tidy dwarf1 cached section contents Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii 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 List-Id: * 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; -- Alan Modra Australia Development Lab, IBM