Symbol visibility is different between available build systems on Linux
At !379 (comment 1707997) a difference with symbol visibility has been detected.
How to reproduce
- checkout dbus source into ~/src/dbus
- enter that directory
- run the following commands
autotools
$ sudo ci_buildsys=autotools ci_variant=debug tools/ci-install.sh
$ builddir=build-autotools ci_buildsys=autotools ci_variant=debug tools/ci-build.sh
$ nm build-autotools/dbus/.libs/libdbus-1.so | grep _dbus_counter_get
00000000001a104c t _dbus_counter_get_peak_size_value
00000000001a10ac t _dbus_counter_get_peak_unix_fd_value
00000000001a0cfb t _dbus_counter_get_size_value
00000000001a0d5b t _dbus_counter_get_unix_fd_value
cmake
$ sudo ci_buildsys=cmake ci_variant=debug tools/ci-install.sh
$ builddir=build-cmake ci_buildsys=cmake ci_variant=debug tools/ci-build.sh
$ nm build-cmake/lib/libdbus-1.so.3.35.0 | grep _dbus_counter_get
0000000000063e54 T _dbus_counter_get_size_value
0000000000063e94 T _dbus_counter_get_unix_fd_value
and meson
$ sudo ci_buildsys=meson ci_variant=debug tools/ci-install.sh
$ builddir=build-meson ci_buildsys=meson ci_variant=debug tools/ci-build.sh
$ nm build-meson/dbus/libdbus-1.so.3.35.0 | grep _dbus_counter_get
0000000000064712 T _dbus_counter_get_peak_size_value
0000000000064752 T _dbus_counter_get_peak_unix_fd_value
0000000000064504 T _dbus_counter_get_size_value
000000000006458c T _dbus_counter_get_unix_fd_value
It seems that cmake and meson always export symbols ignoring any _EXPORT declarations, which are honored by the autotools build system.