On Sun, Jul 8, 2018 at 8:36 AM Niels Möller nisse@lysator.liu.se wrote:
Nikos Mavrogiannopoulos nmav@redhat.com writes:
The attached version only exports symbols by wildcards and combines patches.
Thanks a lot. I've tried this out now (currently on master-updates branch for testing). I've noticed two problems:
x86_64 --enable-fat builds are broken, errors like
/home/nisse/hack/nettle/fat-x86_64.c:178:34: error: ‘nettle_sha1_compress_sha_ni’ undeclared (first use in this function) nettle_sha1_compress_vec = nettle_sha1_compress_sha_ni;
We have to decide if the name of this assembly function should be "nettle_sha1_compress_sha_ni" (and if so, update the macro DECLARE_FAT_FUNC_VAR in fat-setup.h and all uses), or "_nettle_sha1_compress_sha_ni" (and update definitions of m4 macro fat_transform in x86_64/fat/sha1-compress*.asm). The latter alternative seems best to me.
That would also mean the latter would be part of the ABI as we agreed on exporting symbols by wildcard. Seeing it further it seems that fat subsystem was not made for wildcard exporting of symbols, as it creates new symbols which can be exported.
The gnutls build fails with
Submodule path 'tests/suite/tls-fuzzer/tlslite-ng': checked out
'd976188fe7fd7466dc5cf0818a4ef87e37381897' ./bootstrap ./bootstrap: Bootstrapping from checked-out gnutls sources... ./bootstrap: consider installing git-merge-changelog from gnulib ./bootstrap: getting gnulib files... ./bootstrap: getting translations into po/.reference for gnutls... ./bootstrap: line 702: rsync: command not found wget: relocation error: /lib64/libgnutls.so.30: symbol nettle_secp_521r1, version HOGWEED_4 not defined in file libhogweed.so.4 with link time reference make: *** [cfg.mk:63: autoreconf] Error 127
My best guess that wget somehow got linked at runtime with the version of libhogweed under test (where the bump of soname and version numbers isn't done yet). If that's right, it should work if either the test scripts ensure that the system version of libhogweed is used here, or I check in a change to the soname to tell the linker that the development version under test is incompatible with the wget executable.
I think I'll first try to sort this out on the master-updates branch. If it turns out to be more complicated, I'll back out of these changes, and try to do the sha1_compress and md5_compress renaming first, to get less problems at a time.
I've updated the image of building gnutls. The f26 is no longer updated and cannot build the current master.
regards, Nikos