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.
We seem to now have a bunch of client functions living in libmircommon:
$ nm -D lib/libmircommon.so | grep 'T mir_' get_close_ surface_ event get_input_ event get_orientation _event get_prompt_ session_ event get_resize_ event get_surface_ event event_get_ device_ id event_get_ event_time event_get_ key_input_ event event_get_ pointer_ input_event event_get_ touch_input_ event event_get_ type input_event_ get_action input_event_ get_key_ code input_event_ get_modifiers input_event_ get_scan_ code _event_ get_direction input_event_ get_action input_event_ get_axis_ value input_event_ get_button_ state input_event_ get_modifiers session_ event_get_ state event_get_ height event_get_ width event_get_ attribute event_get_ attribute_ value input_event_ get_modifiers input_event_ get_touch_ action input_event_ get_touch_ axis_value input_event_ get_touch_ count input_event_ get_touch_ id input_event_ get_touch_ tooltype
0000000000010287 T mir_event_
000000000001012a T mir_event_
0000000000010264 T mir_event_
0000000000010241 T mir_event_
000000000001021e T mir_event_
00000000000101fb T mir_event_
0000000000010105 T mir_event_get_type
000000000001038e T mir_event_ref
00000000000103c6 T mir_event_unref
000000000002dae2 T mir_input_
000000000002dbea T mir_input_
000000000002dcf0 T mir_input_
000000000002e5b5 T mir_input_
000000000002e003 T mir_input_
000000000002d9d8 T mir_input_
000000000002ddc9 T mir_key_
000000000002de1e T mir_key_
000000000002dfab T mir_key_
000000000002de43 T mir_key_
0000000000010368 T mir_orientation
000000000002e6bb T mir_pointer_
000000000002e7d9 T mir_pointer_
000000000002e733 T mir_pointer_
000000000002e68f T mir_pointer_
0000000000010342 T mir_prompt_
000000000001031c T mir_resize_
00000000000102f6 T mir_resize_
00000000000102aa T mir_surface_
00000000000102d0 T mir_surface_
000000000002dfd7 T mir_touch_
000000000002e1df T mir_touch_
000000000002e453 T mir_touch_
000000000002e0dd T mir_touch_
000000000002e0f7 T mir_touch_
000000000002e349 T mir_touch_
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.