public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
From: "John (Eljay) Love-Jensen" <eljay@adobe.com>
To: Andreas Leidig <leidig@fs.wettzell.de>,
	        "gcc-help@gcc.gnu.org" 	<gcc-help@gcc.gnu.org>
Subject: RE: gcc -D_GLIBCXX_FULLY_DYNAMIC_STRING
Date: Fri, 26 Feb 2010 19:40:00 -0000	[thread overview]
Message-ID: <4B7A6CC9992C4E4FB188D02872C90A6B134EC5@nambxv01a.corp.adobe.com> (raw)
In-Reply-To: <201002261330.22183.leidig@fs.wettzell.de>

Hi Andeas,

> -Do I have to configure gcc to use [ -D_GLIBCXX_FULLY_DYNAMIC_STRING ] option ?

Yes, if you are building your own OS.  (How?  See answer to next question below.)

I think it would be a bad idea otherwise.

As you have probably discovered already, you cannot "opt in" by specifying -D_GLIBCXX_FULLY_DYNAMIC_STRING on a per-compile basis.  As with all the GCC internal flags that start with _GLIB... they are platform specific and should not be modified lightly.

Everything needs to be compiled with that flag uniformly, including the GCC's Standard C++ library, and any other C++ library referenced.

I presume you are running into the situation where two libraries (or a library and an executable) have different notions about the empty string used in that optimization, and is causing an interaction where one is trying to free the static empty buffer from the other.  And then bad things happen.  The general solution to that problem is to make sure the empty string buffer is external link visible (i.e., visibility default, rather than visibility hidden) instead of package visible (i.e., visibility hidden).

> -if true, how to do this please ?

I think you need to configure GCC using --enable-fully-dynamic-string when building GCC for your custom OS.

HTH,
--Eljay

      reply	other threads:[~2010-02-26 12:52 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-26 19:33 Andreas Leidig
2010-02-26 19:40 ` John (Eljay) Love-Jensen [this message]

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=4B7A6CC9992C4E4FB188D02872C90A6B134EC5@nambxv01a.corp.adobe.com \
    --to=eljay@adobe.com \
    --cc=gcc-help@gcc.gnu.org \
    --cc=leidig@fs.wettzell.de \
    /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).