------- Comment #5 from davek at gcc dot gnu dot org  2009-09-30 14:10 -------
(In reply to comment #4)

> It uses GCC's emulated TLS support (don't support HP's TLS implementation).
> There were no libgomp failures prior to the change:
> http://gcc.gnu.org/ml/gcc-testresults/2009-09/msg02555.html

  Right, thank you.

> While I know that the change introduced the failures, I haven't tried
> reverting the change with the current head.
> 
> The same failures do not occur on the 32-bit hppa2.0w-hp-hpux11.11 target.
> It also uses GCC's emulated TLS support.  I would guess that this has
> something to do with hppa64-hp-hpux11.11 using dwarf debug support and
> hppa2.0w-hp-hpux11.11 using stabs.

  Hmm, that suggests a horrible workaround where we only copy the flags into
the rtl in the case of dwarf debug info:

Index: gcc/varasm.c
===================================================================
--- gcc/varasm.c        (revision 152317)
+++ gcc/varasm.c        (working copy)
@@ -6416,6 +6416,7 @@ default_encode_section_info (tree decl, rtx rtl, i
   if (targetm.binds_local_p (decl))
     flags |= SYMBOL_FLAG_LOCAL;
   if (TREE_CODE (decl) == VAR_DECL && DECL_THREAD_LOCAL_P (decl)
+      && (write_symbols == DWARF2_DEBUG || write_symbols ==
VMS_AND_DWARF2_DEBUG)
       && DECL_TLS_MODEL (decl) != TLS_MODEL_EMULATED)
     flags |= DECL_TLS_MODEL (decl) << SYMBOL_FLAG_TLS_SHIFT;
   else if (targetm.in_small_data_p (decl))


  Would anyone like to give that a try and see if it does the job?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41485

Reply via email to