:: [Dng] Is it useful to create a .so …
Forside
Slet denne besked
Besvar denne besked
Skribent: Edward Bartolo
Dato:  
Til: dng
Emne: [Dng] Is it useful to create a .so file to replace functions imported from libsystemd & Co.?
I am using lsof together with objdump -T executable to determine what
systemd functions are imported by essential XFCE4 executables.

For instance, this is for /usr/lib/gvfs/gvfs-udisks2-volume-monitor:

0000000000000000      DF *UND*    0000000000000000  LIBSYSTEMD_209
sd_session_get_seat
0000000000000000      DF *UND*    0000000000000000
udisks_object_get_type
0000000000000000      DF *UND*    0000000000000000
g_dbus_interface_get_type
0000000000000000      DF *UND*    0000000000000000              g_object_set_data
0000000000000000      DF *UND*    0000000000000000              g_value_set_variant
0000000000000000      DF *UND*    0000000000000000              g_volume_get_drive
0000000000000000      DF *UND*    0000000000000000
g_drive_is_media_check_automatic
0000000000000000      DF *UND*    0000000000000000
udisks_block_get_id_label
0000000000000000      DF *UND*    0000000000000000              g_error_new_literal
0000000000000000      DF *UND*    0000000000000000
udisks_filesystem_get_mount_points
0000000000000000      DF *UND*    0000000000000000
g_timeout_source_new_seconds
0000000000000000      DF *UND*    0000000000000000
udisks_object_info_get_description
0000000000000000      DF *UND*    0000000000000000
g_io_channel_set_flags
0000000000000000      DF *UND*    0000000000000000              g_variant_iter_free
0000000000000000      DF *UND*    0000000000000000
g_drive_get_identifier
0000000000000000      DF *UND*    0000000000000000
g_main_context_ref_thread_default
0000000000000000      DF *UND*    0000000000000000
udisks_client_peek_object
0000000000000000      DF *UND*    0000000000000000              g_type_class_peek
0000000000000000      DF *UND*    0000000000000000              g_variant_lookup
0000000000000000      DF *UND*    0000000000000000              g_strdup_vprintf
0000000000000000      DF *UND*    0000000000000000
udisks_block_dup_id_uuid
0000000000000000      DF *UND*    0000000000000000
g_unix_mount_get_fs_type
0000000000000000      DF *UND*    0000000000000000
g_unix_mount_point_get_options
0000000000000000      DF *UND*    0000000000000000
g_signal_accumulator_true_handled
0000000000000000      DF *UND*    0000000000000000
g_mount_get_symbolic_icon
0000000000000000      DF *UND*    0000000000000000              g_quark_try_string
0000000000000000      DF *UND*    0000000000000000
udisks_drive_call_eject_finish
0000000000000000      DF *UND*    0000000000000000  LIBSYSTEMD_209
sd_pid_get_session
0000000000000000      DF *UND*    0000000000000000              g_file_get_type



The exercise is to search for these functions in systemd's source code
and create a .so file with only the required functions. The functions
can also be reimplemented, but that takes more time than simply
stripping the required functions.

Edward