delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1998/05/02/05:39:09

From: ian AT cygnus DOT com (Ian Lance Taylor)
Subject: Re: ld and microsoft libraries
2 May 1998 05:39:09 -0700 :
Message-ID: <199805011808.OAA09033.cygnus.gnu-win32@subrogation.cygnus.com>
References: <199805011706 DOT KAA20208 AT pacific DOT pgroup DOT com>
To: lfm AT pgroup DOT com
Cc: gnu-win32 AT cygnus DOT com

   Date: Fri, 1 May 1998 10:06:41 -0700 (PDT)
   From: Larry Meadows <lfm AT pgroup DOT com>

   > I was not aware of that feature of comdat sections.  I thought comdat
   > sections mainly worked to eliminate duplicate sections, which the GNU
   > linker does support.  Does the MS linker really pull specific sections
   > out of an object file based on symbol references?  I don't see any
   > reference to that in the PE documentation, although that doesn't mean
   > it doesn't happen.  That would imply that the MS linker can treat an
   > object file like an archive.

   That is exactly what happens. If you're familiar with VMS, a similar thing
   went (goes?) on there. There's a magic switch to the compilers that puts
   each function into its own text section (and, I suppose, data section
   if that function has static data).

gcc has that option for functions: -ffunction-sections.  I don't know
if there is one for variables.

   Any ideas on implementation?

We have patches to add garbage collection to the linker which have not
been integrated into the main sources (but soon, I hope).  It sounds
like those might help address this problem in a different manner.

   Also, unfortunately, I can't send you the MS libraries. But I could send
   you a .obj that shows the issues.

It would help if you could send me source code, a .obj file, and a
..exe file, which show the Microsoft linker behaviour.  That will let
me look at the source code to see what is happening, and the .exe will
give me something to try to recreate with the GNU linker.

No promises on when this work would get done, of course.

Ian
-
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