From patchwork Sun Nov 30 03:48:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Modra X-Patchwork-Id: 125615 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 79A504209CF6 for ; Sun, 30 Nov 2025 03:48:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 79A504209CF6 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=F4Ltvzyz X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) by sourceware.org (Postfix) with ESMTPS id 30FE948EE9D5 for ; Sun, 30 Nov 2025 03:48:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 30FE948EE9D5 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 30FE948EE9D5 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=209.85.214.179 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1764474501; cv=none; b=Ni7eUX0exmamDSEdoIaV/vvWPfvIjKCakKEzXocItp0IIGharokiTa+A1FhwtLQfiVUBu65VktDzqx8Nz7kvWhJOa41ewIAgmOzpicl01PF7tcJT7Mm0aRtNBH4VrfGQVQh1dc0bEuj1nq7Azbo7A2KYn4wnkiac6qpSLQYBd6I= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1764474501; c=relaxed/simple; bh=P9PVePyy9GWYSGe+7kx1JIZTVRmhJ4ACa3sJctyLDfo=; h=DKIM-Signature:Date:From:To:Subject:Message-ID:MIME-Version; b=jEDf1gIReaWt7wZcc9MlYkQ9dD1YLU+tl7Ba7hrkgfu2wp7fpXCWZwt0f3vykqV5rd833ElAMarY202/frYE5Q80mINAbWaW1O3lAkxY4OBEz2C2nMqeWbArAMeuI5mB+3MMn8a5hlUDso9N7vaD7kjG2RVpLdMsOSs78eteM6c= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 30FE948EE9D5 Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-29555b384acso34934115ad.1 for ; Sat, 29 Nov 2025 19:48:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1764474500; x=1765079300; darn=sourceware.org; h=content-disposition:mime-version:message-id:subject:to:from:date :from:to:cc:subject:date:message-id:reply-to; bh=5LhPmYR7rISO2HNj6R4CO3Rp0qnbN8zuo83RQAuvtjQ=; b=F4Ltvzyz2hE9IGWhOGNLvHDwcRJJC8Rl9MTWYgjIPmh/9WdrsLUNKu1L+nfM6bGV5E aeP9HP14MYavCvYdQ3ZAhIC+K6m8eFlnJcSdA2qW93xxlB4T3/oN+LnEMEr7iIrYljiN nRQbPR9RId32BKKW/94GC2JdC4q4NBMkb7ippjXyaPMe6AdSWRnTurGxda1q9rK5oHln jrd+vVgDBjRG9Hc+6Y8FA47zQpk2QQYxPN9/ClDMb7I4Ycqwk3pU7lMW2OHICmNLb3jr AupN8fWLhcvidKEpNte1CK5P83UVuRQUq0XweWnZKTQPEq68kmcS2qE8tik/jMLfP836 4Qjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764474500; x=1765079300; h=content-disposition:mime-version:message-id:subject:to:from:date :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=5LhPmYR7rISO2HNj6R4CO3Rp0qnbN8zuo83RQAuvtjQ=; b=vg16huuj96Xu7ZLuv+tfl/jdWI0MD+G7vvXumHw+OxA95aiEhQx646WChotlkoOCLL f9pkF6wB3EMo/xhA6OB20rWNiqbuRiYL9bMe4AQn+wzL1D6+KIt4+vCUKrX2kk/2ZxmD ZSE3sVztCMrBhAMWYZwqDE65LdFKhz93iysc2WnCisOMGvx+xCSopj8JeuciYqRlZUK9 2l3ksVfAn+eFQSQ6uumeX3dXvmGo90zwtjPaxmjbmCqvIn7GhdAdcoPLwXjNv8pX0lix wcma8g+bfD0gbM6l7XY3wAQOPz01cK4EfmLKNhDT+LnrjE8plcPQatD3hrCB2mePFLPx n9Uw== X-Gm-Message-State: AOJu0Yy7eFYTzhnI+uB9KoV6wX6KwKDSwZhFz3GGv4IUbSqh1w0i7/8T o5NtesMnNQsBuQQT55yG+20zKmKPLN73iHrkhO8YN8RBqSd7nob8Ywv8pMfUEw== X-Gm-Gg: ASbGncuj3hXtpy8m6a1a5IhNbR/vd4HOX8MvEY+UGTEn5Q/sbSGvdhHT5fG8cx1Lu55 pH69jGYzHd3aOusPAYEvnhkC9JUWke81uWdVPjVrYIrLh98BDuNXXY0+gK6MqYetk7I4tsV7Q6s AiCUGtqhvPDUB4VcMba8x1NIIxbMgH4wTw7O85ZbmYZjiq99hyZMzwS9/k3OeCCOBmxKQwAq6gM svC5hagB/4Q9i2JJMRCrIDo7M+FyfukRX5AeGxshATE0O5q63VT1DBwpjVWy4ZvH410bnkSf/ST Y9hpWFzj1mnr4UBCuxyIbq5Rf8pbGudBNl8J0GuZaGauX4kzz0Q4/Ona5GjN6GX8j+wfoycaBHG IXc/9ScebBOpbQ+RNXtx4Aj33tFejQmUmpNj7q3V+qI8F+h0W0G0rzSLoLChra7jA0705FzyvFh Q2c1uDhofu4H5T1sefVUo/kuA= X-Google-Smtp-Source: AGHT+IEx2503J6DPFRlIfs4fClbe/Oam7AUGTasnGYlu2P+H0rXsHxMzSj0NE4Osam92ZUCA+sliYg== X-Received: by 2002:a17:903:320a:b0:297:ec1a:9db8 with SMTP id d9443c01a7336-29b6c6a88c7mr361331535ad.49.1764474499796; Sat, 29 Nov 2025 19:48:19 -0800 (PST) Received: from squeak.grove.modra.org ([2406:3400:51d:8cc0:6499:7488:1ebf:c162]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-29bce40b993sm86870575ad.14.2025.11.29.19.48.19 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Nov 2025 19:48:19 -0800 (PST) Received: by squeak.grove.modra.org (Postfix, from userid 1000) id 108B91140F50; Sun, 30 Nov 2025 14:18:17 +1030 (ACDT) Date: Sun, 30 Nov 2025 14:18:17 +1030 From: Alan Modra To: binutils@sourceware.org Subject: ELF symbol version output cleanup Message-ID: MIME-Version: 1.0 Content-Disposition: inline X-Spam-Status: No, score=-3029.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, KAM_STOCKGEN, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_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 * elflink.c (elf_link_output_extsym): Localise code setting VERSYM_HIDDEN to previous branch of "if" where def_regular might be true. Delete noversion. Set vs_vers to zero instead. diff --git a/bfd/elflink.c b/bfd/elflink.c index 7a5f54b926f..adc21d7d821 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -11138,7 +11138,6 @@ elf_link_output_extsym (struct bfd_hash_entry *bh, void *data) { Elf_Internal_Versym iversym; Elf_External_Versym *eversym; - bool noversion = false; if (!h->def_regular && !ELF_COMMON_DEF_P (h)) { @@ -11150,7 +11149,7 @@ elf_link_output_extsym (struct bfd_hash_entry *bh, void *data) if (strchr (h->root.root.string, ELF_VER_CHR) == NULL) /* Referenced symbol without ELF_VER_CHR has no version. */ - noversion = true; + iversym.vs_vers = 0; } else iversym.vs_vers = h->verinfo.verdef->vd_exp_refno + 1; @@ -11163,22 +11162,16 @@ elf_link_output_extsym (struct bfd_hash_entry *bh, void *data) iversym.vs_vers = h->verinfo.vertree->vernum + 1; if (flinfo->info->create_default_symver) iversym.vs_vers++; - } - /* Don't set its DT_VERSYM entry for unversioned symbol. */ - if (!noversion) - { /* Turn on VERSYM_HIDDEN only if the hidden versioned symbol is defined locally. */ if (h->versioned == versioned_hidden && h->def_regular) iversym.vs_vers |= VERSYM_HIDDEN; - - eversym - = (Elf_External_Versym *) flinfo->symver_sec->contents; - eversym += h->dynindx; - _bfd_elf_swap_versym_out (flinfo->output_bfd, &iversym, - eversym); } + + eversym = (Elf_External_Versym *) flinfo->symver_sec->contents; + eversym += h->dynindx; + _bfd_elf_swap_versym_out (flinfo->output_bfd, &iversym, eversym); } }