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

Reply via email to