Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 0/3] GCC fixes and enable llvmpipe in mesa for x86
@ 2018-06-15 15:08 Khem Raj
  2018-06-15 15:08 ` [PATCH 1/3] mesa: Enable gallium-llvm on x86 and x86_64 Khem Raj
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Khem Raj @ 2018-06-15 15:08 UTC (permalink / raw)
  To: openembedded-core

Fixes gcc for xscale march/mcpu issue
Drop redundant patch
enable llvmpipe for mesa

The following changes since commit 8ab5b439ea82ac775494a0ce7a6f3615b61c94be:

  linux-yocto/4.14/4.15: fix gcc8 mips compilation issues (2018-06-11 23:38:17 +0100)

are available in the Git repository at:

  git://git.openembedded.org/openembedded-core-contrib kraj/master
  http://cgit.openembedded.org/openembedded-core-contrib/log/?h=kraj/master

Andre McCurdy (1):
  gcc8: drop stray uClibc specific patch

Khem Raj (2):
  mesa: Enable gallium-llvm on x86 and x86_64
  gcc-8: Fix spurious mcpu/march conflict for xscale

 meta/recipes-devtools/gcc/gcc-8.1.inc         |  2 +-
 .../gcc/gcc-8.1/0002-c99-snprintf.patch       | 28 ---------
 ...003-build-failures-with-with-cpu-xsc.patch | 61 +++++++++++++++++++
 meta/recipes-graphics/cairo/cairo.inc         |  3 +-
 meta/recipes-graphics/mesa/mesa.inc           |  3 +
 5 files changed, 67 insertions(+), 30 deletions(-)
 delete mode 100644 meta/recipes-devtools/gcc/gcc-8.1/0002-c99-snprintf.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-8.1/0041-arm-PR-target-86003-build-failures-with-with-cpu-xsc.patch

-- 
2.17.1



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/3] mesa: Enable gallium-llvm on x86 and x86_64
  2018-06-15 15:08 [PATCH 0/3] GCC fixes and enable llvmpipe in mesa for x86 Khem Raj
@ 2018-06-15 15:08 ` Khem Raj
  2018-06-16 21:30   ` Richard Purdie
  2018-06-15 15:08 ` [PATCH 2/3] gcc8: drop stray uClibc specific patch Khem Raj
  2018-06-15 15:08 ` [PATCH 3/3] gcc-8: Fix spurious mcpu/march conflict for xscale Khem Raj
  2 siblings, 1 reply; 5+ messages in thread
From: Khem Raj @ 2018-06-15 15:08 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-graphics/cairo/cairo.inc | 3 ++-
 meta/recipes-graphics/mesa/mesa.inc   | 3 +++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-graphics/cairo/cairo.inc b/meta/recipes-graphics/cairo/cairo.inc
index 20e0d2c92a..7347f223ff 100644
--- a/meta/recipes-graphics/cairo/cairo.inc
+++ b/meta/recipes-graphics/cairo/cairo.inc
@@ -22,7 +22,8 @@ X11DEPENDS = "virtual/libx11 libsm libxrender libxext"
 DEPENDS = "libpng fontconfig pixman glib-2.0 zlib"
 
 PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcb', '', d)} \
-           ${@bb.utils.filter('DISTRO_FEATURES', 'directfb', d)}"
+           ${@bb.utils.filter('DISTRO_FEATURES', 'directfb', d)} \
+           ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'opengl', '', d)}"
 
 PACKAGECONFIG[x11] = "--with-x=yes -enable-xlib,--with-x=no --disable-xlib,${X11DEPENDS}"
 PACKAGECONFIG[xcb] = "--enable-xcb,--disable-xcb,libxcb"
diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
index fa99f7d50c..d1723e3506 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -45,6 +45,9 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland vulkan', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \
 		   "
 
+PACKAGECONFIG_append_x86 = " gallium-llvm gallium r600"
+PACKAGECONFIG_append_x86-64 = " gallium-llvm gallium r600"
+
 # "gbm" requires "dri", "opengl"
 PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm"
 
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/3] gcc8: drop stray uClibc specific patch
  2018-06-15 15:08 [PATCH 0/3] GCC fixes and enable llvmpipe in mesa for x86 Khem Raj
  2018-06-15 15:08 ` [PATCH 1/3] mesa: Enable gallium-llvm on x86 and x86_64 Khem Raj
@ 2018-06-15 15:08 ` Khem Raj
  2018-06-15 15:08 ` [PATCH 3/3] gcc-8: Fix spurious mcpu/march conflict for xscale Khem Raj
  2 siblings, 0 replies; 5+ messages in thread
From: Khem Raj @ 2018-06-15 15:08 UTC (permalink / raw)
  To: openembedded-core

From: Andre McCurdy <armccurdy@gmail.com>

The patch was previously removed for gcc7 but came back with gcc8.

  http://git.openembedded.org/openembedded-core/commit/?id=f71bc69e5b7581c53071055b694bb0dbfe4b4a87

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/gcc/gcc-8.1.inc         |  1 -
 .../gcc/gcc-8.1/0002-c99-snprintf.patch       | 28 -------------------
 2 files changed, 29 deletions(-)
 delete mode 100644 meta/recipes-devtools/gcc/gcc-8.1/0002-c99-snprintf.patch

diff --git a/meta/recipes-devtools/gcc/gcc-8.1.inc b/meta/recipes-devtools/gcc/gcc-8.1.inc
index cb0fbd9379..d83ba6555e 100644
--- a/meta/recipes-devtools/gcc/gcc-8.1.inc
+++ b/meta/recipes-devtools/gcc/gcc-8.1.inc
@@ -32,7 +32,6 @@ BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz"
 SRC_URI = "\
            ${BASEURI} \
            file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
-           file://0002-c99-snprintf.patch \
            file://0003-gcc-poison-system-directories.patch \
            file://0004-gcc-poison-dir-extend.patch \
            file://0005-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \
diff --git a/meta/recipes-devtools/gcc/gcc-8.1/0002-c99-snprintf.patch b/meta/recipes-devtools/gcc/gcc-8.1/0002-c99-snprintf.patch
deleted file mode 100644
index aa123b41a1..0000000000
--- a/meta/recipes-devtools/gcc/gcc-8.1/0002-c99-snprintf.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 5fbfcf247ed6dd01263639daf0c9c3a291e2fd3a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 08:49:03 +0400
-Subject: [PATCH 02/39] c99-snprintf
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- libstdc++-v3/include/c_std/cstdio | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libstdc++-v3/include/c_std/cstdio b/libstdc++-v3/include/c_std/cstdio
-index 1b9571eaa8d..ad816be4fd1 100644
---- a/libstdc++-v3/include/c_std/cstdio
-+++ b/libstdc++-v3/include/c_std/cstdio
-@@ -144,7 +144,7 @@ namespace std
-   using ::vsprintf;
- } // namespace std
- 
--#if _GLIBCXX_USE_C99_STDIO
-+#if _GLIBCXX_USE_C99_STDIO || defined(__UCLIBC__)
- 
- #undef snprintf
- #undef vfscanf
--- 
-2.17.0
-
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 3/3] gcc-8: Fix spurious mcpu/march conflict for xscale
  2018-06-15 15:08 [PATCH 0/3] GCC fixes and enable llvmpipe in mesa for x86 Khem Raj
  2018-06-15 15:08 ` [PATCH 1/3] mesa: Enable gallium-llvm on x86 and x86_64 Khem Raj
  2018-06-15 15:08 ` [PATCH 2/3] gcc8: drop stray uClibc specific patch Khem Raj
@ 2018-06-15 15:08 ` Khem Raj
  2 siblings, 0 replies; 5+ messages in thread
From: Khem Raj @ 2018-06-15 15:08 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/gcc/gcc-8.1.inc         |  1 +
 ...003-build-failures-with-with-cpu-xsc.patch | 61 +++++++++++++++++++
 2 files changed, 62 insertions(+)
 create mode 100644 meta/recipes-devtools/gcc/gcc-8.1/0041-arm-PR-target-86003-build-failures-with-with-cpu-xsc.patch

diff --git a/meta/recipes-devtools/gcc/gcc-8.1.inc b/meta/recipes-devtools/gcc/gcc-8.1.inc
index d83ba6555e..c5f25f89ac 100644
--- a/meta/recipes-devtools/gcc/gcc-8.1.inc
+++ b/meta/recipes-devtools/gcc/gcc-8.1.inc
@@ -73,6 +73,7 @@ SRC_URI = "\
            ${BACKPORTS} \
 "
 BACKPORTS = "\
+           file://0041-arm-PR-target-86003-build-failures-with-with-cpu-xsc.patch \
 "
 SRC_URI[md5sum] = "65f7c65818dc540b3437605026d329fc"
 SRC_URI[sha256sum] = "1d1866f992626e61349a1ccd0b8d5253816222cdc13390dcfaa74b093aa2b153"
diff --git a/meta/recipes-devtools/gcc/gcc-8.1/0041-arm-PR-target-86003-build-failures-with-with-cpu-xsc.patch b/meta/recipes-devtools/gcc/gcc-8.1/0041-arm-PR-target-86003-build-failures-with-with-cpu-xsc.patch
new file mode 100644
index 0000000000..68b8962d47
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-8.1/0041-arm-PR-target-86003-build-failures-with-with-cpu-xsc.patch
@@ -0,0 +1,61 @@
+From 11dc6b9576b78bb7a8d70491beab7ab4de24c9d0 Mon Sep 17 00:00:00 2001
+From: rearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Mon, 4 Jun 2018 08:46:04 +0000
+Subject: [PATCH] [arm] PR target/86003 build failures with --with-cpu=xscale
+
+The XScale cpu configuration in GCC has always been somewhat
+non-conforming.  Although XScale isn't an architecture (it's simply an
+implementation of ARMv5te), we do by tradition emit a specific
+pre-define for it.  We achieve this effect by adding an additional
+feature bit to the xscale CPU definition that isn't part of the base
+architecture.
+
+When I restructured the options last year I overlooked this oddity and
+the result, of course, is that this configuration now fails to build
+as intended.
+
+What happens is that the driver (correctly) constructs an architecture
+for the xscale cpu name (as armv5te) and passes it in addition to the
+CPU name.  The backend code, on finding both a cpu and an architecture
+specifies attempts to correlate the two and finds a difference due to
+the additional feature bit and reports an inconsistency (fatally if
+-werror is specified).
+
+I think the best fix to this is to treat the xscale feature bit using
+the same mechanism that we use for other 'quirks' in CPU
+implementations and simply filter it out before comparing the
+capabilities.  It has the additional benefit that it's also the
+simplest fix.
+
+	PR target/86003
+	* config/arm/arm-cpus.in (ALL_QUIRKS): Add xscale feature to the list
+	of bits to ignore when comparing architectures.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-8-branch@261141 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Backport
+
+ gcc/ChangeLog              | 6 ++++++
+ gcc/config/arm/arm-cpus.in | 4 +++-
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/gcc/config/arm/arm-cpus.in b/gcc/config/arm/arm-cpus.in
+index 96972a057e7..545321b0bbe 100644
+--- a/gcc/config/arm/arm-cpus.in
++++ b/gcc/config/arm/arm-cpus.in
+@@ -268,7 +268,9 @@ define fgroup DOTPROD	NEON dotprod
+ 
+ # List of all quirk bits to strip out when comparing CPU features with
+ # architectures.
+-define fgroup ALL_QUIRKS   quirk_no_volatile_ce quirk_armv6kz quirk_cm3_ldrd
++# xscale isn't really a 'quirk', but it isn't an architecture either and we
++# need to ignore it for matching purposes.
++define fgroup ALL_QUIRKS   quirk_no_volatile_ce quirk_armv6kz quirk_cm3_ldrd xscale
+ 
+ # Architecture entries
+ # format:
+-- 
+2.17.1
+
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/3] mesa: Enable gallium-llvm on x86 and x86_64
  2018-06-15 15:08 ` [PATCH 1/3] mesa: Enable gallium-llvm on x86 and x86_64 Khem Raj
@ 2018-06-16 21:30   ` Richard Purdie
  0 siblings, 0 replies; 5+ messages in thread
From: Richard Purdie @ 2018-06-16 21:30 UTC (permalink / raw)
  To: Khem Raj, openembedded-core

On Fri, 2018-06-15 at 08:08 -0700, Khem Raj wrote:
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
>  meta/recipes-graphics/cairo/cairo.inc | 3 ++-
>  meta/recipes-graphics/mesa/mesa.inc   | 3 +++
>  2 files changed, 5 insertions(+), 1 deletion(-)

I think this patch breaks on multlib:

https://autobuilder.yocto.io/builders/nightly-multilib/builds/1085/steps/BuildImages_2/logs/stdio
https://autobuilder.yocto.io/builders/nightly-multilib/builds/1085/steps/BuildImages_3/logs/stdio
https://autobuilder.yocto.io/builders/nightly-multilib/builds/1085/steps/BuildImages_4/logs/stdio

and x32:

https://autobuilder.yocto.io/builders/nightly-x32/builds/1063/steps/BuildImages/logs/stdio

Cheers,

Richard


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-06-16 21:30 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-15 15:08 [PATCH 0/3] GCC fixes and enable llvmpipe in mesa for x86 Khem Raj
2018-06-15 15:08 ` [PATCH 1/3] mesa: Enable gallium-llvm on x86 and x86_64 Khem Raj
2018-06-16 21:30   ` Richard Purdie
2018-06-15 15:08 ` [PATCH 2/3] gcc8: drop stray uClibc specific patch Khem Raj
2018-06-15 15:08 ` [PATCH 3/3] gcc-8: Fix spurious mcpu/march conflict for xscale Khem Raj

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox