public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: David Edelsohn <dje.gcc@gmail.com>
To: Mike Stump <mikestump@comcast.net>
Cc: Ian Lance Taylor <iant@google.com>,
	gcc-patches@gcc.gnu.org, gcc@gcc.gnu.org
Subject: Re: PATCH RFA: Build stages 2 and 3 with C++
Date: Thu, 21 Jul 2011 06:57:00 -0000	[thread overview]
Message-ID: <CAGWvny=evG-zXmmPZ8CHHnqYp=-4VxBywhBs33CvwWV5Pdm4=w@mail.gmail.com> (raw)
In-Reply-To: <E12A2E77-B8D9-4F72-81CA-5ECCE1E2A316@comcast.net>

On Wed, Jul 20, 2011 at 4:53 PM, Mike Stump <mikestump@comcast.net> wrote:
> On Jul 20, 2011, at 1:25 PM, Ian Lance Taylor wrote:
>> Interesting.  I don't know why this doesn't happen on GNU/Linux.
>
> It doesn't happen as the symbols in question are local on linux.  collect2 runs nm on public symbols looking for symbols of a particular form, it then builds two lists, one for constructors of global objects (simplistic view) and one for destructors.  a.out systems liked doing this sort of things as well.  On more modern OSes, the constructors and destructors hook into crt code that can run per translation unit initializations, for example on elf, one might use .init to achieve this.  When one uses one of these more advanced features to hook into the OS, then the symbols no longer need to be public and the port is changed to make them non-public.

This is not the global constructor/destructor issue with names
generated by collect2.  But ELF or SVR4 is able to provide a unique
name without resorting to random numbers.

- David

  parent reply	other threads:[~2011-07-21  0:10 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-16  6:56 Ian Lance Taylor
2011-07-16  7:05 ` Andrew Pinski
2011-07-16  7:48   ` Ian Lance Taylor
2011-07-16  7:59     ` Basile Starynkevitch
2011-07-17  3:17       ` Ian Lance Taylor
2011-07-16 16:11 ` Diego Novillo
2011-07-16 22:58   ` Ian Lance Taylor
2011-07-17 10:36     ` Richard Guenther
2011-07-17 12:21       ` Eric Botcazou
2011-07-17 16:55         ` Richard Guenther
2011-07-17 17:55           ` Markus Trippelsdorf
2011-07-17 22:37             ` Markus Trippelsdorf
2011-09-04 17:20   ` Thomas Schwinge
2011-07-16 20:40 ` Toon Moene
2011-07-19 21:33 ` Ian Lance Taylor
2011-07-19 22:24   ` Gabriel Dos Reis
2011-07-20  0:46   ` H.J. Lu
2011-07-20  1:15     ` H.J. Lu
2011-07-20  6:28   ` David Edelsohn
2011-07-20  9:34     ` Jonathan Wakely
2011-07-20 11:02       ` Jonathan Wakely
2011-07-20 12:41         ` David Edelsohn
2011-07-20 12:48           ` Richard Guenther
2011-07-20 14:07             ` Diego Novillo
2011-07-20 14:34               ` Ian Lance Taylor
2011-07-20 15:35                 ` Jonathan Wakely
2011-07-20 15:06   ` Toon Moene
2011-07-20 15:23     ` Ian Lance Taylor
2011-07-20 15:53       ` David Edelsohn
2011-07-20 15:55         ` Ian Lance Taylor
2011-07-20 20:05           ` David Edelsohn
2011-07-20 20:53             ` Ian Lance Taylor
2011-07-20 21:06               ` Mike Stump
2011-07-21  0:10                 ` Ian Lance Taylor
2011-07-21  9:40                   ` Basile Starynkevitch
2011-07-21 16:06                     ` Ian Lance Taylor
2011-07-21 17:44                       ` Jakub Jelinek
2011-07-21 19:40                         ` Ian Lance Taylor
2011-07-21 20:12                           ` Basile Starynkevitch
2011-07-21 22:38                             ` Ian Lance Taylor
2011-07-21  6:57                 ` David Edelsohn [this message]
2011-07-21  7:25                   ` Eric Botcazou
2011-07-21 14:24               ` David Edelsohn
2011-07-20 17:58         ` Thomas Schwinge
2011-07-20 21:41     ` Toon Moene
2011-07-31 23:20 ` Marc Glisse
2011-08-01  9:14   ` Richard Guenther
2011-08-01  9:53     ` Joseph S. Myers
2011-08-01  9:59       ` Richard Guenther
2011-08-01 10:05       ` Marc Glisse
2011-08-08 17:42 ` Romain Geissler
2011-08-08 18:49   ` Ian Lance Taylor
2011-08-08 19:40     ` Romain Geissler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAGWvny=evG-zXmmPZ8CHHnqYp=-4VxBywhBs33CvwWV5Pdm4=w@mail.gmail.com' \
    --to=dje.gcc@gmail.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=gcc@gcc.gnu.org \
    --cc=iant@google.com \
    --cc=mikestump@comcast.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).