* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.