diff mbox series

[1/2] package/libtirpc: fix build with gcc 10

Message ID 20200228173052.5128-1-petr.vorel@gmail.com
State Superseded
Headers show
Series [1/2] package/libtirpc: fix build with gcc 10 | expand

Commit Message

Petr Vorel Feb. 28, 2020, 5:30 p.m. UTC
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
---
 ...ltiple-definiton-with-gcc-fno-common.patch | 48 +++++++++++++++++++
 1 file changed, 48 insertions(+)
 create mode 100644 package/libtirpc/0005-Avoid-multiple-definiton-with-gcc-fno-common.patch

Comments

Thomas Petazzoni March 3, 2020, 9:55 p.m. UTC | #1
On Fri, 28 Feb 2020 18:30:51 +0100
Petr Vorel <petr.vorel@gmail.com> wrote:

> Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
> ---
>  ...ltiple-definiton-with-gcc-fno-common.patch | 48 +++++++++++++++++++
>  1 file changed, 48 insertions(+)
>  create mode 100644 package/libtirpc/0005-Avoid-multiple-definiton-with-gcc-fno-common.patch

Is this for master or next ? Are you talking about gcc 10 for the host
or gcc 10 for the target ?

Thomas
Petr Vorel March 5, 2020, 4:37 a.m. UTC | #2
Hi Thomas,

> This issue seems to be happening only on the next branch. Why? Anything
> special in next compared to master?
No idea why, libtirpc itself it's the same. It'd help if I could find builds for
master, but autobuild search doesn't help to search packages, which does not
fail, there is only search for failed packages:

http://autobuild.buildroot.net/index.php?reason=libtirpc-1.2.5

Is it running for master?

Kind regards,
Petr
Petr Vorel March 5, 2020, 4:44 a.m. UTC | #3
Hi Thomas,

sorry, previous reply was for the second patch.

> Is this for master or next ? Are you talking about gcc 10 for the host
> or gcc 10 for the target ?
I experienced this just when for native build on other distro (this patch was
needed for openSUSE), send with a hope it's useful. But feel free to drop it,
libtirpc is releasing often, now it's libtirpc-1-2-6-rc2. As nobody complains
about it, it can wait till the package release.

Kind regards,
Petr
Thomas Petazzoni March 5, 2020, 8:03 a.m. UTC | #4
On Thu, 5 Mar 2020 05:37:08 +0100
Petr Vorel <petr.vorel@gmail.com> wrote:

> > This issue seems to be happening only on the next branch. Why? Anything
> > special in next compared to master?  
> No idea why, libtirpc itself it's the same. It'd help if I could find builds for
> master, but autobuild search doesn't help to search packages, which does not
> fail, there is only search for failed packages:
> 
> http://autobuild.buildroot.net/index.php?reason=libtirpc-1.2.5
> 
> Is it running for master?

You can search the autobuilders for successful build results, filtering
per config options. See http://autobuild.buildroot.net/search.php.

For example:

  http://autobuild.buildroot.net/index.php?status=OK&symbols%5BBR2_PACKAGE_LIBTIRPC%5D=y

will search all successful builds that had BR2_PACKAGE_LIBTIRPC enabled.

Best regards,

Thomas
Petr Vorel March 23, 2020, 7:42 p.m. UTC | #5
Hi Thomas,

> You can search the autobuilders for successful build results, filtering
> per config options. See http://autobuild.buildroot.net/search.php.

> For example:

>   http://autobuild.buildroot.net/index.php?status=OK&symbols%5BBR2_PACKAGE_LIBTIRPC%5D=y

> will search all successful builds that had BR2_PACKAGE_LIBTIRPC enabled.

Thanks! Not sure if it's just a slow net on my side, but search takes ages.
Not sure whether you still maintain this web service, but adding index on column
which stores symbols might help (suppose it uses database).

Kind regards,
Petr
Thomas Petazzoni March 24, 2020, 7:20 a.m. UTC | #6
Hello Petr,

On Mon, 23 Mar 2020 20:42:37 +0100
Petr Vorel <petr.vorel@gmail.com> wrote:

> > You can search the autobuilders for successful build results, filtering
> > per config options. See http://autobuild.buildroot.net/search.php.  
> 
> > For example:  
> 
> >   http://autobuild.buildroot.net/index.php?status=OK&symbols%5BBR2_PACKAGE_LIBTIRPC%5D=y  
> 
> > will search all successful builds that had BR2_PACKAGE_LIBTIRPC enabled.  
> 
> Thanks! Not sure if it's just a slow net on my side, but search takes ages.
> Not sure whether you still maintain this web service, but adding index on column
> which stores symbols might help (suppose it uses database).

The search has indeed never been "fast", but it's true that it's
particular slow now, much slower than it was. Not sure what happened,
as nothing changed.

You can find the schema of the MySQL database at
https://git.buildroot.org/buildroot-test/tree/web/schema.sql. It does
have indexes. However, the symbol_for_result table really has (tens
of?) millions of entries.

Last summer, we had an intern at Bootlin who worked on this, and
greatly improved the performance of those queries. But it seems like
this have worsen again, for some reason. I can share a dump of the
database if anybody wants to play with it.

Best regards,

Thomas
diff mbox series

Patch

diff --git a/package/libtirpc/0005-Avoid-multiple-definiton-with-gcc-fno-common.patch b/package/libtirpc/0005-Avoid-multiple-definiton-with-gcc-fno-common.patch
new file mode 100644
index 0000000000..35846bb6e2
--- /dev/null
+++ b/package/libtirpc/0005-Avoid-multiple-definiton-with-gcc-fno-common.patch
@@ -0,0 +1,48 @@ 
+From daed7eedba73907730241c5262a5c16c7abedb6f Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Tue, 21 Jan 2020 11:49:35 -0500
+Subject: [PATCH 1/2] Avoid multiple-definiton with gcc -fno-common
+
+GCC 10 enables -fno-common by default.
+
+Fixes: https://bugs.gentoo.org/705896
+
+Signed-off-by: Steve Dickson <steved@redhat.com>
+Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
+[ upstream status: daed7eedba73907730241c5262a5c16c7abedb6f ]
+---
+ src/rpc_com.h | 3 +--
+ src/svc.c     | 3 +++
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/src/rpc_com.h b/src/rpc_com.h
+index 10bec79..76badef 100644
+--- a/src/rpc_com.h
++++ b/src/rpc_com.h
+@@ -61,8 +61,7 @@ void __xprt_unregister_unlocked(SVCXPRT *);
+ void __xprt_set_raddr(SVCXPRT *, const struct sockaddr_storage *);
+ 
+ 
+-SVCXPRT **__svc_xports;
+-int __svc_maxrec;
++extern int __svc_maxrec;
+ 
+ #ifdef __cplusplus
+ }
+diff --git a/src/svc.c b/src/svc.c
+index b59467b..6db164b 100644
+--- a/src/svc.c
++++ b/src/svc.c
+@@ -57,6 +57,9 @@
+ 
+ #define max(a, b) (a > b ? a : b)
+ 
++static SVCXPRT **__svc_xports;
++int __svc_maxrec;
++
+ /*
+  * The services list
+  * Each entry represents a set of procedures (an rpc program).
+-- 
+2.25.1
+