[cairo] .so PLT entries for local symbols

Carl Worth cworth at cworth.org
Tue Sep 5 17:17:13 PDT 2006

On Tue, 05 Sep 2006 13:43:21 -0700, Keith Packard wrote:
> On Tue, 2006-09-05 at 10:54 -0700, Carl Worth wrote:
> > We've had Richard Henderson's PLT bypassing "slim_hidden_proto"
> > implementation in cairo since July 2003 (9fecd258a68a915). Are you
> > proposing anything fundamentally different than that? The current
> > implementation can be seen here:
> Not technically no; I'm sorry I didn't understand precisely what that
> stuff did, but having checked the library with readelf to find many
> local PLT entries, I mistakenly assumed that it wasn't doing everything
> necessary.

Yes, his code was functional, but our usage of it had grown very stale
so it was very easy to mistake it for outright not working.

And thanks for pointing out elftools to me. With "eu-readelf -r" I was
able to find all of names of symbols which were either being exported
accidentally, (missing cairo_private or pixman_private), or had
undesired PLT entries (missing slim_hidden_def and slim_hidden_proto).

> So, the easy thing to do would be to fix the library so the right
> annotations were in place and things worked as expected;

That's done. I've now committed fixes so that the relinfo.pl[*] script
reports 0 local symbol PLT entries.

> a possible change would be to move to a scripted solution like I did for fontconfig
> where the symbols are automatically hidden and aliased; the latter could
> avoid depending on careful editing of files to preserve the desired
> properties. Alternatively, a 'distcheck' step that checked the .so for
> local PLT entries using readelf could be put in place.

I don't feel like adding an extra build script right now, since what
we have is working. For now I've added a new (manual) step to the
release process to verify that there are no local symbol PLT
entries. It would be nice to automate that a bit more, but I'm too
lazy to mess with that now.


[*] http://people.freedesktop.org/~keithp/relinfo.pl
cworth at redhat.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/cairo/attachments/20060905/62c58588/attachment.pgp

More information about the cairo mailing list