Linkage order in Linux
Eirik Byrkjeflot Anonsen
eirik@opera.com
Thu Feb 11 14:06:00 GMT 2010
michael kapelko <kornerr@gmail.com> writes:
> Grepping for the function causing problem when -lGL is before -lHorde3D:
>
> kornerr@koren:/usr/local/lib$ nm libHorde3D.so | grep "glCreateShader"
> 0000000000377aa8 B glCreateShader
>
> According to man nm, the B means the symbol is in the uninitialized
> data section. May be that's the reason?
This may be your problem. If libGL also has a glCreateShader , horde3D
may be getting the wrong one. In particular, if libGL's glCreateShader
is a function (in the text section), horde3D will now probably treat
that function as a function pointer variable and dereference it
(probably trying to write the address of the glCreateShader function
into the glCreateShader variable.)
eirik
More information about the Binutils
mailing list