openmotif, .rdata, shared libs and runtime linking/loading problem
Eric Blake
ebb9@byu.net
Wed Aug 16 12:56:00 GMT 2006
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
According to Avi Cohen Stuart on 8/15/2006 2:34 PM:
> Hi,
>
> Please let me know if this is the correct newsgroup.
Actually, it is officially a mailing list (in spite of the fact that there
are some newsgroup frontends that people have created on the web).
>
> When using windbg it reports a access violation here, apperantly during the
> resolving of shared libaries.
The cygwin and libtool archives document an issue where exporting a
library variable can cause problems, because initializing a const pointer
variable with its address will cause the const variable to live .rodata
but need a dynamic adjustment when the library is loaded; hence a SIGSEGV.
I'm not fully sure of the details (so I hope I described the windows .dll
limitation correctly), but it sounds like you may have run into this
issue. Perhaps you can find the place that takes the address of a library
variable and make that pointer non-const (so it won't be in .rodata). A
more generic solution is to NEVER export variables in libraries, only
accessor functions.
- --
Life is short - so eat dessert first!
Eric Blake ebb9@byu.net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.1 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFE4xU684KuGfSFAYARArcVAJ4jXJa9EtxR3bIEgTn0gSps8p/YdgCfcV0y
5VRmydPURuC+A9VoikcLjPc=
=799z
-----END PGP SIGNATURE-----
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
More information about the Cygwin
mailing list