On Wed, Oct 15, 2014 at 06:18:56PM +0400, Ilya Verbin wrote: > On 14 Oct 11:40, Jakub Jelinek wrote: > > My preference would be to add the | SECTION_EXCLUDE unconditionally, and > > instead guard the > > if (flags & SECTION_EXCLUDE) > > *f++ = 'e'; > > in varasm.c (default_elf_asm_named_section). The only other user of > > SECTION_EXCLUDE seems to be -gsplit-dwarf right now, Cary, is such a change > > ok with you? > > Done. But it turned out that the gcc_GAS_CHECK_FEATURE from gcc/configure.ac: > > gcc_GAS_CHECK_FEATURE([.section with e], gcc_cv_as_section_has_e, [2,22,51],, > [.section foo1,"e" > .byte 0,0,0,0]) > > does not work properly. Maybe it works on "cygwin* | pe | mingw32* | > interix*" > targets, but on linux with GNU as version 2.20.51 (which doesn't support > exclude > sections) it successfully assembles conftest.s into conftest.o (with warnings) > and HAVE_GAS_SECTION_EXCLUDE becomes defined.
IMHO a version check is wrong (except when using in-tree gas). I'd suggest just to use [--fatal-warnings] as the 4th argument to gcc_GAS_CHECK_FEATURE feature, after all, that is what e.g. gcc_cv_as_shf_merge testing already uses. Jakub