From patchwork Mon May 11 05:11:33 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Modra X-Patchwork-Id: 134754 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0A5FE4BA798B for ; Mon, 11 May 2026 05:13:46 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0A5FE4BA798B Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20251104 header.b=hNWFJc22 X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com [IPv6:2607:f8b0:4864:20::62f]) by sourceware.org (Postfix) with ESMTPS id 547634BA23D3 for ; Mon, 11 May 2026 05:11:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 547634BA23D3 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 547634BA23D3 Authentication-Results: sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62f ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1778476309; cv=none; b=FFXPxCvvMbujpEx4LTTXKwlkB5Kq+JPngYcJ6i/GD+aEmAG9EC/C+NHpE+oMSN76zQnJiX53oHKU15oLT2ACU8CRnXYrEu6rzmacb4BdIAHP2EysrqnFESElLYQgTkpluA721jnvaW7r1ngrz7Ra2BazG11bS2Kpt6AlU8JGCuo= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1778476309; c=relaxed/simple; bh=LGRX134e1ld7f6SusNQYxWxqnBYrezS2KZvulHjMUcU=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=lMygmH1S6Z7kgGsAJVC+/uR7bphYEXo0gDCSO7ZZ5xPdzPR70z2KCJlIsKj8w/1IpYvtk5ByKGcb6+QLEMf04CytGP81os74o+gaOosJYBmFNveIJCwrjFz15BhCTMlw+kzCCHHibYyhEhytwxXL0f3V9ti4Gah7oBkxS75SE3E= ARC-Authentication-Results: i=1; sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20251104 header.b=hNWFJc22 DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 547634BA23D3 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-2bc7b311e77so4470105ad.0 for ; Sun, 10 May 2026 22:11:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778476308; x=1779081108; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=y8B3Yoh2Opm7LlOlbzblM9nF8nashCiot1eaBmDdMAw=; b=hNWFJc22h4zEvYcGdVkx59k/TJLyXhXoerZWfmmujb96r8VntTeW2ymcVetGSk59v/ 3dGvlyZjNcHBUn1G1v+r4TGDsG1Z0+1Su3Q7rtWBMuoJY1aDE9+NtrmmtgfIv4JmF5Ps ZgwY9jEOSMqhXzn1W40wD3fGn4cDP7UdwcBzpIRcUwkU+n4HeAvh23x/+6qK/QiopC5F XXDD1+Y2rLJ+uzqKs3daKug7+zzLOENXDLdYUohP2gUlH7qEuWpUO2RrqbnpYLRA3Y9S U7p0RdpZxK1EEgBahLOIYPfLcETv8oPFCYHuEHWTpmFZGVMxMD3JsKoTYtmLFeYoJN8e K64w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778476308; x=1779081108; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=y8B3Yoh2Opm7LlOlbzblM9nF8nashCiot1eaBmDdMAw=; b=EYGdYYf/C3JTJ0vIAya+QFhoeRAaRkzcsujmocUJw0q3ulWu0IxEfyupj3u+iHnHD1 Gh7i3F9UVudiK//3ujR11koabIV8ivNKIb0o2I6+geJibgDNP5ljHHiv/fpMRZBDoBdT YUxk7iTtsrPHuLqgkoSdysq/93G4vHTamZOi5Prb3rvPv0VW47qfkiId2WuMqZuqHsXd tH1XlcFN4weWBymR/8JihYTwbsFeHWa6RlyAFgt3kY73nUyJuNEdUpKvCjgF7BpSl7Kz x8daegcHg4dDyyd6LmSCMKrke9aqGjy1Kn1MFeexXTXOImnE9sksUJSSVBzPkhlOOvEP LXKQ== X-Gm-Message-State: AOJu0Yw+hQKvcRjkk4l4BuNNrqfjabP1NoNQd31C+vNuTZLhJoRLbSTP VZ6v52dGANr/jSUWRMMvpVLdxCSA0c+ra7tuIH7nPHIlNFhvCHZ88LXZ749ASQ== X-Gm-Gg: Acq92OG9RWQ4Pd7ir6XUF5eN38gzvSuelyYuJQqt6I/1zAFullQx5kK1vSfRc+FWqku sK9OWWqkUgK00s90hsqTaFW5eu1VBuEP+1MRRHQPF7JGsnLO0sAF76CEtNi3nTX1VKF2OqwymGU iUFjOs5evPT34KNlXdhiYa/SjakByR8JaTY9uy/9HlcBEUisrTjmlFIUMRLjfDgw2tNIPmhTHw9 2yl57/AFKxn6sHXg4MBVoxbzfCb/+q4P+nPxiMHc0R2rVCD6EXerYGRAShwc5z1JcDAq0t9EHuZ dztb7rY9sg5zw0hFDYkeRiXCgkMLbanoqTPkisGpFPem7J+vXVaXw+oT29zFuIeUkvmIVDbn+yy Pw1Pwa2bABp9kqKQeRcBj93Z/K6BLkdxbFoeEs/TCbQiZXUva24pfRLdOS9Bleihxmrv3kgAAT7 2yQw+f5ZWwElqO0Xm9W3WfMwLV2FU4ryL9k69B X-Received: by 2002:a17:903:1d2:b0:2ae:5ab4:f4c0 with SMTP id d9443c01a7336-2babcbab873mr159940895ad.13.1778476308054; Sun, 10 May 2026 22:11:48 -0700 (PDT) Received: from squeak.grove.modra.org ([2406:3400:51d:8cc0:1195:f39d:dcd2:8fed]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2baf1d2709bsm93193495ad.5.2026.05.10.22.11.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 10 May 2026 22:11:47 -0700 (PDT) From: Alan Modra To: binutils@sourceware.org Subject: alpha: handle discarded got section Date: Mon, 11 May 2026 14:41:33 +0930 Message-ID: <15b821d8532c3e0c3d4c35f9f3f543684596e986.1778457849.git.amodra@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-3029.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_BLOCKED, 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 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 This fixes testsuite failures I noticed when changing dynobj to be linker created, but I think the bug could be triggered by suitably crafted linker scripts without any dynobj changes. * elf64-alpha.c (elf64_alpha_final_link): Don't attempt to write out a got section that has been discarded. diff --git a/bfd/elf64-alpha.c b/bfd/elf64-alpha.c index 0a63ca0bbdb..91cc7bcaec8 100644 --- a/bfd/elf64-alpha.c +++ b/bfd/elf64-alpha.c @@ -5248,28 +5248,28 @@ elf64_alpha_final_link (bfd *abfd, struct bfd_link_info *info) /* Now write out the computed sections. */ /* The .got subsections... */ - { - bfd *i, *dynobj = elf_hash_table(info)->dynobj; - for (i = htab->got_list; - i != NULL; - i = alpha_elf_tdata(i)->got_link_next) - { - asection *sgot; + bfd *i, *dynobj = elf_hash_table(info)->dynobj; + for (i = htab->got_list; + i != NULL; + i = alpha_elf_tdata(i)->got_link_next) + { + asection *sgot; - /* elf_bfd_final_link already did everything in dynobj. */ - if (i == dynobj) - continue; + /* elf_bfd_final_link already did everything in dynobj. */ + if (i == dynobj) + continue; - sgot = alpha_elf_tdata(i)->got; - if (! bfd_set_section_contents (abfd, sgot->output_section, + sgot = alpha_elf_tdata(i)->got; + if (sgot != NULL + && !bfd_is_abs_section (sgot->output_section) + && !bfd_set_section_contents (abfd, sgot->output_section, sgot->contents, (file_ptr) sgot->output_offset, sgot->size)) - return false; - } - } + return false; + } - if (mdebug_sec != (asection *) NULL) + if (mdebug_sec != NULL) { BFD_ASSERT (abfd->output_has_begun); if (! bfd_ecoff_write_accumulated_debug (mdebug_handle, abfd, &debug,