* [Buildroot] [PATCH v2 1/1] zeromq: check if -latomic is needed
@ 2018-05-07 20:26 Asaf Kahlon
2018-05-07 21:24 ` Thomas Petazzoni
2018-05-08 13:00 ` Thomas Petazzoni
0 siblings, 2 replies; 4+ messages in thread
From: Asaf Kahlon @ 2018-05-07 20:26 UTC (permalink / raw)
To: buildroot
Fixes:
http://autobuild.buildroot.net/results/b149aa2ee00e4d6a53c884cf99ecb2dd8af58b65/
http://autobuild.buildroot.net/results/e4b3616ac2695d3b6898185a70da6509b1faa2b8/
Patch the package to check if -latomic is needed to be added, depending on the
result of AC_LINK_IFELSE.
The patch was sent to upstream, see:
https://github.com/zeromq/libzmq/pull/3083
Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
---
v2: fix typos and small refactoring.
...nclude.m4-check-if-latomic-is-needed.patch | 70 +++++++++++++++++++
1 file changed, 70 insertions(+)
create mode 100644 package/zeromq/0002-acinclude.m4-check-if-latomic-is-needed.patch
diff --git a/package/zeromq/0002-acinclude.m4-check-if-latomic-is-needed.patch b/package/zeromq/0002-acinclude.m4-check-if-latomic-is-needed.patch
new file mode 100644
index 0000000000..6f3671c4a0
--- /dev/null
+++ b/package/zeromq/0002-acinclude.m4-check-if-latomic-is-needed.patch
@@ -0,0 +1,70 @@
+From 9f4ca582555b208d065f730b5ce3b1901136b275 Mon Sep 17 00:00:00 2001
+From: Asaf Kahlon <asafka7@gmail.com>
+Date: Mon, 7 May 2018 23:19:09 +0300
+Subject: [PATCH 1/1] acinclude.m4: check if -latomic is needed
+
+On some cases, -latomic is needed for linking, and since the current
+acinclude.m4 checks only compilation we can sometimes miss the need for -latomic
+and the linking process will fail.
+Therefore, the AC_CHECK_IFELSE was replaced with AC_LINK_IFELSE. If the first
+try fails, we try to link again with -latomic and add LIBS="-latomic" in case we
+succeeded.
+
+Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
+---
+ acinclude.m4 | 32 ++++++++++++++++++++++++++++----
+ 1 file changed, 28 insertions(+), 4 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index f648ed0f..aa35195f 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -668,7 +668,7 @@ dnl # Check if compiler supoorts __atomic_Xxx intrinsics
+ dnl ################################################################################
+ AC_DEFUN([LIBZMQ_CHECK_ATOMIC_INTRINSICS], [{
+ AC_MSG_CHECKING(whether compiler supports __atomic_Xxx intrinsics)
+- AC_COMPILE_IFELSE([AC_LANG_SOURCE([
++ AC_LINK_IFELSE([AC_LANG_SOURCE([
+ /* atomic intrinsics test */
+ int v = 0;
+ int main (int, char **)
+@@ -677,9 +677,33 @@ int main (int, char **)
+ return t;
+ }
+ ])],
+- [AC_MSG_RESULT(yes) ; libzmq_cv_has_atomic_instrisics="yes" ; $1],
+- [AC_MSG_RESULT(no) ; libzmq_cv_has_atomic_instrisics="no" ; $2]
+- )
++ [libzmq_cv_has_atomic_instrisics="yes"],
++ [libzmq_cv_has_atomic_instrisics="no"])
++
++ if test "x$libzmq_cv_has_atomic_instrisics" = "xno"; then
++ save_LDFLAGS=$LDFLAGS
++ LDFLAGS="$LDFLAGS -latomic"
++ AC_LINK_IFELSE([AC_LANG_SOURCE([
++ /* atomic intrinsics test */
++ int v = 0;
++ int main (int, char **)
++ {
++ int t = __atomic_add_fetch (&v, 1, __ATOMIC_ACQ_REL);
++ return t;
++ }
++ ])],
++ [libzmq_cv_has_atomic_instrisics="yes" LIBS="-latomic"],
++ [libzmq_cv_has_atomic_instrisics="no"])
++ LDFLAGS=$save_LDFLAGS
++ fi
++
++ if test "x$libzmq_cv_has_atomic_instrisics" = "xyes"; then
++ AC_MSG_RESULT(yes)
++ $1
++ else
++ AC_MSG_RESULT(no)
++ $2
++ fi
+ }])
+
+ dnl ################################################################################
+--
+2.17.0
+
--
2.17.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH v2 1/1] zeromq: check if -latomic is needed
2018-05-07 20:26 [Buildroot] [PATCH v2 1/1] zeromq: check if -latomic is needed Asaf Kahlon
@ 2018-05-07 21:24 ` Thomas Petazzoni
2018-05-08 3:46 ` Asaf Kahlon
2018-05-08 13:00 ` Thomas Petazzoni
1 sibling, 1 reply; 4+ messages in thread
From: Thomas Petazzoni @ 2018-05-07 21:24 UTC (permalink / raw)
To: buildroot
Hello,
On Mon, 7 May 2018 23:26:23 +0300, Asaf Kahlon wrote:
> Fixes:
> http://autobuild.buildroot.net/results/b149aa2ee00e4d6a53c884cf99ecb2dd8af58b65/
> http://autobuild.buildroot.net/results/e4b3616ac2695d3b6898185a70da6509b1faa2b8/
>
> Patch the package to check if -latomic is needed to be added, depending on the
> result of AC_LINK_IFELSE.
Thanks for this new iteration.
> The patch was sent to upstream, see:
> https://github.com/zeromq/libzmq/pull/3083
Sadly, this pull request corresponds to the previous iteration, and it
has been merged. Perhaps you can send a follow-up patch upstream to
improve the situation ?
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH v2 1/1] zeromq: check if -latomic is needed
2018-05-07 21:24 ` Thomas Petazzoni
@ 2018-05-08 3:46 ` Asaf Kahlon
0 siblings, 0 replies; 4+ messages in thread
From: Asaf Kahlon @ 2018-05-08 3:46 UTC (permalink / raw)
To: buildroot
Sure, I'll send an update on the upstream.
Would it be necessary to send a new patch here? It will probably be the
same code, just the pull request link on the commit message will change
(and we won't be able to have a link with all the patch anyway since half
of it was already merged).
Thanks,
Asaf.
On Tue, May 8, 2018, 00:24 Thomas Petazzoni <thomas.petazzoni@bootlin.com>
wrote:
> Hello,
>
> On Mon, 7 May 2018 23:26:23 +0300, Asaf Kahlon wrote:
> > Fixes:
> >
> http://autobuild.buildroot.net/results/b149aa2ee00e4d6a53c884cf99ecb2dd8af58b65/
> >
> http://autobuild.buildroot.net/results/e4b3616ac2695d3b6898185a70da6509b1faa2b8/
> >
> > Patch the package to check if -latomic is needed to be added, depending
> on the
> > result of AC_LINK_IFELSE.
>
> Thanks for this new iteration.
>
> > The patch was sent to upstream, see:
> > https://github.com/zeromq/libzmq/pull/3083
>
> Sadly, this pull request corresponds to the previous iteration, and it
> has been merged. Perhaps you can send a follow-up patch upstream to
> improve the situation ?
>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20180508/877c8506/attachment.html>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH v2 1/1] zeromq: check if -latomic is needed
2018-05-07 20:26 [Buildroot] [PATCH v2 1/1] zeromq: check if -latomic is needed Asaf Kahlon
2018-05-07 21:24 ` Thomas Petazzoni
@ 2018-05-08 13:00 ` Thomas Petazzoni
1 sibling, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2018-05-08 13:00 UTC (permalink / raw)
To: buildroot
Hello,
On Mon, 7 May 2018 23:26:23 +0300, Asaf Kahlon wrote:
> Fixes:
> http://autobuild.buildroot.net/results/b149aa2ee00e4d6a53c884cf99ecb2dd8af58b65/
> http://autobuild.buildroot.net/results/e4b3616ac2695d3b6898185a70da6509b1faa2b8/
>
> Patch the package to check if -latomic is needed to be added, depending on the
> result of AC_LINK_IFELSE.
>
> The patch was sent to upstream, see:
> https://github.com/zeromq/libzmq/pull/3083
>
> Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
> ---
Applied to master, thanks.
Thomas
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-05-08 13:00 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-07 20:26 [Buildroot] [PATCH v2 1/1] zeromq: check if -latomic is needed Asaf Kahlon
2018-05-07 21:24 ` Thomas Petazzoni
2018-05-08 3:46 ` Asaf Kahlon
2018-05-08 13:00 ` Thomas Petazzoni
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.