Bug 30303 - libglx.so does not export glapi_get_proc_address as public
Summary: libglx.so does not export glapi_get_proc_address as public
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/Ext/GLX (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Xorg Project Team
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-21 04:20 UTC by Peter Hjalmarsson
Modified: 2011-04-20 03:25 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Marking glapi_get_proc_address as PUBLIC (677 bytes, patch)
2010-09-21 04:20 UTC, Peter Hjalmarsson
no flags Details | Splinter Review

Description Peter Hjalmarsson 2010-09-21 04:20:51 UTC
Created attachment 38839 [details] [review]
Marking glapi_get_proc_address as PUBLIC

Currently libglx.so does not mark glapi_get_proc_address as PUBLIC and because of this, when having mesa compiled with -z,now or executing startx with LD_BIND_NOW=1 you will get the following error:


[ 24890.012] (EE) AIGLX error: dlopen of /usr/lib64/dri/nouveau_dri.so failed (/usr/lib64/dri/nouveau_dri.so: undefined symbol: _glapi_get_proc_address)
[ 24890.012] (EE) AIGLX: reverting to software rendering


Now with the attached patch this error disapperes, and nouveau_dri.so seems to load as it should.
Comment 1 Julien Cristau 2010-09-21 04:53:03 UTC
On Tue, Sep 21, 2010 at 04:20:51 -0700, bugzilla-daemon@freedesktop.org wrote:

> Currently libglx.so does not mark glapi_get_proc_address as PUBLIC and because
> of this, when having mesa compiled with -z,now or executing startx with
> LD_BIND_NOW=1 you will get the following error:
> 
This sounds like "it hurts when I shoot myself in the foot".
Comment 2 Peter Hjalmarsson 2010-09-21 07:40:03 UTC
(In reply to comment #1)
> This sounds like "it hurts when I shoot myself in the foot".

Oh, my foot is fine. At least it was with mesa classic drivers which worked fine,
however with Gallium3D-drivers this is confirmed with both for nouveau and radeon.
Oh, and the feetshooting is called hardened gentoo.
Comment 3 Peter Hjalmarsson 2010-09-24 11:46:58 UTC
I also forgot to ask: how can nouveau_dri.so or the radeon counterpart rely on and resolv glapi_get_proc_address unless it is public also when not using BIND_NOW?
Comment 4 Peter Hjalmarsson 2010-10-06 08:24:29 UTC
I maybe should mention that what I am trying to get done here is having the following change inside of mesa also exported to the xserver tree:

http://cgit.freedesktop.org/mesa/mesa/commit/?id=8d62eb45997a199e116661e26217b4d44fb9ba1e
Comment 5 Dillon 2011-03-16 13:34:31 UTC
Issue confirmed with i915
Comment 6 Peter Hjalmarsson 2011-04-20 03:25:18 UTC
This is actually fixed in master[1].

Yay for feets in the shooting gallery!:-)

[1] http://cgit.freedesktop.org/xorg/xserver/commit?id=17d9e374721d6c8ee3f7f9cdc882f80127bdb57f


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.