From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com [IPv6:2607:f8b0:4864:20::62e]) by sourceware.org (Postfix) with ESMTPS id 57CEA38515D9 for ; Wed, 26 Jan 2022 13:27:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 57CEA38515D9 Received: by mail-pl1-x62e.google.com with SMTP id j16so11825704plx.4 for ; Wed, 26 Jan 2022 05:27:11 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=9lKbFA5c8nefhbpivLOunVRSuzQYtQF5VljFr1mIuag=; b=KVTElMV20PtckJOdlnYnrtsgAXu6NvOXnyRwAdMmpu2Fo0tPZ0u331cOU4vQyUSB3L IvtVznNWJRZ9qyCOy5eZHxUVCnzePAoxrjVQqTe/TN2QPGHJYVaBNqqXFOmgYlwutGD8 ku7IvlMoJ+BApcXF8mczd+e7e9e2PABJ6tzXZSx+RdB5QxtceOaaEio2gZFRKsOg3SQ0 ENyS6FBV2ABzB8i5xlv+jY/kAjW6Yy/mx9E7+/Y1hf9YvEBULc+uj3F486R0jNo0t3Nd u7lRZlzV7Hxwl0jFiAVmK6Aau1t5TciDZ5JbZewOmeBSr9xzBtWn4pIlx4sfpn3QVXyy Q5ew== X-Gm-Message-State: AOAM532zFszaolTF4OPte7LMX/qB3u8li6TutkE4N5DmIN0uxncLaW6z MswnXw+cCL5Ps93Y1r2zfKVsjMGhkiQKJCsCMyHzmQICAfw= X-Google-Smtp-Source: ABdhPJy2tWk45+y+IPIFqllJjLyqlTrxDAAGqVq6C8ZqBofO3FowW8TodstVilO54fT0hUa5aeWgXEGDAueyWYSo0Oo= X-Received: by 2002:a17:90b:4f83:: with SMTP id qe3mr8717720pjb.120.1643203630397; Wed, 26 Jan 2022 05:27:10 -0800 (PST) MIME-Version: 1.0 References: <20220126001953.652545-1-hjl.tools@gmail.com> In-Reply-To: From: "H.J. Lu" Date: Wed, 26 Jan 2022 05:26:34 -0800 Message-ID: Subject: Re: [PATCH] elf: Don't set VER_FLG_WEAK To: Alan Modra , Florian Weimer Cc: Binutils Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-3027.4 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.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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-List-Received-Date: Wed, 26 Jan 2022 13:27:13 -0000 On Tue, Jan 25, 2022 at 7:07 PM Alan Modra wrote: > > On Tue, Jan 25, 2022 at 04:19:53PM -0800, H.J. Lu via Binutils wrote: > > On Solaris, VER_FLG_WEAK indicates a weak version definition with no > > symbols associated with it. It is used to verify the existence of a > > particular implementation without any symbol references to the weak > > version. Don't set VER_FLG_WEAK since it is unused in binutils. > > Can you tell me why the presence of this flag is bad? I don't see it > affecting anything in binutils or glibc. VER_FLG_WEAK in version refs > does affect resolution of symbol, but I can't see how a VER_FLG_WEAK > in a version def can transfer over to a ref if the def is unused. Florian, can you share the reason why Linux doesn't want VER_FLG_WEAK on the empty version? Thanks. > > PR ld/28814 > > * elflink.c (bfd_elf_size_dynamic_sections): Don't set > > VER_FLG_WEAK. > > --- > > bfd/elflink.c | 4 ---- > > 1 file changed, 4 deletions(-) > > > > diff --git a/bfd/elflink.c b/bfd/elflink.c > > index 2677561478d..ffb4506958f 100644 > > --- a/bfd/elflink.c > > +++ b/bfd/elflink.c > > @@ -6921,10 +6921,6 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd, > > > > def.vd_version = VER_DEF_CURRENT; > > def.vd_flags = 0; > > - if (t->globals.list == NULL > > - && t->locals.list == NULL > > - && ! t->used) > > - def.vd_flags |= VER_FLG_WEAK; > > def.vd_ndx = t->vernum + (info->create_default_symver ? 2 : 1); > > def.vd_cnt = cdeps + 1; > > def.vd_hash = bfd_elf_hash (t->name); > > -- > > 2.34.1 > > -- > Alan Modra > Australia Development Lab, IBM -- H.J.