This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: openmotif, .rdata, shared libs and runtime linking/loading problem
- From: Eric Blake <ebb9 at byu dot net>
- To: cygwin at cygwin dot com, avi dot cohenstuart at ssaglobal dot com
- Date: Wed, 16 Aug 2006 06:53:15 -0600
- Subject: Re: openmotif, .rdata, shared libs and runtime linking/loading problem
- References: <ebtb3s$l2a$1@sea.gmane.org>
-----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/