From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-x42a.google.com (mail-pf1-x42a.google.com [IPv6:2607:f8b0:4864:20::42a]) by sourceware.org (Postfix) with ESMTPS id 65D8C384EF5D for ; Wed, 7 Dec 2022 05:56:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 65D8C384EF5D 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-pf1-x42a.google.com with SMTP id c13so9511589pfp.5 for ; Tue, 06 Dec 2022 21:56:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-disposition:mime-version:message-id:subject:to:from:date :from:to:cc:subject:date:message-id:reply-to; bh=jnVKZy/AxHxaT+V0GrvMRGa7aJ5rvCnqcBm/UhaGsek=; b=b+zOLZz0DkRqzD7YtkT3g+b1GZYhlmzPI1wdnJQuNf8vi7VIkqaGymQlikPqtH69kw +FB6bYnRF5qIyGRYPeKwYNGue5ZfFVKurcdoM30JIiRflhQ/zVHGU+wIDSDy6nznoc80 6ZJhp73EIKweRJGJuSPtseVUUgPY8fyQMrjW4HjIjrr6I7SjKMlBxOJwjrg0uX9SVV84 1IlAIGKH1tKuPK5vKCEQbZoLqEFFg9ju920YnK5qy45Lw4BF5RftwfaWYYqhmvBmExEm dP/JbFSaQ8C7urYSa89QK/C5Ft+mRNosEqGoWrHwQed0DgDBFwPJIhbamp+hizZ98Hrt 95CQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=jnVKZy/AxHxaT+V0GrvMRGa7aJ5rvCnqcBm/UhaGsek=; b=VmdnnvN5kehT8bcGvWkfISjZlmACgrHtMTR94q8gPRWLGtBPGd/rl514Qgsl1ozyiD 92e9waI/Vcip5V9Iv9s7CsQwehczdsC1lltio0B5S25JuG+pekJ5ThClmsY20mZt4g1x 9IV9PPsOTVdIyaxg+AyFhPIAHn5cgqcZEwC9ZtY3WmtlZv0UJxsZt/wjYk4gt6p8/zo5 M3nZ/EFsp9i0nsG7j0h2oqDY02cYz+CNYKGroR6zJ9sZIdYZW2XFUC/uRqNHIH+jj43f sTSqMXMyUjsF58h3wZ8tO++CuuDCpIdXTLmWX2m+WPvzGyn0ELEIElHaHFQ9bua8/3DH ENkQ== X-Gm-Message-State: ANoB5pnftyLHk0woRey2iXV2OkSSZWN192yOOvoKc+H1wY/QYSbMEPfz PW5t2+k3MbL/SFEF36vGv8ccYrINdbg= X-Google-Smtp-Source: AA0mqf7p+egeb6WCwk8IhM+xV/NV+ZYTbRArpUPv5KoknRV+EKs4t9mpGe9plymIpweK3j4TDGC+zA== X-Received: by 2002:a63:da10:0:b0:477:ccac:6eb5 with SMTP id c16-20020a63da10000000b00477ccac6eb5mr54090837pgh.41.1670392588130; Tue, 06 Dec 2022 21:56:28 -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 t123-20020a628181000000b00561dcfa700asm12640079pfd.107.2022.12.06.21.56.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Dec 2022 21:56:27 -0800 (PST) Received: by squeak.grove.modra.org (Postfix, from userid 1000) id 4DD131142D11; Wed, 7 Dec 2022 16:26:25 +1030 (ACDT) Date: Wed, 7 Dec 2022 16:26:25 +1030 From: Alan Modra To: binutils@sourceware.org Subject: gas compress_debug tidy Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Spam-Status: No, score=-3036.0 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: * write.c (compress_debug): Don't set up "ob" until after seginfo NULL check. Simplify SEC_CONTENTS test. Localise variables. Use bfd_debug_name_to_zdebug. diff --git a/gas/write.c b/gas/write.c index 573e0244459..30545b01f5e 100644 --- a/gas/write.c +++ b/gas/write.c @@ -1461,25 +1461,15 @@ static void compress_debug (bfd *abfd, asection *sec, void *xxx ATTRIBUTE_UNUSED) { segment_info_type *seginfo = seg_info (sec); - fragS *f; - fragS *first_newf; - fragS *last_newf; - struct obstack *ob = &seginfo->frchainP->frch_obstack; - bfd_size_type uncompressed_size = (bfd_size_type) sec->size; - bfd_size_type compressed_size; - const char *section_name; - char *compressed_name; - char *header; - int x; + bfd_size_type uncompressed_size = sec->size; flagword flags = bfd_section_flags (sec); - unsigned int header_size; if (seginfo == NULL - || sec->size < 32 - || (flags & (SEC_ALLOC | SEC_HAS_CONTENTS)) == SEC_ALLOC) + || uncompressed_size < 32 + || (flags & SEC_HAS_CONTENTS) == 0) return; - section_name = bfd_section_name (sec); + const char *section_name = bfd_section_name (sec); if (!startswith (section_name, ".debug_") && !startswith (section_name, ".gnu.debuglto_.debug_") && !startswith (section_name, ".gnu.linkonce.wi.")) @@ -1490,13 +1480,15 @@ compress_debug (bfd *abfd, asection *sec, void *xxx ATTRIBUTE_UNUSED) if (ctx == NULL) return; + unsigned int header_size; if ((abfd->flags & BFD_COMPRESS_GABI) == 0) header_size = 12; else header_size = bfd_get_compression_header_size (stdoutput, NULL); /* Create a new frag to contain the compression header. */ - first_newf = frag_alloc (ob); + struct obstack *ob = &seginfo->frchainP->frch_obstack; + fragS *first_newf = frag_alloc (ob); if (obstack_room (ob) < header_size) first_newf = frag_alloc (ob); if (obstack_room (ob) < header_size) @@ -1504,16 +1496,16 @@ compress_debug (bfd *abfd, asection *sec, void *xxx ATTRIBUTE_UNUSED) "can't extend frag %lu chars", (unsigned long) header_size), (unsigned long) header_size); - last_newf = first_newf; + fragS *last_newf = first_newf; obstack_blank_fast (ob, header_size); last_newf->fr_type = rs_fill; last_newf->fr_fix = header_size; - header = last_newf->fr_literal; - compressed_size = header_size; + char *header = last_newf->fr_literal; + bfd_size_type compressed_size = header_size; /* Stream the frags through the compression engine, adding new frags as necessary to accommodate the compressed output. */ - for (f = seginfo->frchainP->frch_root; + for (fragS *f = seginfo->frchainP->frch_root; f; f = f->fr_next) { @@ -1573,7 +1565,7 @@ compress_debug (bfd *abfd, asection *sec, void *xxx ATTRIBUTE_UNUSED) as_fatal (_("can't extend frag")); next_out = obstack_next_free (ob); obstack_blank_fast (ob, avail_out); - x = compress_finish (use_zstd, ctx, &next_out, &avail_out, &out_size); + int x = compress_finish (use_zstd, ctx, &next_out, &avail_out, &out_size); if (x < 0) return; @@ -1599,12 +1591,12 @@ compress_debug (bfd *abfd, asection *sec, void *xxx ATTRIBUTE_UNUSED) /* Update the section size and its name. */ bfd_update_compression_header (abfd, (bfd_byte *) header, sec); - x = bfd_set_section_size (sec, compressed_size); + bool x = bfd_set_section_size (sec, compressed_size); gas_assert (x); if ((abfd->flags & BFD_COMPRESS_GABI) == 0 && section_name[1] == 'd') { - compressed_name = concat (".z", section_name + 1, (char *) NULL); + char *compressed_name = bfd_debug_name_to_zdebug (abfd, section_name); bfd_rename_section (sec, compressed_name); } } -- Alan Modra Australia Development Lab, IBM