Mir

Code review comment for lp:~alan-griffiths/mir/fix-1415321

Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

> (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