openssl/providers/fips/build.info
Richard Levitte b938544969 PROV: Relegate most of the FIPS provider code to libfips.a
provider/fips/fipsprov.c contains a number of symbols that get used by
anything that's included in libfips.a, at least on Unix.
Unfortunately, there are platforms that do not support resolving
symbols to things that are already included in the end product (module
in this case) being built; they only support resolving symbols with
what comes next in the linking process.

The offending symbols in this case are FIPS_security_check_enabled,
c_thread_start and ossl_fips_intern_provider_init.

We resolve this by placing provider/fips/fipsprov.c in libfips.a along
with everything else there.  That takes care of the offending symbols.
What remains is to ensure that there is an entry point in an object
file used directly when linking the module, providers/fips/fips_entry.c

Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15370)
2021-05-21 12:08:31 +02:00

7 lines
279 B
Plaintext

# We include the provider implementation into ../libfips.a, so that all
# platforms can resolve symbols in other members of that library.
SOURCE[../libfips.a]=fipsprov.c self_test.c self_test_kats.c
# It is necessary to have an explicit entry point
SOURCE[../fips]=fips_entry.c