Memory Violation With Windres and Shared Data Segments

Mumit Khan khan@xraylith.wisc.EDU
Tue Aug 31 23:49:00 GMT 1999

Chris Faylor <> 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

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.


Want to unsubscribe from this list?
Send a message to

More information about the Cygwin mailing list