Skip to contentSkip to conversation

package/libmicrohttpd: Fix pthread detection on bfin and arc

PATCH New Bernd Kuhls 4 participants 4 messages Jun 13, 2016 – Jul 3, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 package/libmicrohttpd: Fix pthread detection on bfin and arc

Fixes
http://autobuild.buildroot.net/results/593/593b5050473a83a9ddcada9de39f8f14ab38d554/
http://autobuild.buildroot.net/results/ff0/ff058a378b91740b5b399f32a6b375fbc3c8df06/

---
 package/libmicrohttpd/0001-pthread-reentrant.patch | 31 ++++++++++++++++++++++
 1 file changed, 31 insertions(+)
 create mode 100644 package/libmicrohttpd/0001-pthread-reentrant.patch
package/libmicrohttpd/0001-pthread-reentrant.patch new file +31 -0
new file mode 100644
index 0000000..4f576fa
@@ -0,0 +1,31 @@
+Fix pthread detection
+
+The latest version bump included an update to m4/ax_pthread.m4 from
+GNU autoconf which changed the way configure looks for pthread support.
+
+On Linux the macro _REENTRANT is now being searched for:
+https://github.com/peti/autoconf-archive/commit/39683064bbccb4008f239262cb681a970bf53603#diff-851a07ee321dc42003ac94cf4a9628faR211
+which fails at least on arc and blackfin.
+
+Before the autoconf update _REENTRANT was not searched on Linux:
+https://github.com/peti/autoconf-archive/commit/39683064bbccb4008f239262cb681a970bf53603#diff-851a07ee321dc42003ac94cf4a9628faL273
+
+This patch removes the check for the Linux platform by patching the
+configure script directly to avoid an autoreconf run.
+
+Signed-off-by: Bernd Kuhls <[email protected]>
+(Problem reported upstream:
+ https://savannah.gnu.org/patch/?8186#comment24)
+
+diff -uNr libmicrohttpd-0.9.50.org/configure libmicrohttpd-0.9.50/configure
+--- libmicrohttpd-0.9.50.org/configure	2016-06-02 10:03:29.000000000 +0200
++++ libmicrohttpd-0.9.50/configure	2016-06-13 21:11:36.688144929 +0200
+@@ -13761,7 +13761,7 @@
+ # correctly enabled
+ 
+ case $host_os in
+-        darwin* | hpux* | linux* | osf* | solaris*)
++        darwin* | hpux* | osf* | solaris*)
+         ax_pthread_check_macro="_REENTRANT"
+         ;;
+ 
Signature · 1 line
2.8.1
#1 lore raw

PATCH 1/1 package/libmicrohttpd: Fix pthread detection on bfin and arc

Hello,

Quoted 37 lines · Bernd Kuhls

Fixes
http://autobuild.buildroot.net/results/593/593b5050473a83a9ddcada9de39f8f14ab38d554/
http://autobuild.buildroot.net/results/ff0/ff058a378b91740b5b399f32a6b375fbc3c8df06/

---
?package/libmicrohttpd/0001-pthread-reentrant.patch | 31 ++++++++++++++++++++++ ?1 file changed, 31 insertions(+)
?create mode 100644 package/libmicrohttpd/0001-pthread-reentrant.patch

package/libmicrohttpd/0001-pthread-reentrant.patch new file +21 -0
new file mode 100644
index 0000000..4f576fa
@@ -0,0 +1,31 @@
+Fix pthread detection
+
+The latest version bump included an update to m4/ax_pthread.m4 from
+GNU autoconf which changed the way configure looks for pthread support.
+
+On Linux the macro _REENTRANT is now being searched for:
+https://github.com/peti/autoconf-archive/commit/39683064bbccb4008f239262cb681a970bf53603#diff-851a07ee321dc42003ac94cf4a9628faR211
+which fails at least on arc and blackfin.
+
+Before the autoconf update _REENTRANT was not searched on Linux:
+https://github.com/peti/autoconf-archive/commit/39683064bbccb4008f239262cb681a970bf53603#diff-851a07ee321dc42003ac94cf4a9628faL273
+
+This patch removes the check for the Linux platform by patching the
+configure script directly to avoid an autoreconf run.
+
+Signed-off-by: Bernd Kuhls <[email protected]>
+(Problem reported upstream:
+ https://savannah.gnu.org/patch/?8186#comment24)
+
+diff -uNr libmicrohttpd-0.9.50.org/configure libmicrohttpd-0.9.50/configure
+--- libmicrohttpd-0.9.50.org/configure	2016-06-02 10:03:29.000000000 +0200

package/libmicrohttpd/0001-pthread-reentrant.patch line 31

Quoted 10 lines
package/libmicrohttpd/0001-pthread-reentrant.patch new file +10 -0
++++ libmicrohttpd-0.9.50/configure	2016-06-13 21:11:36.688144929 +0200
+@@ -13761,7 +13761,7 @@
+ # correctly enabled
+?
+ case $host_os in
+-????????darwin* | hpux* | linux* | osf* | solaris*)
++????????darwin* | hpux* | osf* | solaris*)
+?????????ax_pthread_check_macro="_REENTRANT"
+?????????;;
+?

I applied this patch on upstream master (git-id: 55bf6034d440ccc91c7d7c914dbc040c8264b6bf). The problem with libmicrohttpd build is fixed by this patch.

Are there any comments or remarks about the patch?? If not, then please consider to apply it.

Signature · 2 lines
Best regards,
Vlad Zakharov <[email protected]>
#2 lore raw

PATCH 1/1 package/libmicrohttpd: Fix pthread detection on bfin and arc

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Vlad" == Vlad Zakharov <[email protected]> writes:

Hi,

Quoted 39 lines
Quoted 23 lines

+++ b/package/libmicrohttpd/0001-pthread-reentrant.patch

package/libmicrohttpd/0001-pthread-reentrant.patch new file +21 -0
@@ -0,0 +1,31 @@
+Fix pthread detection
+
+The latest version bump included an update to m4/ax_pthread.m4 from
+GNU autoconf which changed the way configure looks for pthread support.
+
+On Linux the macro _REENTRANT is now being searched for:
+https://github.com/peti/autoconf-archive/commit/39683064bbccb4008f239262cb681a970bf53603#diff-851a07ee321dc42003ac94cf4a9628faR211
+which fails at least on arc and blackfin.
+
+Before the autoconf update _REENTRANT was not searched on Linux:
+https://github.com/peti/autoconf-archive/commit/39683064bbccb4008f239262cb681a970bf53603#diff-851a07ee321dc42003ac94cf4a9628faL273
+
+This patch removes the check for the Linux platform by patching the
+configure script directly to avoid an autoreconf run.
+
+Signed-off-by: Bernd Kuhls <[email protected]>
+(Problem reported upstream:
+ https://savannah.gnu.org/patch/?8186#comment24)
+
+diff -uNr libmicrohttpd-0.9.50.org/configure libmicrohttpd-0.9.50/configure
+--- libmicrohttpd-0.9.50.org/configure	2016-06-02 10:03:29.000000000 +0200

package/libmicrohttpd/0001-pthread-reentrant.patch line 31

Quoted 10 lines
package/libmicrohttpd/0001-pthread-reentrant.patch new file +10 -0
++++ libmicrohttpd-0.9.50/configure	2016-06-13 21:11:36.688144929 +0200
+@@ -13761,7 +13761,7 @@
+ # correctly enabled
+?
+ case $host_os in
+-????????darwin* | hpux* | linux* | osf* | solaris*)
++????????darwin* | hpux* | osf* | solaris*)
+?????????ax_pthread_check_macro="_REENTRANT"
+?????????;;
+?

I applied this patch on upstream master (git-id:
55bf6034d440ccc91c7d7c914dbc040c8264b6bf). The problem with libmicrohttpd build is fixed by
this patch.

Quoted 1 line

Are there any comments or remarks about the patch??

It is pretty icky to directly patch configure (E.G. what to do if we need to autoreconf it in the future?)

The comment upstream (https://savannah.gnu.org/patch/?8186#comment25)
hints that it is rather a bug in the arc compiler. Do you know why gcc for arc doesn't define _REENTRANT when -pthread is passed?

Signature · 2 lines
Venlig hilsen,
Peter Korsgaard 
#3 lore raw

PATCH 1/1 package/libmicrohttpd: Fix pthread detection on bfin and arc

In reply to Bernd Kuhls

Hello,

Quoted 5 lines · Bernd Kuhls

Fixes
http://autobuild.buildroot.net/results/593/593b5050473a83a9ddcada9de39f8f14ab38d554/
http://autobuild.buildroot.net/results/ff0/ff058a378b91740b5b399f32a6b375fbc3c8df06/

Since Peter was not too happy about your proposal, I submitted a different one, at http://patchwork.ozlabs.org/patch/634835/, which consists in defining _REENTRANT on Blackfin and ARC, to compensate for the compiler bug.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com