[Bug c++/85400] invalid Local Dynamic TLS relaxation for symbol defined in method

2019-05-22 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85400

Eric Botcazou  changed:

   What|Removed |Added

   Target Milestone|9.0 |8.4

[Bug c++/85400] invalid Local Dynamic TLS relaxation for symbol defined in method

2019-05-22 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85400

--- Comment #14 from Eric Botcazou  ---
Author: ebotcazou
Date: Wed May 22 07:42:52 2019
New Revision: 271502

URL: https://gcc.gnu.org/viewcvs?rev=271502=gcc=rev
Log:
c-family/
Backport from mainline
2018-05-10  Eric Botcazou  

PR c++/85400
* c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
cp/
Backport from mainline
2018-05-10  Eric Botcazou  

PR c++/85400
* decl2.c (adjust_var_decl_tls_model): New static function.
(comdat_linkage): Call it on a variable.
(maybe_make_one_only): Likewise.

Added:
branches/gcc-8-branch/gcc/testsuite/g++.dg/tls/pr85400.C
  - copied unchanged from r271501, trunk/gcc/testsuite/g++.dg/tls/pr85400.C
Modified:
branches/gcc-8-branch/gcc/c-family/ChangeLog
branches/gcc-8-branch/gcc/c-family/c-attribs.c
branches/gcc-8-branch/gcc/cp/ChangeLog
branches/gcc-8-branch/gcc/cp/decl2.c
branches/gcc-8-branch/gcc/testsuite/ChangeLog

[Bug c++/85400] invalid Local Dynamic TLS relaxation for symbol defined in method

2019-05-22 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85400

--- Comment #13 from Eric Botcazou  ---
(> Eric, can you please backport this patch to 8.4?

OK, testing the backport...

[Bug c++/85400] invalid Local Dynamic TLS relaxation for symbol defined in method

2019-05-21 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85400

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #12 from Jakub Jelinek  ---
Eric, can you please backport this patch to 8.4?
On x86_64-linux, it isn't a link failure, but as is mentioned in PR90562, the
incorrect LD model means the addresses of the thread_local variable inside of
inline function aren't the same in the same thread, but different shared
libraries.

[Bug c++/85400] invalid Local Dynamic TLS relaxation for symbol defined in method

2019-05-21 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85400

Jakub Jelinek  changed:

   What|Removed |Added

 CC||tudorb at gmail dot com

--- Comment #11 from Jakub Jelinek  ---
*** Bug 90562 has been marked as a duplicate of this bug. ***

[Bug c++/85400] invalid Local Dynamic TLS relaxation for symbol defined in method

2019-04-09 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85400

Marek Polacek  changed:

   What|Removed |Added

 CC||mpolacek at gcc dot gnu.org

--- Comment #10 from Marek Polacek  ---
Note that the pr85400.C test passes even if I revert the patch (on x86_64). 
Does the test really test the issue, or does it just not manifest on x86_64?

[Bug c++/85400] invalid Local Dynamic TLS relaxation for symbol defined in method

2019-04-04 Thread P at draigBrady dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85400

Pádraig Brady  changed:

   What|Removed |Added

 CC||P at draigBrady dot com

--- Comment #9 from Pádraig Brady  ---
Note this isn't sparc specific.

I've also seen this when compiling CGAL 4.11 where gcc produced
R_X86_64_DTPOFF32 relocations for thread_local vars which lld wasn't happy with
at least.
Applying this patch to 8.3.0 (on x86_64) fixed the issue.

Seems this should be considered for 8.x branch.

thanks

[Bug c++/85400] invalid Local Dynamic TLS relaxation for symbol defined in method

2018-06-11 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85400

Jakub Jelinek  changed:

   What|Removed |Added

 CC||rafael.espindola at gmail dot 
com

--- Comment #8 from Jakub Jelinek  ---
*** Bug 82906 has been marked as a duplicate of this bug. ***

[Bug c++/85400] invalid Local Dynamic TLS relaxation for symbol defined in method

2018-05-10 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85400

Eric Botcazou  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |9.0

--- Comment #7 from Eric Botcazou  ---
Fixed on the mainline.

[Bug c++/85400] invalid Local Dynamic TLS relaxation for symbol defined in method

2018-05-10 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85400

--- Comment #6 from Eric Botcazou  ---
Author: ebotcazou
Date: Thu May 10 07:36:38 2018
New Revision: 260106

URL: https://gcc.gnu.org/viewcvs?rev=260106=gcc=rev
Log:
PR c++/85400
cp/
* decl2.c (adjust_var_decl_tls_model): New static function.
(comdat_linkage): Call it on a variable.
(maybe_make_one_only): Likewise.
c-family/
* c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.

Added:
trunk/gcc/testsuite/g++.dg/tls/pr85400.C
Modified:
trunk/gcc/c-family/ChangeLog
trunk/gcc/c-family/c-attribs.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/decl2.c
trunk/gcc/testsuite/ChangeLog

[Bug c++/85400] invalid Local Dynamic TLS relaxation for symbol defined in method

2018-04-24 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85400

Eric Botcazou  changed:

   What|Removed |Added

   Keywords|wrong-code  |
  Component|target  |c++
Summary|R_SPARC_TLS_*: invalid  |invalid Local Dynamic TLS
   |relocations generated for   |relaxation for symbol
   |optimized builds on sparc   |defined in method

--- Comment #5 from Eric Botcazou  ---
This appears to be a bug in the C++ front-end.