https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85621

            Bug ID: 85621
           Summary: savms/resms have executable stack (lack GNU-stack
                    marking)
           Product: gcc
           Version: 8.0.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libgcc
          Assignee: unassigned at gcc dot gnu.org
          Reporter: slyfox at inbox dot ru
  Target Milestone: ---

Detected by gentoo's scanelf when building gcc-8.0.1:

 * !WX --- --- usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/32/libgcc.a:avx_savms64.o
 * !WX --- --- usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/32/libgcc.a:avx_resms64.o
 * !WX --- --- usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/32/libgcc.a:avx_resms64x.o
 * !WX --- --- usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/32/libgcc.a:avx_savms64f.o
 * !WX --- --- usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/32/libgcc.a:avx_resms64f.o
 * !WX --- ---
usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/32/libgcc.a:avx_resms64fx.o
 * !WX --- --- usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/32/libgcc.a:sse_savms64.o
 * !WX --- --- usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/32/libgcc.a:sse_resms64.o
 * !WX --- --- usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/32/libgcc.a:sse_resms64x.o
 * !WX --- --- usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/32/libgcc.a:sse_savms64f.o
 * !WX --- --- usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/32/libgcc.a:sse_resms64f.o
 * !WX --- ---
usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/32/libgcc.a:sse_resms64fx.o
 * !WX --- --- usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/libgcc.a:avx_savms64.o
 * !WX --- --- usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/libgcc.a:avx_resms64.o
 * !WX --- --- usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/libgcc.a:avx_resms64x.o
 * !WX --- --- usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/libgcc.a:avx_savms64f.o
 * !WX --- --- usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/libgcc.a:avx_resms64f.o
 * !WX --- --- usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/libgcc.a:avx_resms64fx.o
 * !WX --- --- usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/libgcc.a:sse_savms64.o
 * !WX --- --- usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/libgcc.a:sse_resms64.o
 * !WX --- --- usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/libgcc.a:sse_resms64x.o
 * !WX --- --- usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/libgcc.a:sse_savms64f.o
 * !WX --- --- usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/libgcc.a:sse_resms64f.o
 * !WX --- --- usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/libgcc.a:sse_resms64fx.o

My guess is that libgcc/config/i386 files:
   resms64.h  resms64f.h  resms64fx.h  resms64x.h  savms64.h  savms64f.h
require something like:

#if defined(__ELF__) && defined(__linux__)
.section .note.GNU-stack,"",%progbits
.previous
#endif

Thanks!

Reply via email to