Control: severity -1 normal

Hi Sebastian,

On Sat, Sep 05, 2020 at 09:03:20PM +0200, Sebastian Andrzej Siewior wrote:
> The symbol file records for instance the following symbols:
>       ZSTD_minCLevel
>       ZSTD_compressStream2
> 
> as present in 1.3.8. This isn't entirely correct.  Both symbols were
> present in 1.3.8 but they were hidden behind ZSTD_STATIC_LINKING_ONLY
> and only available for static linking.
> They are available for dynamic linking since 1.4.0, please see commit
>    d7d89513d6a21 ("Stabilize advance API")

That was no doubt the intention, however in practice the symbol
visibility wasn’t as expected: looking at the .so build in version
1.3.8, common/pool.c includes common/zstd_internal.h which defines
ZSTD_STATIC_LINKING_ONLY before including zstd.h, and as a result the
symbols are visible.

(It’s unfortunate that the build hides the exact commands used, so
they’re not visible in the build logs, but that’s another issue. Easy
enough to fix in a local build to see exactly what’s going on...)

So the cat is out of the bag, and the symbols are present and visible
in the .so. The symbols file is generated and only reflects the
reality of what is present in the file (apart from the version numbers
which are added manually).

Regards,

Stephen

Attachment: signature.asc
Description: PGP signature

Reply via email to