All of lore.kernel.org
 help / color / mirror / Atom feed
From: Florian Weimer <fweimer-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: "Michael Kerrisk (man-pages)"
	<mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	"libc-alpha-9JcytcrH/bA+uJoB2kUjGw@public.gmane.org"
	<libc-alpha-9JcytcrH/bA+uJoB2kUjGw@public.gmane.org>
Cc: linux-man <linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Siddhesh Poyarekar
	<siddhesh-9JcytcrH/bA+uJoB2kUjGw@public.gmane.org>,
	Carlos O'Donell <carlos-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	Rich Felker <dalias-/miJ2pyFWUyWIDz0JBNUog@public.gmane.org>,
	"H.J. Lu" <hjl.tools-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: Re: Documenting the (dynamic) linking rules for symbol versioning
Date: Fri, 28 Apr 2017 16:19:28 +0200	[thread overview]
Message-ID: <99f89c1c-86e4-2415-37d5-865a5ba81da2@redhat.com> (raw)
In-Reply-To: <0409f767-3ae3-48f0-4836-8694361c755c-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

On 04/20/2017 04:07 PM, Michael Kerrisk (man-pages) wrote:

> Suppose we have a version script:
> 
> [[
> VER_1 {
>      global: xyz;
>      local: *;
> };
> 
> VER_2 {
>      ...
> } VER_1;
> 
> VER_3 {
>      ...
> } VER_2;
> ]]
> 
> And we have a C file that defines xyz@VER_1, xyz@VER_2, and xyz@VER_3.
> 
> Now suppose that we want to add a VER_4 tag to the map, and a new
> function, abc(), to our C source file (so that we will end up with
> a symbol abc@VER_4).
> 
> Suppose also that in programs that link against the new library (built
> with the VER_4 map), we want the symbol xyz() to no longer be accessible
> to ld(1). There appears  to be two ways to do this:
> 
> * Don't define an xyz@VER_4 (or, of course, xyz@@VER_4) in our
>    C source file.
> * Define an xyz@VER_4.

Okay, I think I'm getting our misunderstanding now.

If xyz was previously part of the public API, then one of the versions 
xyz@VER_1, xyz@VER2, xyz@VER_3 must have been a default version, so 
probably xyz@@VER_3.

If I understand you correctly, you want to remove xyz from the API.  So 
we need to get rid of the default version.  In this case, I think most 
people just use a .symver directive with a non-default versions, in this 
example xyz@VER_3.  This overrides the version script as far as this 
particular symbol is concerned.

There is no need to introduce VER_4 for this symbol, default or not.

Does this clarify matters?

Thanks,
Florian
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2017-04-28 14:19 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-19 15:07 Documenting the (dynamic) linking rules for symbol versioning Michael Kerrisk (man-pages)
     [not found] ` <b3a962de-6703-d8b9-18f7-138185171475-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-04-19 15:48   ` Florian Weimer
     [not found]     ` <ee5e8057-7afa-c919-8ccb-9c8e6d0833c4-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-04-19 19:49       ` Michael Kerrisk (man-pages)
     [not found]         ` <517c3e75-93b5-0762-d6a4-7a17d196654e-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-04-20  8:49           ` Florian Weimer
     [not found]             ` <3edb27c6-c9b6-df95-3810-a8b5abc740fb-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-04-20 11:45               ` Michael Kerrisk (man-pages)
2017-04-20 13:17                 ` Florian Weimer
2017-04-20 14:07                   ` Michael Kerrisk (man-pages)
     [not found]                     ` <0409f767-3ae3-48f0-4836-8694361c755c-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-04-28 14:19                       ` Florian Weimer [this message]
2017-05-01 18:34                         ` Michael Kerrisk (man-pages)
2017-04-20  6:05   ` Siddhesh Poyarekar
     [not found]     ` <22f26755-f7f0-898a-ac74-3f6df92a22d7-9JcytcrH/bA+uJoB2kUjGw@public.gmane.org>
2017-04-20 12:40       ` Michael Kerrisk (man-pages)
2017-04-20 12:58         ` Siddhesh Poyarekar
     [not found]           ` <eb5bea0c-1f54-1b20-dc78-999160738ed3-9JcytcrH/bA+uJoB2kUjGw@public.gmane.org>
2017-04-20 13:01             ` Florian Weimer
2017-04-20 13:15               ` Siddhesh Poyarekar
     [not found]                 ` <c31e55fb-25af-bfe9-09db-83e622ec5e3f-9JcytcrH/bA+uJoB2kUjGw@public.gmane.org>
2017-04-20 13:45                   ` Florian Weimer
     [not found]                     ` <89907506-fddb-2429-7e18-b00b8a560070-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-04-20 14:09                       ` Michael Kerrisk (man-pages)
     [not found]                         ` <c1b5fd84-22ec-56de-b169-502d8072d188-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-04-20 14:35                           ` Michael Kerrisk (man-pages)
2017-05-05 14:10                           ` Florian Weimer
2017-04-26 19:57   ` Torvald Riegel
2017-05-05 19:51   ` Carlos O'Donell
     [not found]     ` <66c61101-f44f-2bbb-5ed2-b43c5d764e76-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-05-13 12:10       ` Michael Kerrisk (man-pages)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=99f89c1c-86e4-2415-37d5-865a5ba81da2@redhat.com \
    --to=fweimer-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
    --cc=carlos-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=dalias-/miJ2pyFWUyWIDz0JBNUog@public.gmane.org \
    --cc=hjl.tools-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=libc-alpha-9JcytcrH/bA+uJoB2kUjGw@public.gmane.org \
    --cc=linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=siddhesh-9JcytcrH/bA+uJoB2kUjGw@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.