From: Peter Korsgaard <peter@korsgaard.com>
To: Arnout Vandecappelle <arnout@mind.be>
Cc: buildroot@buildroot.org
Subject: Re: [Buildroot] [git commit] utils/genrandconfig: disable libopenssl without atomics
Date: Thu, 29 Sep 2022 15:54:53 +0200 [thread overview]
Message-ID: <87mtai8evm.fsf@dell.be.48ers.dk> (raw)
In-Reply-To: <20220918134912.03172851A2@busybox.osuosl.org> (Arnout Vandecappelle's message of "Sun, 18 Sep 2022 15:36:36 +0200")
>>>>> "Arnout" == Arnout Vandecappelle <arnout@mind.be> writes:
> commit: https://git.buildroot.net/buildroot/commit/?id=af494d92d3d065a8939f0567bfbf312d177048f2
> branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master
> libopenssl needs atomic or the build will fail (e.g. on sparcv8 without
> libatomic):
> ${LDCMD:-/nvmedata/autobuild/instance-7/output-1/host/bin/sparc-buildroot-linux-uclibc-gcc} -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O0 -g2 -g2 -L. \
> -o apps/openssl apps/asn1pars.o apps/ca.o apps/ciphers.o apps/cms.o apps/crl.o apps/crl2p7.o apps/dgst.o apps/dhparam.o apps/dsa.o apps/dsaparam.o apps/ec.o apps/ecparam.o apps/enc.o apps/engine.o apps/errstr.o apps/gendsa.o apps/genpkey.o apps/genrsa.o apps/nseq.o apps/ocsp.o apps/openssl.o apps/passwd.o apps/pkcs12.o apps/pkcs7.o apps/pkcs8.o apps/pkey.o apps/pkeyparam.o apps/pkeyutl.o apps/prime.o apps/rand.o apps/rehash.o apps/req.o apps/rsa.o apps/rsautl.o apps/s_client.o apps/s_server.o apps/s_time.o apps/sess_id.o apps/smime.o apps/speed.o apps/spkac.o apps/srp.o apps/storeutl.o apps/ts.o apps/verify.o apps/version.o apps/x509.o \
> apps/libapps.a -lssl -lcrypto -ldl
> /nvmedata/autobuild/instance-7/output-1/host/lib/gcc/sparc-buildroot-linux-uclibc/10.3.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: ./libssl.so: undefined reference to `__atomic_fetch_sub_4'
> It should be noted that openssl3 has added OPENSSL_DEV_NO_ATOMICS but
> "this is intended for internal development only, to check the
> refcounting is properly coded. It should never become a configuration
> option, hence the name of the macro.":
> https://github.com/openssl/openssl/commit/503d4745a115b82db01c1fb22baaddb153d27cdb
> Atomics are not available in Buildroot if:
> - architecture is 32 bit and something other than ARM or xtensa, and
> - GCC < 4.8 or no threads or FLAT.
> The nothreads case can theoretically happen in many different
> situations, but in practice nobody disables threads. So the only
> interesting case is the FLAT case. Since ARM and RISC-V 64 both have
> atomics intrinsics, that leaves just m68k NOMMU as FLAT. So this is
> truly a corner case.
> The proper solution would be to patch GCC to also provide libatomic in
> those cases.
> - For nothreads, atomics are in fact not needed, so libatomic can simply
> be implemented as stubs.
> - For FLAT, it's probably just a matter of having a match to uclinux in
> libatomic/configure.tgt.
> Again, though, this happens only in such niche cases that it's not worth
> working on it.
> Fixes:
> - http://autobuild.buildroot.org/results/bce526d538f43a541fdfbc0c9b4a7cecebbbc539
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
Committed to 2022.08.x, thanks.
--
Bye, Peter Korsgaard
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
prev parent reply other threads:[~2022-09-29 13:55 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-18 13:36 [Buildroot] [git commit] utils/genrandconfig: disable libopenssl without atomics Arnout Vandecappelle
2022-09-18 15:18 ` Yann E. MORIN
2022-09-29 13:54 ` Peter Korsgaard [this message]
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=87mtai8evm.fsf@dell.be.48ers.dk \
--to=peter@korsgaard.com \
--cc=arnout@mind.be \
--cc=buildroot@buildroot.org \
/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