Mir

Comment 0 for bug 1415321

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

We seem to now have a bunch of client functions living in libmircommon:

$ nm -D lib/libmircommon.so | grep 'T mir_'
0000000000010287 T mir_event_get_close_surface_event
000000000001012a T mir_event_get_input_event
0000000000010264 T mir_event_get_orientation_event
0000000000010241 T mir_event_get_prompt_session_event
000000000001021e T mir_event_get_resize_event
00000000000101fb T mir_event_get_surface_event
0000000000010105 T mir_event_get_type
000000000001038e T mir_event_ref
00000000000103c6 T mir_event_unref
000000000002dae2 T mir_input_event_get_device_id
000000000002dbea T mir_input_event_get_event_time
000000000002dcf0 T mir_input_event_get_key_input_event
000000000002e5b5 T mir_input_event_get_pointer_input_event
000000000002e003 T mir_input_event_get_touch_input_event
000000000002d9d8 T mir_input_event_get_type
000000000002ddc9 T mir_key_input_event_get_action
000000000002de1e T mir_key_input_event_get_key_code
000000000002dfab T mir_key_input_event_get_modifiers
000000000002de43 T mir_key_input_event_get_scan_code
0000000000010368 T mir_orientation_event_get_direction
000000000002e6bb T mir_pointer_input_event_get_action
000000000002e7d9 T mir_pointer_input_event_get_axis_value
000000000002e733 T mir_pointer_input_event_get_button_state
000000000002e68f T mir_pointer_input_event_get_modifiers
0000000000010342 T mir_prompt_session_event_get_state
000000000001031c T mir_resize_event_get_height
00000000000102f6 T mir_resize_event_get_width
00000000000102aa T mir_surface_event_get_attribute
00000000000102d0 T mir_surface_event_get_attribute_value
000000000002dfd7 T mir_touch_input_event_get_modifiers
000000000002e1df T mir_touch_input_event_get_touch_action
000000000002e453 T mir_touch_input_event_get_touch_axis_value
000000000002e0dd T mir_touch_input_event_get_touch_count
000000000002e0f7 T mir_touch_input_event_get_touch_id
000000000002e349 T mir_touch_input_event_get_touch_tooltype

Strangely, that's a lot more than even symbols.map says should be exported.

I think this could cause serious risk to clients/toolkits that call them. As their symbol versions are no longer tied to the stable client ABI, but instead tied to the more volatile mircommon ABI.