From: khan AT xraylith DOT wisc DOT edu (Mumit Khan) Subject: comments on cygwin32 b19 ld problems 11 Mar 1998 21:45:23 -0800 Message-ID: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII To: gnu-win32 AT cygnus DOT com Cc: cgf AT bbc DOT com, jeffdb AT netzone DOT com, ian AT cygnus DOT com, noer AT cygnus DOT com, sos AT prospect DOT com DOT ru, khan AT xraylith DOT wisc DOT edu 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".