Skip to contentSkip to conversation

package/mesa3d: add dependency on elfutils for R600 with LLVM

PATCH New Valentin Korenblit 2 participants 3 messages Apr 11, 2018 – Apr 12, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 package/mesa3d: add dependency on elfutils for R600 with LLVM

Gallium R600 needs libelf when mesa is built with llvm support. Because of this, toolchain must use either uClibc or glibc, as musl is not currently compatible with elfutils.

---
 package/mesa3d/Config.in | 10 ++++++++++
 1 file changed, 10 insertions(+)
package/mesa3d/Config.in +10 -0
index 1476b39acc..bd3d050e29 100644
@@ -97,13 +97,23 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU
 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600
 	bool "Gallium Radeon R600 driver"
 	depends on BR2_i386 || BR2_x86_64
+	depends on !BR2_PACKAGE_MESA3D_LLVM || \
+		(BR2_PACKAGE_MESA3D_LLVM && (BR2_TOOLCHAIN_USES_UCLIBC || \
+			BR2_TOOLCHAIN_USES_GLIBC)) # elfutils
 	select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
 	select BR2_PACKAGE_LIBDRM_RADEON
 	select BR2_PACKAGE_LLVM_AMDGPU if BR2_PACKAGE_MESA3D_LLVM
+	select BR2_PACKAGE_ELFUTILS if BR2_PACKAGE_MESA3D_LLVM
 	select BR2_PACKAGE_MESA3D_NEEDS_XA
 	help
 	  Driver for ATI/AMD Radeon R600/R700/HD5000/HD6000 GPUs.
 
+# R600 needs libelf when Mesa3D is built with LLVM support
+# musl is not currently compatible with elfutils
+comment "R600 driver needs a uClibc or glibc toolchain when llvm is enabled"
+	depends on BR2_PACKAGE_MESA3D_LLVM
+	depends on !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC)
+
 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA
 	bool "Gallium vmware svga driver"
 	depends on BR2_i386 || BR2_x86_64
Signature · 1 line
2.14.3
#1 lore raw

PATCH 1/1 package/mesa3d: add dependency on elfutils for R600 with LLVM

Quoted 5 lines · Valentin Korenblit

Gallium R600 needs libelf when mesa is built with llvm support. Because of this, toolchain must use either uClibc or glibc, as musl is not currently compatible with elfutils.

This patch solves:
configure: error: r600 requires libelf when using llvm

Link to the autobuild log:

http://autobuild.buildroot.org/results/884/8845ff0f28d3273ebe884126b85cd7c4a905d81b/build-end.log

Quoted 32 lines
---
  package/mesa3d/Config.in | 10 ++++++++++
  1 file changed, 10 insertions(+)
package/mesa3d/Config.in +10 -0
index 1476b39acc..bd3d050e29 100644
@@ -97,13 +97,23 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU
  config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600
  	bool "Gallium Radeon R600 driver"
  	depends on BR2_i386 || BR2_x86_64
+	depends on !BR2_PACKAGE_MESA3D_LLVM || \
+		(BR2_PACKAGE_MESA3D_LLVM && (BR2_TOOLCHAIN_USES_UCLIBC || \
+			BR2_TOOLCHAIN_USES_GLIBC)) # elfutils
  	select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
  	select BR2_PACKAGE_LIBDRM_RADEON
  	select BR2_PACKAGE_LLVM_AMDGPU if BR2_PACKAGE_MESA3D_LLVM
+	select BR2_PACKAGE_ELFUTILS if BR2_PACKAGE_MESA3D_LLVM
  	select BR2_PACKAGE_MESA3D_NEEDS_XA
  	help
  	  Driver for ATI/AMD Radeon R600/R700/HD5000/HD6000 GPUs.
 
+# R600 needs libelf when Mesa3D is built with LLVM support
+# musl is not currently compatible with elfutils
+comment "R600 driver needs a uClibc or glibc toolchain when llvm is enabled"
+	depends on BR2_PACKAGE_MESA3D_LLVM
+	depends on !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC)
+
  config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA
  	bool "Gallium vmware svga driver"
  	depends on BR2_i386 || BR2_x86_64
#2 lore raw

PATCH 1/1 package/mesa3d: add dependency on elfutils for R600 with LLVM

In reply to Valentin Korenblit

Hello,

Quoted 8 lines · Valentin Korenblit

Gallium R600 needs libelf when mesa is built with llvm support. Because of this, toolchain must use either uClibc or glibc, as musl is not currently compatible with elfutils.

---
 package/mesa3d/Config.in | 10 ++++++++++
 1 file changed, 10 insertions(+)

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com