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

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.

> Presumably the fix will be to use -frandom-seed.

But, the random seem was to ensure that things that should not collide, don't.  If you use 0, then things that should not collide, eventually will and your world with then end.  In the present code base, it is perfectly safe to do this.  If the codebase is ever extended to use C++ features, then, that code can break.

  reply	other threads:[~2011-07-20 20:53 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 [this message]
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
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=E12A2E77-B8D9-4F72-81CA-5ECCE1E2A316@comcast.net \
    --to=mikestump@comcast.net \
    --cc=dje.gcc@gmail.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=gcc@gcc.gnu.org \
    --cc=iant@google.com \
    /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).