------- 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