Mail Archives: cygwin/1998/03/11/21:45:23
Cygwin32 gurus,
Currently, the linker supplied with Cygwin32 b19 has 2 nasty bugs
- .rsrc section gets sorted to the end, after .stab and .stabstr, which
causes applications with resources to be invalid.
- .rdata$* gets sorted incorrectly. I've put in a workaround in the
egcs C++ front not to use .rdata$* (read-only data gets placed in
the text section now), so it's almost ok.
Ian Taylor has fixed both of these in new snapshots, and that's the
good news.
Here's the bad news. Cygwin32 b19 DLL uses a neat trick to avoid copying
certain data on fork -- uses .data$nocopy section. The new linkers correct
include these wildcard sections between __data_start__ and __data_end__,
but that breaks building cygwin32 dll with new linker (I'm using gas-980303,
and it's been like this for a while now).
The incorrect fix in cygwin32 b19 is to put .data$* after __data_end__,
but that's *WRONG* since it puts the C++ template data, which the front
end puts in .data$* sections, after __data_end__ as well, and forked
proces: doesn't get a copy!
I know that Ian's away for a bit, which is too bad. I'm hoping to make a
egcs release when 1.0.2 comes out next week, and I need to include the
latest binutils snapshot.
Comments from the knowledgable folks??
Regards,
Mumit
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request AT cygnus DOT com" with one line of text: "help".
- Raw text -