delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1998/03/11/21:45:23

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: <Pine.SUN.3.93.980311113120.21967C-100000.cygnus.gnu-win32@modi.xraylith.wisc.edu>
Mime-Version: 1.0
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".

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019