> (2) The regression test needs to be enabled in examples/CMakeLists.txt: > # FIXME: Bug not fixed yet. > if (MIR_ENABLE_TESTS AND MIR_TEST_CLIENT_ABI) > # Regression tests for LP: #1415321 > [Needs Fixing]
Oddly this fails with clang. E.g.
$ objdump -p bin/.mir_demo_client_basic-uninstalled | grep NEEDED | grep libmir | grep -v libmirclient NEEDED libmircommon.so.4 NEEDED libmirprotobuf.so.0
It looks as though the clang linker creates empty entries for these in the .dynstr section:
$ readelf --string-dump=.dynstr bin/.mir_demo_client_basic-uninstalled
String dump of section '.dynstr': [ 1] libmirclient.so.9 [ 13] mir_buffer_stream_swap_buffers_sync [ 37] mir_surface_create [ 4a] mir_surface_get_buffer_stream [ 68] mir_surface_get_error_message [ 86] mir_connection_get_error_message [ a7] mir_connection_release [ be] mir_surface_spec_release [ d7] _Jv_RegisterClasses [ eb] mir_connection_is_valid [ 103] mir_connect [ 10f] mir_wait_for [ 11c] mir_surface_release [ 130] mir_surface_spec_set_name [ 14a] mir_connection_get_available_surface_formats [ 177] mir_buffer_stream_get_current_buffer [ 19c] mir_connection_get_platform [ 1b8] _ITM_deregisterTMCloneTable [ 1d4] mir_surface_is_valid [ 1e9] __gmon_start__ [ 1f8] mir_buffer_stream_get_platform_type [ 21c] mir_connection_create_spec_for_normal_surface [ 24a] _ITM_registerTMCloneTable [ 264] libboost_date_time.so.1.55.0 [ 281] libboost_system.so.1.55.0 [ 29b] libboost_program_options.so.1.55.0 [ 2be] libboost_filesystem.so.1.55.0 [ 2dc] libprotobuf.so.9 [ 2ed] libxkbcommon.so.0 [ 2ff] libdl.so.2 [ 30a] libmircommon.so.4 [ 31c] libudev.so.1 [ 329] libmirprotobuf.so.0 [ 33d] libstdc++.so.6 [ 34c] libm.so.6 [ 356] libgcc_s.so.1 [ 364] libpthread.so.0 [ 374] libc.so.6 [ 37e] puts [ 383] __assert_fail [ 391] getopt [ 398] optarg [ 39f] stderr [ 3a6] atoi [ 3ab] fprintf [ 3b3] opterr [ 3ba] strcmp [ 3c1] __libc_start_main [ 3d3] _edata [ 3da] __bss_start [ 3e6] _end [ 3eb] _IO_stdin_used [ 3fa] __data_start [ 407] __libc_csu_init [ 417] __libc_csu_fini [ 427] demo_client [ 433] GLIBC_2.2.5 [ 43f] MIR_CLIENT_9
« Back to merge proposal
> (2) The regression test needs to be enabled in examples/ CMakeLists. txt: CLIENT_ ABI)
> # FIXME: Bug not fixed yet.
> if (MIR_ENABLE_TESTS AND MIR_TEST_
> # Regression tests for LP: #1415321
> [Needs Fixing]
Oddly this fails with clang. E.g.
$ objdump -p bin/.mir_ demo_client_ basic-uninstall ed | grep NEEDED | grep libmir | grep -v libmirclient
NEEDED libmircommon.so.4
NEEDED libmirprotobuf.so.0
It looks as though the clang linker creates empty entries for these in the .dynstr section:
$ readelf --string- dump=.dynstr bin/.mir_ demo_client_ basic-uninstall ed
String dump of section '.dynstr': stream_ swap_buffers_ sync get_buffer_ stream get_error_ message get_error_ message release spec_release is_valid spec_set_ name get_available_ surface_ formats stream_ get_current_ buffer get_platform TMCloneTable is_valid stream_ get_platform_ type create_ spec_for_ normal_ surface CloneTable date_time. so.1.55. 0 system. so.1.55. 0 program_ options. so.1.55. 0 filesystem. so.1.55. 0
[ 1] libmirclient.so.9
[ 13] mir_buffer_
[ 37] mir_surface_create
[ 4a] mir_surface_
[ 68] mir_surface_
[ 86] mir_connection_
[ a7] mir_connection_
[ be] mir_surface_
[ d7] _Jv_RegisterClasses
[ eb] mir_connection_
[ 103] mir_connect
[ 10f] mir_wait_for
[ 11c] mir_surface_release
[ 130] mir_surface_
[ 14a] mir_connection_
[ 177] mir_buffer_
[ 19c] mir_connection_
[ 1b8] _ITM_deregister
[ 1d4] mir_surface_
[ 1e9] __gmon_start__
[ 1f8] mir_buffer_
[ 21c] mir_connection_
[ 24a] _ITM_registerTM
[ 264] libboost_
[ 281] libboost_
[ 29b] libboost_
[ 2be] libboost_
[ 2dc] libprotobuf.so.9
[ 2ed] libxkbcommon.so.0
[ 2ff] libdl.so.2
[ 30a] libmircommon.so.4
[ 31c] libudev.so.1
[ 329] libmirprotobuf.so.0
[ 33d] libstdc++.so.6
[ 34c] libm.so.6
[ 356] libgcc_s.so.1
[ 364] libpthread.so.0
[ 374] libc.so.6
[ 37e] puts
[ 383] __assert_fail
[ 391] getopt
[ 398] optarg
[ 39f] stderr
[ 3a6] atoi
[ 3ab] fprintf
[ 3b3] opterr
[ 3ba] strcmp
[ 3c1] __libc_start_main
[ 3d3] _edata
[ 3da] __bss_start
[ 3e6] _end
[ 3eb] _IO_stdin_used
[ 3fa] __data_start
[ 407] __libc_csu_init
[ 417] __libc_csu_fini
[ 427] demo_client
[ 433] GLIBC_2.2.5
[ 43f] MIR_CLIENT_9