From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-il1-x144.google.com (mail-il1-x144.google.com [IPv6:2607:f8b0:4864:20::144]) by sourceware.org (Postfix) with ESMTPS id 71464385C019 for ; Tue, 7 Apr 2020 12:49:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 71464385C019 Received: by mail-il1-x144.google.com with SMTP id t6so3009066ilj.8 for ; Tue, 07 Apr 2020 05:49:55 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=zB/EIfkNYVlG+UYxxMPOqyy94ogumLzSUvaOZcgVQOg=; b=HUBf9Fx48413FwI9NfWml3NBmyVBDsoiGtMauyzebKsDX8AK1QZwxFhtAtI9/pK3Qh 97TolCeGpoz+GztPbz9CqGglg1ptymsblYLz2Hlox1yQ/6rJLXgEXAWHd0hu040xH8Il wNENtGkZk9MkXSVRVB+81VasTdzCaPgr0dh2fQA54q/riQqyYB5022bvSpWSGrp7Ls9L j35sktcO8sDW5KaBtFuINgSSMkLF3/3wiloNOTzXmTLuFXWX6vrUXQXp+3S7jJH8Y+eo cIxKWw1mIr9eikP2b0089AsZqK/xtmXx4XJoO2bfdi6PgGyvNMe9ur29XByC9UmbzR5F G0BA== X-Gm-Message-State: AGi0PuYBv6s24br1vFQRxiZTVhQZXSPGoGZVkekcpIMuEiMPMFdxU/am ifAPYN3bcdqh6R6iTPmDbx4rtY+iD6Vr1Q+j6TdFKg2S X-Google-Smtp-Source: APiQypJC3nNKBP+F1rB6x1QIsZRXb3b2LXQGrltpxu5s1M42b1tA/gplWQKeWBl7/YN8dG5titqZC0zURIOOFcVEuFg= X-Received: by 2002:a92:8710:: with SMTP id m16mr2216725ild.151.1586263794993; Tue, 07 Apr 2020 05:49:54 -0700 (PDT) MIME-Version: 1.0 References: <20200407121048.265065-1-hjl.tools@gmail.com> <87zhbnxybk.fsf@igel.home> In-Reply-To: <87zhbnxybk.fsf@igel.home> From: "H.J. Lu" Date: Tue, 7 Apr 2020 05:49:19 -0700 Message-ID: Subject: Re: [PATCH] gas: Extend .symver directive To: Andreas Schwab Cc: "H.J. Lu via Binutils" Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-6.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) 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: Tue, 07 Apr 2020 12:49:56 -0000 On Tue, Apr 7, 2020 at 5:41 AM Andreas Schwab wrote: > > On Apr 07 2020, H.J. Lu via Binutils wrote: > > > @@ -7112,9 +7112,9 @@ shared library. > > > > For ELF targets, the @code{.symver} directive can be used like this: > > @smallexample > > -.symver @var{name}, @var{name2@@nodename} > > +.symver @var{name}, @var{name2@@nodename}[ ,@var{visibility}] > > @end smallexample > > -If the symbol @var{name} is defined within the file > > +If the original symbol @var{name} is defined within the file > > being assembled, the @code{.symver} directive effectively creates a symbol > > alias with the name @var{name2@@nodename}, and in fact the main reason that we > > just don't try and create a regular alias is that the @var{@@} character isn't > > @@ -7127,7 +7127,14 @@ function is being mentioned. The @var{nodename} portion of the alias should be > > the name of a node specified in the version script supplied to the linker when > > building a shared library. If you are attempting to override a versioned > > symbol from a shared library, then @var{nodename} should correspond to the > > -nodename of the symbol you are trying to override. > > +nodename of the symbol you are trying to override. The optional > argument > > > +@var{visibility} updates visibility of the original symbol. The valid > the > > > +visibilities are @code{local}, @code {hidden}, and @code {remove}. > > +@code{local} makes the original symbol a local symbol (@pxref{Local}). > > +@code{hidden} sets the visibility of the original symbol to > > +@code{hidden} (@pxref{Hidden}). @code{remove} removes the original > > A sentence should always start with a capitalized word, please reword. How about this? The optional argument VISIBILITY updates the visibility of the original symbol. The valid visibilities are 'local', 'hidden', and 'remove'. The 'local' visibility makes the original symbol a local symbol (*note Local::). The 'hidden' visibility sets the visibility of the original symbol to 'hidden' (*note Hidden::). The 'remove' visibility removes the original symbol from the symbol table. If visibility isn't specified, the original symbol is unchanged. -- H.J.