Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ABI checking #34

Open
bramtweedegolf opened this issue Feb 19, 2024 · 1 comment
Open

ABI checking #34

bramtweedegolf opened this issue Feb 19, 2024 · 1 comment

Comments

@bramtweedegolf
Copy link
Collaborator

bramtweedegolf commented Feb 19, 2024

Todo:

@folkertdev
Copy link
Collaborator

#!/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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants