public inbox for libc-help@sourceware.org
 help / color / mirror / Atom feed
From: Joseph Myers <joseph@codesourcery.com>
To: Lukasz Majewski <lukma@denx.de>
Cc: <libc-help@sourceware.org>, Florian Weimer <fweimer@redhat.com>,
	Adhemerval Zanella <adhemerval.zanella@linaro.org>
Subject: Re: Question regarding __clock_gettime symbol visibility across glibc build
Date: Mon, 23 Mar 2020 21:57:52 +0000	[thread overview]
Message-ID: <alpine.DEB.2.21.2003232154040.13609@digraph.polyomino.org.uk> (raw)
In-Reply-To: <20200321080040.7ac91d19@jawa>

On Sat, 21 Mar 2020, Lukasz Majewski wrote:

> > /work/lukma/glibc/glibc-many-build/src/glibc/malloc/memusage.c:181:
> > undefined reference to `__clock_gettime64'

I.e. __clock_gettime64 is not exported at any symbol version in the 
dynamic symbol table of libc.so.

Any symbol defined in libc.so and used in another glibc shared library or 
executable needs to be exported at some symbol version in some Versions 
file.  In the case of symbols for 64-bit time, it should be exported at 
version GLIBC_PRIVATE until we're ready to support _TIME_BITS=64 in the 
headers, at which point all such symbols should be exported at the version 
of the next glibc release and be removed from GLIBC_PRIVATE if there.

> > nm
> > ./work/glibc/glibc-many-build/build/glibcs/arm-linux-gnueabi/glibc/libc.so
> > | grep clock_gettime

nm uses the static symbol table by default.  You need nm -D, objdump -T 
(shows symbol versions as well) or readelf --dyn-syms to look at the 
dynamic symbol table.

-- 
Joseph S. Myers
joseph@codesourcery.com

  reply	other threads:[~2020-03-23 21:57 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-17  7:47 Lukasz Majewski
2020-03-17  8:34 ` Florian Weimer
2020-03-17  8:51   ` Lukasz Majewski
2020-03-21  7:00 ` Lukasz Majewski
2020-03-23 21:57   ` Joseph Myers [this message]
2020-03-23 22:14     ` Lukasz Majewski

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=alpine.DEB.2.21.2003232154040.13609@digraph.polyomino.org.uk \
    --to=joseph@codesourcery.com \
    --cc=adhemerval.zanella@linaro.org \
    --cc=fweimer@redhat.com \
    --cc=libc-help@sourceware.org \
    --cc=lukma@denx.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).