mbox

[0/5] OpenEmbedded/Yocto Project gcc patches

Message ID 20211027200505.3340725-1-richard.purdie@linuxfoundation.org
Headers

Message

Richard Purdie Oct. 27, 2021, 8:05 p.m. UTC
  OpenEmbedded/Yocto Project extensively uses gcc to cross compile in many
different and interesting places. On the most part we're very happy,
thanks! We do have a small collection of patches and I believe it would
be beneficial to share some of them.

I've picked some of the simpler ones and have tried to start that with
this series. I did send the first four once already but have reworked 
the first patch as advised (it became clear we had further related fixes 
too which I've merged in).

It may also be interesting for gcc developers to know that Yocto Project
is running the gcc test suite for each of the major architectures we target
under qemu (some in system, some in user mode) and collecting test results
with a view to trying to ensure we don't regress over time. As time
permits, we hope to track down failures and improve the pass rates too.

A report from our recent release is here:

http://downloads.yoctoproject.org/releases/yocto/yocto-3.4/testreport.txt

but is large so I placed some examples here:

=========================================================================
qemuppc PTest Result Summary
=========================================================================
-------------------------------------------------------------------------
Recipe                       | Passed       | Failed       | Skipped     
-------------------------------------------------------------------------
binutils                     | 221          | 2            | 13          
binutils-gas                 | 343          | 2            | 3           
binutils-ld                  | 1386         | 7            | 352         
gcc-g++-user                 | 195119       | 37           | 9389        
gcc-libatomic-user           | 44           | 0            | 5           
gcc-libgomp-user             | 2788         | 2            | 370         
gcc-libitm-user              | 46           | 0            | 2           
gcc-libstdc++-v3-user        | 14152        | 7            | 723         
gcc-user                     | 134355       | 200          | 4104        
glibc-user                   | 3869         | 210          | 76          
-------------------------------------------------------------------------

=========================================================================
qemux86 PTest Result Summary
=========================================================================
-------------------------------------------------------------------------
Recipe                       | Passed       | Failed       | Skipped     
-------------------------------------------------------------------------
binutils                     | 230          | 2            | 13          
binutils-gas                 | 1485         | 0            | 1           
binutils-ld                  | 1641         | 7            | 354         
gcc                          | 124619       | 132          | 26160       
gcc-g++                      | 186472       | 56           | 19103       
gcc-libatomic                | 22           | 1            | 27          
gcc-libgomp                  | 1427         | 2            | 1671        
gcc-libitm                   | 24           | 1            | 24          
gcc-libstdc++-v3             | 9102         | 33           | 5216        
glibc                        | 4230         | 203          | 40          

Cheers,

Richard

Richard Purdie (5):
  Makefile.in: Ensure build CPP/CPPFLAGS is used for build targets
  gcc: Fix "argument list too long" from install-plugins
  gcc: Add --nostdlib++ option
  gcc/nios2: Define the musl linker
  gcc: Pass sysroot options to cpp for preprocessed source

 Makefile.in              | 6 ++++++
 Makefile.tpl             | 6 ++++++
 configure                | 4 ++++
 configure.ac             | 4 ++++
 gcc/Makefile.in          | 2 +-
 gcc/c-family/c.opt       | 4 ++++
 gcc/config/nios2/linux.h | 1 +
 gcc/configure            | 2 +-
 gcc/configure.ac         | 2 +-
 gcc/cp/g++spec.c         | 1 +
 gcc/cp/lang-specs.h      | 2 +-
 gcc/doc/invoke.texi      | 8 +++++++-
 gcc/gcc.c                | 3 ++-
 13 files changed, 39 insertions(+), 6 deletions(-)