delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-apps/2001/07/23/19:16:32

Mailing-List: contact cygwin-apps-help AT sourceware DOT cygnus DOT com; run by ezmlm
Sender: cygwin-apps-owner AT sourceware DOT cygnus DOT com
List-Subscribe: <mailto:cygwin-apps-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin-apps/>
List-Post: <mailto:cygwin-apps AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-apps-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/lists.html#faqs>
Delivered-To: mailing list cygwin-apps AT sources DOT redhat DOT com
From: "Ralf Habacker" <Ralf DOT Habacker AT freenet DOT de>
To: "Cygwin-Apps" <cygwin-apps AT cygwin DOT com>
Subject: RE:ld --auto-import for cygwin and libtool
Date: Tue, 24 Jul 2001 01:19:49 +0200
Message-ID: <001601c113cd$f80e6180$2c1406d5@BRAMSCHE>
MIME-Version: 1.0
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook 8.5, Build 4.71.2173.0
In-Reply-To: <001001c113b5$e295c900$2c1406d5@BRAMSCHE>
Importance: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400

 > On Mon, Jul 23, 2001 at 01:09:25PM -0400, Charles Wilson wrote:
> > >Earnie Boyd wrote:
> > >
> > >> Christopher Faylor wrote:
> > >>
> > >>>It's possible that I might be convinced to include Paul's
> > patches in the
> > >>>next binutils release if they are not incorporated into the official
> > >>>release.  However, I would rather use the official CVS release, if
> > >>>possible.
> > >>>
> > >>>
> > >>
> > >> Don't be too hastily convinced.  I believe there to be problems of
> > >> exporting too much in lots of cases.
> > >
> > >
> > >Are we talking about Paul's --export-all-symbols/filtering changes, or
> > >his auto-imports changes (Currently, both changes are commingled in a
> > >single patch.  I think.)
> >
> > Actually, I think that Paul submitted the --export-all-symbols patch to
> > binutils for approval, where it has languished for a while.
> >
> > He specifically did not include the auto-import stuff.  I don't remember
> > if the auto-import patch also included export-all-symbols but I don't
> > believe that the  converse is true.
> >
> In the binutils on which which Robert Collins has applied the auto-import
> patch,
> the --export-all-symbols switch is off. For compiling kde
> 1.1.2/kde 2 I have
> to
> set it, otherwise nothing will be exported.
>
> Relating to this switch I have found a problem on using static libs.
>
> The relating topic starts at
> http://sources.redhat.com/ml/cygwin/2001-07/msg01198.html
>
> For kde 2 I have written a dirty hack to avoid this (don't export any
> archive). This is no generic patch !!
>
> While thinking about how to solve this problem I recognized, that
> there have
> to be more
> ld switches to restrict exporting symbols.
>
> One proposal I think could be --export-whole-archive, which enables
> exporting all object files/archives
> beetwen it and --no-whole-archive or so.
>
I found just in a libtool distribution an option
called --export-symbols-regex,
which seems to be implemented by libtool. For me this could a good option
???

> What are you thinking about this ?
>
> Ralf
>
>
> ------------------------------------------------------------------
> ----------
> -------------
> pe-dll.c (line with ! are new)
>
> static int
> auto_export (abfd, d, n)
>      bfd *abfd;
>      def_file *d;
>      const char *n;
> {
>   int i;
>   struct exclude_list_struct *ex;
>
>   /* we should not re-export imported stuff */
>   if (strncmp (n, "_imp__",6) == 0)
>     return 0;
>
>   for (i = 0; i < d->num_exports; i++)
>     if (strcmp (d->exports[i].name, n) == 0)
>       return 0;
>   if (pe_dll_do_default_excludes)
>     {
>       /* First of all, make context checks:
>          Don't export anything from libgcc */
>
> 			if (pe_dll_gory_debug) printf("considering
> exporting: %s "
> 					"abfd=%x, abfd->my_arc=%x
> filename=%s\n",n,abfd,abfd->my_archive,abfd->
> filename);
>
>       if (abfd
>           && abfd->my_archive)
>         {
> 				if (pe_dll_gory_debug)
> printf("considering exporting: %s "
> 					"abfd=%x, abfd->my_arc=%x
> filename=%s\n",n,abfd,abfd->my_archive,abfd->
> my_archive->filename);
>
> !					/* don*'t export archives */
> !					if (link_info.shared &&
> strstr(abfd->my_archive->filename,".a")) {
> !						return 0;
> !					}
>           /* Do not specify suffix explicitly, to allow for
> dllized versions
> */
>           if (strstr(abfd->my_archive->filename,"libgcc.")) return 0;
>           if (strstr(abfd->my_archive->filename,"libstdc++.")) return 0;
>           if (strstr(abfd->my_archive->filename,"libmingw32.")) return 0;
>         }
>
>       {
>
>

- Raw text -


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