This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Avoid privatization of TLS variables
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Markus Trippelsdorf <markus at trippelsdorf dot de>, ian at airs dot com
- Cc: Jan Hubicka <hubicka at ucw dot cz>, gcc-patches at gcc dot gnu dot org
- Date: Wed, 24 Sep 2014 20:18:36 +0200
- Subject: Re: Avoid privatization of TLS variables
- Authentication-results: sourceware.org; auth=none
- References: <20140920031617 dot GB2325 at kam dot mff dot cuni dot cz> <20140924175326 dot GE29454 at x4>
> On 2014.09.20 at 05:16 +0200, Jan Hubicka wrote:
> > Hi,
> > libreoffice fails to build with TLS because of "Cannot load any more object
> > with static TLS". Iant pointed out to me the difference that the initial exec
> > TLS model is also used by static TLS variables.
> >
> > This patch prevents turning TLS variables into static that lets me to finish
> > libreoffice build.
>
> This patch triggers an assert in gold:
>
> ~ % echo "int main () {}" | g++ -flto -fprofile-generate -x c++ -
> ld: internal error in relocate_tls, at/gold/x86_64.cc:3829
> collect2: error: ld returned 1 exit status
I saw this error, too, just not with such a simple testcase :)
Ian, I think this is bug in gold. What does the assert mean?
Honza
>
> ld.bfd works fine.
>
> --
> Markus