Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/1] libbsd: remove usage of __register_atfork
Date: Sun, 14 Oct 2018 10:58:13 +0200	[thread overview]
Message-ID: <20181014105813.7123ba04@windsurf> (raw)
In-Reply-To: <20181003175409.26025-1-fontaine.fabrice@gmail.com>

Hello,

+Arnout in Cc.

On Wed,  3 Oct 2018 19:54:09 +0200, Fabrice Fontaine wrote:
> The following error is raised by minizip:
> 
> [100%] Linking C executable minizip
> /home/peko/autobuild/instance-0/output/host/m68k-buildroot-uclinux-uclibc/sysroot/usr/lib/libbsd.a(arc4random.o): In function `_rs_init.part.1':
> arc4random.c:(.text+0xaa): undefined reference to `__register_atfork'
> collect2: error: ld returned 1 exit status
> 
> As specified in openssl/Config.in, uClibc on noMMU doesn't provide
> __register_atfork() so, as suggested by Arnout during review of minizip
> patch (https://patchwork.ozlabs.org/patch/978000), remove usage of this
> function from libbsd to always use pthread_atfork
> 
> Fixes:
>  - http://autobuild.buildroot.org/results/df2dcbdceaa01a2ae37bf09140e4dbef0a5b9489
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ---
>  ...02-Remove-usage-of-__register_atfork.patch | 39 +++++++++++++++++++
>  1 file changed, 39 insertions(+)
>  create mode 100644 package/libbsd/0002-Remove-usage-of-__register_atfork.patch

With this change, the build fails in the CI of libbsd:
https://gitlab.freedesktop.org/ffontaine/libbsd/-/jobs/26984:

../src/.libs/libbsd.so: undefined reference to `pthread_atfork'

I guess that's because pthread_atfork() requires linking against
libpthread ?

Also, pthread_atfork() does not have the dso_handle argument that
__register_atfork() has. Is this important in the context of libbsd ?
See
https://gitlab.com/gnutls/gnutls/commit/84b1a7ac383bf1db4c73b8f044170446deca8b2e
for example. I would assume no, because there was already a fallback on
pthread_atfork() in libbsd.

Also, Arnout said __register_atfork() is an internal function, but
it is documented in LSB:
http://refspecs.linuxbase.org/LSB_3.0.0/LSB-PDA/LSB-PDA/baselib--register-atfork.html.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

  reply	other threads:[~2018-10-14  8:58 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-03 17:54 [Buildroot] [PATCH 1/1] libbsd: remove usage of __register_atfork Fabrice Fontaine
2018-10-14  8:58 ` Thomas Petazzoni [this message]
2018-11-28 17:04   ` Fabrice Fontaine
2018-11-28 18:57     ` Yann E. MORIN

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181014105813.7123ba04@windsurf \
    --to=thomas.petazzoni@bootlin.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox