------- Comment #4 from jakub at gcc dot gnu dot org  2007-01-26 13:47 -------
As a workaround, gcc could check for this in configure and if it detects the
bug,
override TARGET_ASM_SELECT_SECTION such that on Solaris with this bug
detected it would:
section *
solaris_elf_select_section (tree decl, int reloc,
                            unsigned HOST_WIDE_INT align)
{
#if HAVE_AS_TBSS_BUG
  if (TREE_CODE (decl) == VAR_DECL && DECL_THREAD_LOCAL_P (decl)
      && categorize_decl_for_section (decl, reloc, flag_pic) == SECCAT_TBSS)
    /* Solaris AS doesn't handle .tbss variables properly.  Use .tdata section.
 */
    return get_named_section (DECL_P (decl) ? decl : NULL, ".tdata", reloc);
#endif
  return default_elf_select_section_1 (decl, reloc, align, flag_pic);
}

and similarly with TARGET_ASM_UNIQUE_SECTION.


-- 


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

Reply via email to