On Thu, Oct 13, 2022 at 7:38 AM Peter Kjellerstedt
<peter.kjellerst...@axis.com> wrote:
>
> > -----Original Message-----
> > From: Ross Burton <ross.bur...@arm.com>
> > Sent: den 13 oktober 2022 16:05
> > To: Peter Kjellerstedt <peter.kjellerst...@axis.com>
> > Cc: Patches and discussions about the oe-core layer <openembedded-
> > c...@lists.openembedded.org>
> > Subject: Re: [OE-core] [PATCH] gcc: Allow -Wno-error=poison-system-
> > directories to take effect
> >
> > Whilst this is a good fix, I’m horrified to ask why you need it…
>
> We have a recipe for skia. Somewhere in that mess of a build
> system it uses (gn), something adds -I/usr/include/freetype2,
> which results in an error with -Werror=poison-system-directories
> enabled (as it should). Now, to work around that problem, the
> recipe currently adds -I=/usr/include/freetype2, which means we
> know that the correct path is used. However, since the original
> -I/usr/include/freetype2 is still in the list of options, the
> error still triggers.
>
> Now, to fix the problem properly, skias's build files should be
> patched, but that is not my job. What I am working on is to get
> our recipes to build with Langdale. This means I can cut some
> corners and, e.g., disable errors and then hand off to the
> responsible team to fix the underlying problem at a time that
> suits them. Thus in this case I wanted to add
> -Wno-error=poison-system-directories for skia, which I then, to
> my surprise, noticed had no effect...

from gcc recipe point of view, this fix is fine. however your use of
this seems to be a workaround that perhaps is better fixed in skia
because = syntax for sysroot works with gcc but may not work with
clang e.g. so you are being lucky here.

>
> //Peter
>
> >
> > Ross
> >
> > > On 13 Oct 2022, at 14:29, Peter Kjellerstedt via lists.openembedded.org
> > <peter.kjellerstedt=axis....@lists.openembedded.org> wrote:
> > >
> > > The change in commit e903b29f (gcc-cross: pass
> > > -Werror=poison-system-directories to compiler stages) made it impossible
> > > to disable the error using -Wno-error=poison-system-directories.
> > >
> > > Signed-off-by: Peter Kjellerstedt <peter.kjellerst...@axis.com>
> > > ---
> > > .../0002-gcc-poison-system-directories.patch  | 36 +++++++++----------
> > > 1 file changed, 18 insertions(+), 18 deletions(-)
> > >
> > > diff --git a/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-
> > directories.patch b/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-
> > directories.patch
> > > index bfec4477c1..5aa635b3d4 100644
> > > --- a/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-
> > directories.patch
> > > +++ b/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-
> > directories.patch
> > > @@ -1,4 +1,4 @@
> > > -From e1dbdcd0ea667bab4b551294354e04c6fe288ab6 Mon Sep 17 00:00:00 2001
> > > +From 99f1e61b2957226254a116fde7fd73bf07034012 Mon Sep 17 00:00:00 2001
> > > From: Khem Raj <raj.k...@gmail.com>
> > > Date: Mon, 8 Mar 2021 16:04:20 -0800
> > > Subject: [PATCH] gcc: poison-system-directories
> > > @@ -20,12 +20,12 @@ Signed-off-by: Khem Raj <raj.k...@gmail.com>
> > >  gcc/configure       | 19 +++++++++++++++++++
> > >  gcc/configure.ac    | 16 ++++++++++++++++
> > >  gcc/doc/invoke.texi |  9 +++++++++
> > > - gcc/gcc.cc          |  9 +++++++--
> > > + gcc/gcc.cc          | 15 ++++++++++++---
> > >  gcc/incpath.cc      | 21 +++++++++++++++++++++
> > > - 7 files changed, 86 insertions(+), 2 deletions(-)
> > > + 7 files changed, 91 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/gcc/common.opt b/gcc/common.opt
> > > -index 8a0dafc522d..0357868e22c 100644
> > > +index 8a0dafc52..0357868e2 100644
> > > --- a/gcc/common.opt
> > > +++ b/gcc/common.opt
> > > @@ -710,6 +710,10 @@ Wreturn-local-addr
> > > @@ -40,7 +40,7 @@ index 8a0dafc522d..0357868e22c 100644
> > >  Common Var(warn_shadow) Warning
> > >  Warn when one variable shadows another.  Same as -Wshadow=global.
> > > diff --git a/gcc/config.in b/gcc/config.in
> > > -index 64c27c9cfac..a693cb8a886 100644
> > > +index 64c27c9cf..a693cb8a8 100644
> > > --- a/gcc/config.in
> > > +++ b/gcc/config.in
> > > @@ -230,6 +230,16 @@
> > > @@ -61,7 +61,7 @@ index 64c27c9cfac..a693cb8a886 100644
> > >     optimizer and back end) to be checked for dynamic type safety at
> > runtime.
> > >     This is quite expensive. */
> > > diff --git a/gcc/configure b/gcc/configure
> > > -index 5ce0557719a..dc2d59701ad 100755
> > > +index 2b83acfb0..8bb97578c 100755
> > > --- a/gcc/configure
> > > +++ b/gcc/configure
> > > @@ -1023,6 +1023,7 @@ enable_maintainer_mode
> > > @@ -81,7 +81,7 @@ index 5ce0557719a..dc2d59701ad 100755
> > >    --enable-plugin         enable plugin support
> > >    --enable-host-shared    build host code as shared libraries
> > >    --disable-libquadmath-support
> > > -@@ -31982,6 +31985,22 @@ if test
> > "${enable_version_specific_runtime_libs+set}" = set; then :
> > > +@@ -31996,6 +31999,22 @@ if test
> > "${enable_version_specific_runtime_libs+set}" = set; then :
> > >  fi
> > >
> > >
> > > @@ -105,10 +105,10 @@ index 5ce0557719a..dc2d59701ad 100755
> > >
> > >
> > > diff --git a/gcc/configure.ac b/gcc/configure.ac
> > > -index 23bee7010a3..36ce78924de 100644
> > > +index daf2a708c..6155b83a7 100644
> > > --- a/gcc/configure.ac
> > > +++ b/gcc/configure.ac
> > > -@@ -7421,6 +7421,22 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
> > > +@@ -7435,6 +7435,22 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
> > >                  [specify that runtime libraries should be
> > >                   installed in a compiler-specific directory])])
> > >
> > > @@ -132,7 +132,7 @@ index 23bee7010a3..36ce78924de 100644
> > >  AC_SUBST(subdirs)
> > >  AC_SUBST(srcdir)
> > > diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
> > > -index 07b440190c3..b2de464798a 100644
> > > +index ff6c338be..a8ebfa59a 100644
> > > --- a/gcc/doc/invoke.texi
> > > +++ b/gcc/doc/invoke.texi
> > > @@ -379,6 +379,7 @@ Objective-C and Objective-C++ Dialects}.
> > > @@ -159,10 +159,10 @@ index 07b440190c3..b2de464798a 100644
> > >  @opindex Wfloat-equal
> > >  @opindex Wno-float-equal
> > > diff --git a/gcc/gcc.cc b/gcc/gcc.cc
> > > -index bb07cc244e3..ce161d3c853 100644
> > > +index beefde7f6..4e6557b3c 100644
> > > --- a/gcc/gcc.cc
> > > +++ b/gcc/gcc.cc
> > > -@@ -1159,6 +1159,8 @@ proper position among the other output files.  */
> > > +@@ -1162,6 +1162,8 @@ proper position among the other output files.  */
> > >     "%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
> > >     "%X %{o*} %{e*} %{N} %{n} %{r}\
> > >      %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \
> > > @@ -171,7 +171,7 @@ index bb07cc244e3..ce161d3c853 100644
> > >      %{static|no-pie|static-pie:} %@{L*} %(mfwrap) %(link_libgcc) " \
> > >      VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o "" \
> > >      %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\
> > > -@@ -1254,8 +1256,11 @@ static const char *cpp_unique_options =
> > > +@@ -1257,8 +1259,11 @@ static const char *cpp_unique_options =
> > >  static const char *cpp_options =
> > >  "%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*}
> > %{w}\
> > >   %{f*} %{g*:%{%:debug-level-gt(0):%{g*}\
> > > @@ -179,27 +179,27 @@ index bb07cc244e3..ce161d3c853 100644
> > > - %{undef} %{save-temps*:-fpch-preprocess}";
> > > + %{!fno-working-directory:-fworking-directory}}} %{O*}"
> > > +#ifdef POISON_BY_DEFAULT
> > > -+ " -Werror=poison-system-directories"
> > > ++ " %{!Wno-error=poison-system-directories:-Werror=poison-system-
> > directories}"
> > > +#endif
> > > + " %{undef} %{save-temps*:-fpch-preprocess}";
> > >
> > >  /* Pass -d* flags, possibly modifying -dumpdir, -dumpbase et al.
> > >
> > > -@@ -1265,7 +1270,11 @@ static const char *cc1_options =
> > > +@@ -1287,7 +1292,11 @@ static const char *cc1_options =
> > >   %{coverage:-fprofile-arcs -ftest-coverage}\
> > >   %{fprofile-arcs|fprofile-generate*|coverage:\
> > >     %{!fprofile-update=single:\
> > > -     %{pthread:-fprofile-update=prefer-atomic}}}";
> > > +     %{pthread:-fprofile-update=prefer-atomic}}}"
> > > +#ifdef POISON_BY_DEFAULT
> > > -+ " -Werror=poison-system-directories"
> > > ++ " %{!Wno-error=poison-system-directories:-Werror=poison-system-
> > directories}"
> > > +#endif
> > > +  ;
> > > -
> > > +
> > >  static const char *asm_options =
> > >  "%{-target-help:%:print-asm-header()} "
> > > diff --git a/gcc/incpath.cc b/gcc/incpath.cc
> > > -index bd2a97938eb..c80f100f476 100644
> > > +index 622204a38..5ac03c086 100644
> > > --- a/gcc/incpath.cc
> > > +++ b/gcc/incpath.cc
> > > @@ -26,6 +26,7 @@
> > >
> > >
> > >
>
>
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#171707): 
https://lists.openembedded.org/g/openembedded-core/message/171707
Mute This Topic: https://lists.openembedded.org/mt/94303421/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to