bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/12920] New: TLS definition in /tmp/ccOmFuXQ.ltrans0.ltrans.o sec


From: ubizjak at gmail dot com
Subject: [Bug ld/12920] New: TLS definition in /tmp/ccOmFuXQ.ltrans0.ltrans.o section .tdata mismatches non-TLS definition in /tmp/ccmpmoGc.o.ironly section .text
Date: Wed, 22 Jun 2011 09:57:52 +0000

http://sourceware.org/bugzilla/show_bug.cgi?id=12920

           Summary: TLS definition in /tmp/ccOmFuXQ.ltrans0.ltrans.o
                    section .tdata mismatches non-TLS definition in
                    /tmp/ccmpmoGc.o.ironly  section .text
           Product: binutils
           Version: 2.21
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ld
        AssignedTo: address@hidden
        ReportedBy: address@hidden


Created attachment 5812
  --> http://sourceware.org/bugzilla/attachment.cgi?id=5812
assembly dumps from -save-temps compilation

A bunch of TLS test in gcc testsuite [1] fails on alphaev68-linux-gnu with:

~/gcc-build/gcc/xgcc -B ~/gcc-build/gcc/ -O2 -flto run-ie.c
/usr/lib/gcc/alpha-unknown-linux-gnu/4.4.5/../../../../alpha-unknown-linux-gnu/bin/ld:
tls_ie: TLS definition in /tmp/ccOmFuXQ.ltrans0.ltrans.o section .tdata
mismatches non-TLS definition in /tmp/ccmpmoGc.o.ironly section .text
/tmp/ccOmFuXQ.ltrans0.ltrans.o: could not read symbols: Bad value
collect2: error: ld returned 1 exit status

ld --version
GNU ld (GNU Binutils) 2.21
Copyright 2010 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.

--cut here--
/* { dg-do run } */
/* { dg-require-effective-target tls_runtime } */
/* { dg-add-options tls } */

extern void abort (void);

__thread int tls_ie __attribute__((tls_model("initial-exec"))) = 4;

int get_ie (void)
{
  return tls_ie;
}

int *get_iep (void)
{
  return &tls_ie;
}

int main (void)
{
  int val;

  val = get_ie ();
  if (val != 4)
    abort ();

  val = *get_iep ();
  if (val != 4)
    abort ();

  return 0;
}
--cut here--

Attached are two mentioned files from the -save-temps compilation. I can
provide more information on request.

[1] http://gcc.gnu.org/ml/gcc-testresults/2011-06/msg02533.html

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]