<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - GCC memory starvation caused by flatten attribute with LTO"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=77580#c11">Comment # 11</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - GCC memory starvation caused by flatten attribute with LTO"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=77580">bug 77580</a>
              from <span class="vcard"><a class="email" href="mailto:marxin.liska@gmail.com" title="Martin Liška <marxin.liska@gmail.com>"> <span class="fn">Martin Liška</span></a>
</span></b>
        <pre>(In reply to main.haarp from <a href="show_bug.cgi?id=77580#c10">comment #10</a>)
<span class="quote">> Created <span class=""><a href="attachment.cgi?id=125281" name="attach_125281" title="pre-processed sources">attachment 125281</a> <a href="attachment.cgi?id=125281&action=edit" title="pre-processed sources">[details]</a></span>
> pre-processed sources

> (In reply to Martin Liška from <a href="show_bug.cgi?id=77580#c7">comment #7</a>)
> > I can confirm that the attached patch helps to build the project with LTO
> > enabled. I tried both 5.3.1 and latest trunk (7.0.0) and both work fine.
> > 
> > Can you please attach pre-processed source code for the issue:
> > /usr/include/bits/string3.h:50:1: error: inlining failed in call to
> > always_inline ‘memcpy’: target specific option mismatch
> > 
> > and also command line arguments for GCC.
> > 
> > Thanks

> Here are the command line arguments and the full error log.

> -------------------------

> gcc-5.4.0 -DHAVE_CONFIG_H -I.
> -I/var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-
> 9999/src/sna -I../.. -Wall -Wpointer-arith -Wmissing-declarations -Wformat=2
> -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs
> -Wbad-function-cast -Wold-style-definition -Wdeclaration-after-statement
> -Wunused -Wuninitialized -Wshadow -Wmissing-noreturn
> -Wmissing-format-attribute -Wredundant-decls -Wlogical-op -Werror=implicit
> -Werror=nonnull -Werror=init-self -Werror=main -Werror=missing-braces
> -Werror=sequence-point -Werror=return-type -Werror=trigraphs
> -Werror=array-bounds -Werror=write-strings -Werror=address
> -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast -fno-strict-aliasing
> -I/var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-
> 9999/src
> -I/var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-
> 9999/src/render_program -fvisibility=hidden -I/usr/include/xorg
> -I/usr/include/X11/dri -I/usr/include/libdrm -I/usr/include/pixman-1
> -I/usr/include/libdrm -Wno-cast-qual -Wno-redundant-decls
> -Wno-maybe-uninitialized -march=native -O2 -pipe -fno-stack-protector
> -flto=4 -c
> /var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-
> 9999/src/sna/blt.c

> In file included from /usr/include/features.h:365:0,
>                  from /usr/include/stdint.h:25,
>                  from
> /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/stdint.h:9,
>                  from
> /var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-
> 9999/src/sna/sna.h:40,
>                  from
> /var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-
> 9999/src/sna/blt.c:32:
> /var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-
> 9999/src/sna/blt.c: In function ‘to_memcpy’:
> /usr/include/bits/string3.h:50:1: error: inlining failed in call to
> always_inline ‘memcpy’: target specific option mismatch
>  __NTH (memcpy (void *__restrict __dest, const void *__restrict __src,
>  ^
> /var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-
> 9999/src/sna/blt.c:490:4: error: called from here
>     memcpy(dst, src, len);
>     ^
> In file included from /usr/include/features.h:365:0,
>                  from /usr/include/stdint.h:25,
>                  from
> /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/stdint.h:9,
>                  from
> /var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-
> 9999/src/sna/sna.h:40,
>                  from
> /var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-
> 9999/src/sna/blt.c:32:
> /usr/include/bits/string3.h:50:1: error: inlining failed in call to
> always_inline ‘memcpy’: target specific option mismatch
>  __NTH (memcpy (void *__restrict __dest, const void *__restrict __src,
>  ^
> /var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-
> 9999/src/sna/blt.c:555:2: error: called from here
>   memcpy(dst, src, len & 3);
>   ^
> In file included from /usr/include/features.h:365:0,
>                  from /usr/include/stdint.h:25,
>                  from
> /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/stdint.h:9,
>                  from
> /var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-
> 9999/src/sna/sna.h:40,
>                  from
> /var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-
> 9999/src/sna/blt.c:32:
> /usr/include/bits/string3.h:50:1: error: inlining failed in call to
> always_inline ‘memcpy’: target specific option mismatch
>  __NTH (memcpy (void *__restrict __dest, const void *__restrict __src,
>  ^
> /var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-
> 9999/src/sna/blt.c:490:4: error: called from here
>     memcpy(dst, src, len);
>     ^
> In file included from /usr/include/features.h:365:0,
>                  from /usr/include/stdint.h:25,
>                  from
> /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/stdint.h:9,
>                  from
> /var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-
> 9999/src/sna/sna.h:40,
>                  from
> /var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-
> 9999/src/sna/blt.c:32:
> /usr/include/bits/string3.h:50:1: error: inlining failed in call to
> always_inline ‘memcpy’: target specific option mismatch
>  __NTH (memcpy (void *__restrict __dest, const void *__restrict __src,
>  ^
> /var/tmp/portage/x11-drivers/xf86-video-intel-9999/work/xf86-video-intel-
> 9999/src/sna/blt.c:555:2: error: called from here
>   memcpy(dst, src, len & 3);
>   ^
> Makefile:655: recipe for target 'blt.lo' failed

> -----------------------------------

> Attached is what gcc generates with -E, I think that's what you needed,
> correct?

> Thanks!</span >

I can confirm that, please take a look at the created PR:
<a href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71991">https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71991</a></pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>