This is the mail archive of the
cygwin@sourceware.cygnus.com
mailing list for the Cygwin project.
Re: Memory Violation With Windres and Shared Data Segments
- To: cygwin@sourceware.cygnus.com
- Subject: Re: Memory Violation With Windres and Shared Data Segments
- From: Mumit Khan <khan@xraylith.wisc.EDU>
- Date: Fri, 06 Aug 1999 09:55:30 -0500
- cc: Harold Weissfield <h_weissfield@hotmail.com>
Chris Faylor <cgf@cygnus.com> writes:
> On Fri, Aug 06, 1999 at 02:57:23PM +0000, Harold Weissfield wrote:
> >On a different note, I have been searching through the documentation for GCC
>
> >for information on how to created a shared data segment in a DLL, but so far
>
> >have been unable to come up with anything. Under Visual C++, this was done
> >with a #pragma comment(linker, "-section:Shared,rws") and then a #pragma
> >data_seg("Shared"). Is there any equivalent construct in GCC?
> I don't think that there is a way to do this currently with gcc/binutils tool
> s,
> unfortunately. I used to use Visual C tools to make a section sharable when
> I needed to do this.
You can create these named sections, but there is a bug the linker that
causes these sections to be readonly. I fixed this in the development
sources a while back, so the next release will work as expected. However,
I don't what the exact semantics of this "shared" segment is, but if it's
just a named section like .tls (thread local storage), then it should work
fine.
The construct is like this:
int foo __attribute__((section("shared"))) = 0;
now the *initialized* variable `foo' goes into a special section `shared';
the `shared' section should be marked r/w, but currently GNU binutils will
mark it readonly due to a tiny bug.
Regards,
Mumit
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com