Thread (1 message) 1 message, 1 author, 2021-08-19

Re: [Buildroot] [PATCH 1/1] package/mono: force internal libatomic-ops for some arm variants

From: Illia Bitkov <hidden>
Date: 2021-08-19 12:13:09

Hello Thomas, All

On Thu, Aug 19, 2021 at 12:05 AM Thomas Petazzoni <
thomas.petazzoni@bootlin.com> wrote:
Hello Illia,

On Wed, 18 Aug 2021 21:03:45 +0200
Illia Bitkov [off-list ref] wrote:
quoted
Fixes:
http://autobuild.buildroot.net/results/18b017dd5b9c1d8d6c91303ea4f1fdd3e1b086e0/
quoted
http://autobuild.buildroot.net/results/1d262e9ad5bf8bf437bc3f2a709d84acf854d298/
quoted
Signed-off-by: Illia Bitkov <redacted>
Thanks a lot, but this needs more explanation. Why is libatomic_ops not
working for those platforms ?
Currently I don't have a clear answer. I've tested building external
libatomic-ops with configuration keys I've taken from the build of internal
one. I'll look into them more.
Also I think I'll try to downgrade lib to version used in mono(7.6.10 ->
7.4.2)
I suspect it currently doesn't build mono on the whole ARMv5 but I've
failed to test it.

quoted
---
 package/mono/Config.in |  2 +-
 package/mono/mono.mk   | 10 ++++++++--
 2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/package/mono/Config.in b/package/mono/Config.in
index 44b8cf8581..3f26bd4092 100644
--- a/package/mono/Config.in
+++ b/package/mono/Config.in
@@ -16,7 +16,7 @@ config BR2_PACKAGE_MONO
      depends on BR2_INSTALL_LIBSTDCPP
      depends on BR2_TOOLCHAIN_HAS_THREADS
      depends on !BR2_STATIC_LIBS
-     select BR2_PACKAGE_LIBATOMIC_OPS
+     select BR2_PACKAGE_LIBATOMIC_OPS if !BR2_xscale && !BR2_arm926t
      help
        An open source, cross-platform, implementation of C#
        and the CLR that is binary compatible with Microsoft.NET.
diff --git a/package/mono/mono.mk b/package/mono/mono.mk
index 27f7886224..e697ed7ea2 100644
--- a/package/mono/mono.mk
+++ b/package/mono/mono.mk
@@ -43,8 +43,14 @@ endif

 MONO_DEPENDENCIES += \
      host-mono \
-     $(if $(BR2_PACKAGE_LIBUNWIND),libunwind) \
-     libatomic_ops
+     $(if $(BR2_PACKAGE_LIBUNWIND),libunwind)
+
+ifeq ($(BR2_xscale)$(BR2_arm926t),nn)
This is wrong, options never have the value "n"

Thanks, I'll fix it

quoted
+MONO_DEPENDENCIES += libatomic_ops
+else
+#force use of internal libatomic-ops
+MONO_CONF_OPTS += --with-libatomic-ops=no
+endif
Thanks,

Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help