trifectatechfoundation / zlib-rs

A safer zlib
zlib License
134 stars 14 forks source link

ABI checking #34

Open bramtweedegolf opened 8 months ago

bramtweedegolf commented 8 months ago

Todo:

folkertdev commented 3 months ago
#!/bin/sh
set -e

zlib_path=$(ldconfig -p | grep "libz.so " | awk '{print $4}')
zlib_filename=$(basename "$zlib_path")
abidw $zlib_path > /tmp/$zlib_filename.abi

cargo build -p libz-rs-sys --release
abidw target/release/liblibz_rs_sys.so > /tmp/liblibz_rs_sys.so.abi

abidiff /tmp/$zlib_filename.abi /tmp/liblibz_rs_sys.so.abi

this reports the missing gz symbols, and also shows that we don't do symbol versioning currently

ELF SONAME changed
Functions changes summary: 0 Removed, 0 Changed, 0 Added function
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
Function symbols changes summary: 62 Removed, 0 Added function symbols not referenced by debug info
Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referenced by debug info

SONAME changed from 'libz.so.1' to ''

62 Removed function symbols not referenced by debug info:

  adler32_combine64@@ZLIB_1.2.3.3
  adler32_combine@@ZLIB_1.2.2
  adler32_z@@ZLIB_1.2.9
  compressBound@@ZLIB_1.2.0
  crc32_combine64@@ZLIB_1.2.3.3
  crc32_combine@@ZLIB_1.2.2
  crc32_z@@ZLIB_1.2.9
  deflateBound@@ZLIB_1.2.0
  deflateGetDictionary@@ZLIB_1.2.9
  deflatePending@@ZLIB_1.2.5.1
  deflatePrime@@ZLIB_1.2.0.8
  deflateResetKeep@@ZLIB_1.2.5.2
  deflateSetHeader@@ZLIB_1.2.2
  deflateTune@@ZLIB_1.2.2.3
  get_crc_table
  gzbuffer@@ZLIB_1.2.3.5
  gzclearerr@@ZLIB_1.2.0.2
  gzclose
  gzclose_r@@ZLIB_1.2.3.5
  gzclose_w@@ZLIB_1.2.3.5
  gzdirect@@ZLIB_1.2.2.3
  gzdopen
  gzeof
  gzerror
  gzflush
  gzfread@@ZLIB_1.2.9
  gzfwrite@@ZLIB_1.2.9
  gzgetc
  gzgetc_@@ZLIB_1.2.5.2
  gzgets
  gzoffset64@@ZLIB_1.2.3.5
  gzoffset@@ZLIB_1.2.3.5
  gzopen
  gzopen64@@ZLIB_1.2.3.3
  gzprintf
  gzputc
  gzputs
  gzread
  gzrewind
  gzseek
  gzseek64@@ZLIB_1.2.3.3
  gzsetparams
  gztell
  gztell64@@ZLIB_1.2.3.3
  gzungetc@@ZLIB_1.2.0.2
  gzvprintf@@ZLIB_1.2.7.1
  gzwrite
  inflateBack@@ZLIB_1.2.0
  inflateBackEnd@@ZLIB_1.2.0
  inflateBackInit_@@ZLIB_1.2.0
  inflateCodesUsed@@ZLIB_1.2.9
  inflateCopy@@ZLIB_1.2.0
  inflateGetDictionary@@ZLIB_1.2.7.1
  inflateGetHeader@@ZLIB_1.2.2
  inflateMark@@ZLIB_1.2.3.4
  inflatePrime@@ZLIB_1.2.2.4
  inflateReset2@@ZLIB_1.2.3.4
  inflateResetKeep@@ZLIB_1.2.5.2
  inflateUndermine@@ZLIB_1.2.3.3
  inflateValidate@@ZLIB_1.2.9
  uncompress2@@ZLIB_1.2.9
  zlibCompileFlags@@ZLIB_1.2.0.2