From b8372d1184f5dc91d0bfe36c103c961888b21a9a Mon Sep 17 00:00:00 2001 From: Manuel Bentele Date: Thu, 30 May 2019 23:47:49 +0200 Subject: Regenerated call graphs with pycflow2dot The call graphs are regenerated to obtain a more detailed view of all used functions in the implementations compared to the call graphs generated by gcc and egypt --- analysis/losetup/call_graph_losetup.svg | 2292 +++++++++++++++---------------- 1 file changed, 1095 insertions(+), 1197 deletions(-) (limited to 'analysis/losetup/call_graph_losetup.svg') diff --git a/analysis/losetup/call_graph_losetup.svg b/analysis/losetup/call_graph_losetup.svg index 0183307..64edfc7 100644 --- a/analysis/losetup/call_graph_losetup.svg +++ b/analysis/losetup/call_graph_losetup.svg @@ -3,1457 +3,1355 @@ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> - - - -callgraph - - + + + +%3 + + -loopcxt_deinit - -loopcxt_deinit +main + +main - + -ul_debugobj - -ul_debugobj +setlocale + +setlocale - + -loopcxt_deinit->ul_debugobj - - +main->setlocale + + - + -loopcxt_set_device - -loopcxt_set_device +bindtextdomain + +bindtextdomain - + -loopcxt_deinit->loopcxt_set_device - - +main->bindtextdomain + + - + -loopcxt_deinit_iterator - -loopcxt_deinit_iterator +textdomain + +textdomain - + -loopcxt_deinit->loopcxt_deinit_iterator - - +main->textdomain + + - - -loopcxt_set_device->ul_debugobj - - - - - -loopcxt_deinit_iterator->ul_debugobj - - - - + -loopcxt_next_from_proc - -loopcxt_next_from_proc +atexit + +atexit - + -loopcxt_next_from_proc->ul_debugobj - - +main->atexit + + - + -loopiter_set_device - -loopiter_set_device +loopcxt_init + +loopcxt_init - + -loopcxt_next_from_proc->loopiter_set_device - - - - - -loopiter_set_device->ul_debugobj - - - - - -loopiter_set_device->loopcxt_set_device - - - - - -loopcxt_get_offset - -loopcxt_get_offset - - - -loopiter_set_device->loopcxt_get_offset - - - - - -is_loopdev - -is_loopdev - - - -loopiter_set_device->is_loopdev - - +main->loopcxt_init + + - + -loopcxt_get_sizelimit - -loopcxt_get_sizelimit - - - -loopcxt_get_sizelimit->ul_debugobj - - +err + +err - - -loopcxt_get_info - -loopcxt_get_info - - + -loopcxt_get_sizelimit->loopcxt_get_info - - +main->err + + - - -loopcxt_get_sysfs - -loopcxt_get_sysfs + + +getopt_long + +getopt_long - + -loopcxt_get_sizelimit->loopcxt_get_sysfs - - +main->getopt_long + + - - -loopcxt_get_info->ul_debugobj - - - - - -loopcxt_get_fd - -loopcxt_get_fd - - - -loopcxt_get_info->loopcxt_get_fd - - + + +err_exclusive_options + +err_exclusive_options - - -loopcxt_get_sysfs->ul_debugobj - - + + +main->err_exclusive_options + + - + -loop_scandir.part.0 - -loop_scandir.part.0 - - - -ul_debug.constprop - -ul_debug.constprop +strtosize_or_err + +strtosize_or_err - + -loop_scandir.part.0->ul_debug.constprop - - - - - -delete_loop - -delete_loop +main->strtosize_or_err + + - - -loopcxt_get_device - -loopcxt_get_device + + +is_loopdev + +is_loopdev - + -delete_loop->loopcxt_get_device - - +main->is_loopdev + + - - -loopcxt_delete_device - -loopcxt_delete_device + + +loopcxt_set_device + +loopcxt_set_device - + -delete_loop->loopcxt_delete_device - - +main->loopcxt_set_device + + - - -loopcxt_delete_device->ul_debugobj - - + + +usage + +usage - - -loopcxt_delete_device->loopcxt_get_fd - - + + +main->usage + + - - -loopcxt_next_from_sysfs - -loopcxt_next_from_sysfs + + +ARRAY_SIZE + +ARRAY_SIZE - + -loopcxt_next_from_sysfs->ul_debugobj - - +main->ARRAY_SIZE + + - - -loopcxt_next_from_sysfs->loopiter_set_device - - + + +parse_switch + +parse_switch - + + +main->parse_switch + + + + -loopcxt_get_encrypt_type - -loopcxt_get_encrypt_type +printf + +printf - + -loopcxt_get_encrypt_type->ul_debugobj - - +main->printf + + - - -loopcxt_get_encrypt_type->loopcxt_get_info - - - - + -set_scols_data - -set_scols_data - - - -set_scols_data->loopcxt_get_sizelimit - - +errtryhelp + +errtryhelp - - -set_scols_data->loopcxt_get_device - - - - - -loopcxt_get_backing_file - -loopcxt_get_backing_file - - + -set_scols_data->loopcxt_get_backing_file - - +main->errtryhelp + + - - -loopcxt_is_readonly - -loopcxt_is_readonly + + +ul_path_init_debug + +ul_path_init_debug - + -set_scols_data->loopcxt_is_readonly - - +main->ul_path_init_debug + + - - -loopcxt_get_blocksize - -loopcxt_get_blocksize + + +ul_sysfs_init_debug + +ul_sysfs_init_debug - + -set_scols_data->loopcxt_get_blocksize - - +main->ul_sysfs_init_debug + + - - -loopcxt_get_backing_devno - -loopcxt_get_backing_devno + + +errx + +errx - + -set_scols_data->loopcxt_get_backing_devno - - +main->errx + + - - -get_column_id - -get_column_id + + +string_add_to_idarray + +string_add_to_idarray - + -set_scols_data->get_column_id - - +main->string_add_to_idarray + + - - -xasprintf - -xasprintf + + +column_name_to_id + +column_name_to_id - + -set_scols_data->xasprintf - - +main->column_name_to_id + + - - -loopcxt_get_backing_inode - -loopcxt_get_backing_inode + + +warnx + +warnx - + -set_scols_data->loopcxt_get_backing_inode - - +main->warnx + + - - -loopcxt_is_autoclear - -loopcxt_is_autoclear + + +create_loop + +create_loop - + -set_scols_data->loopcxt_is_autoclear - - +main->create_loop + + - - -loopcxt_is_partscan - -loopcxt_is_partscan + + +loopcxt_deinit + +loopcxt_deinit - + -set_scols_data->loopcxt_is_partscan - - +main->loopcxt_deinit + + - - -loopcxt_is_dio - -loopcxt_is_dio + + +loopcxt_get_device + +loopcxt_get_device - + -set_scols_data->loopcxt_is_dio - - +main->loopcxt_get_device + + - - -set_scols_data->loopcxt_get_offset - - + + +loopcxt_find_unused + +loopcxt_find_unused - - -loopcxt_get_backing_file->ul_debugobj - - + + +main->loopcxt_find_unused + + - - -loopcxt_get_backing_file->loopcxt_get_info - - + + +warn + +warn - - -loopcxt_get_backing_file->loopcxt_get_sysfs - - + + +main->warn + + - - -loopcxt_is_readonly->loopcxt_get_info - - + + +warn_size + +warn_size - - -loopcxt_is_readonly->loopcxt_get_sysfs - - + + +main->warn_size + + - - -loopcxt_get_blocksize->ul_debugobj - - + + +delete_loop + +delete_loop - - -loopcxt_get_blocksize->loopcxt_get_sysfs - - + + +main->delete_loop + + - - -loopcxt_get_blocksize->loopcxt_get_fd - - + + +delete_all_loops + +delete_all_loops - - -loopcxt_get_backing_devno->ul_debugobj - - + + +main->delete_all_loops + + - - -loopcxt_get_backing_devno->loopcxt_get_info - - - - - -loopcxt_get_backing_inode->ul_debugobj - - - - - -loopcxt_get_backing_inode->loopcxt_get_info - - - - - -loopcxt_is_autoclear->loopcxt_get_info - - + + +access + +access - - -loopcxt_is_autoclear->loopcxt_get_sysfs - - + + +main->access + + - - -loopcxt_is_partscan->loopcxt_get_sysfs - - + + +show_table + +show_table - - -loopmod_supports_partscan - -loopmod_supports_partscan + + +main->show_table + + - - -loopcxt_is_partscan->loopmod_supports_partscan - - + + +show_all_loops + +show_all_loops - - -loopcxt_is_dio->loopcxt_get_info - - + + +main->show_all_loops + + - - -loopcxt_is_dio->loopcxt_get_sysfs - - + + +printf_loopdev + +printf_loopdev - - -loopcxt_get_offset->ul_debugobj - - + + +main->printf_loopdev + + - - -loopcxt_get_offset->loopcxt_get_info - - + + +loopcxt_set_capacity + +loopcxt_set_capacity - - -loopcxt_get_offset->loopcxt_get_sysfs - - + + +main->loopcxt_set_capacity + + - + loopcxt_set_dio - -loopcxt_set_dio - - - -loopcxt_set_dio->ul_debugobj - - - - - -loopcxt_set_dio->loopcxt_get_fd - - + +loopcxt_set_dio - - -loopcxt_get_fd->ul_debugobj - - + + +main->loopcxt_set_dio + + - + loopcxt_set_blocksize - -loopcxt_set_blocksize - - - -loopcxt_set_blocksize->ul_debugobj - - + +loopcxt_set_blocksize - + -loopcxt_set_blocksize->loopcxt_get_fd - - - - - -loopcxt_set_backing_file - -loopcxt_set_backing_file +main->loopcxt_set_blocksize + + - + -loopcxt_set_backing_file->ul_debugobj - - +column_name_to_id->ARRAY_SIZE + + - - -loopdev_is_used - -loopdev_is_used + + +column_name_to_id->warnx + + - - -loopdev_is_used->loopcxt_deinit - - - - - -loopdev_is_used->loopcxt_set_device - - + + +strncasecmp + +strncasecmp - - -loopcxt_is_used - -loopcxt_is_used + + +column_name_to_id->strncasecmp + + - + -loopdev_is_used->loopcxt_is_used - - +create_loop->loopcxt_init + + - - -loopcxt_init - -loopcxt_init - - + -loopdev_is_used->loopcxt_init - - +create_loop->err + + - - -loopcxt_is_used->ul_debugobj - - + + +create_loop->is_loopdev + + - - -loopcxt_is_used->loopcxt_get_sizelimit - - + + +create_loop->errx + + - - -loopcxt_is_used->loopcxt_get_backing_file - - + + +create_loop->warnx + + - - -loopcxt_is_used->loopcxt_get_backing_devno - - + + +create_loop->loopcxt_deinit + + - - -loopcxt_is_used->loopcxt_get_backing_inode - - + + +create_loop->loopcxt_get_device + + - - -loopcxt_is_used->loopcxt_get_offset - - + + +create_loop->loopcxt_find_unused + + - - -loopcxt_init->ul_debugobj - - + + +create_loop->warn + + - - -loopcxt_init->loopcxt_set_device - - + + +loopcxt_has_device + +loopcxt_has_device + + + +create_loop->loopcxt_has_device + + + + + +loopcxt_find_overlap + +loopcxt_find_overlap + + + +create_loop->loopcxt_find_overlap + + + + + +loopcxt_is_readonly + +loopcxt_is_readonly + + + +create_loop->loopcxt_is_readonly + + + + + +loopcxt_get_encrypt_type + +loopcxt_get_encrypt_type + + + +create_loop->loopcxt_get_encrypt_type + + + + + +loopcxt_set_status + +loopcxt_set_status + + + +create_loop->loopcxt_set_status + + + + + +loopcxt_add_device + +loopcxt_add_device + + + +create_loop->loopcxt_add_device + + - + loopcxt_set_offset - -loopcxt_set_offset + +loopcxt_set_offset - - -loopcxt_set_offset->ul_debugobj - - + + +create_loop->loopcxt_set_offset + + - + loopcxt_set_sizelimit - -loopcxt_set_sizelimit + +loopcxt_set_sizelimit - - -loopcxt_set_sizelimit->ul_debugobj - - + + +create_loop->loopcxt_set_sizelimit + + - - -loopdev_find_by_backing_file - -loopdev_find_by_backing_file + + +loopcxt_set_flags + +loopcxt_set_flags - - -loopdev_find_by_backing_file->loopcxt_deinit - - + + +create_loop->loopcxt_set_flags + + - - -loopdev_find_by_backing_file->loopcxt_init - - + + +loopcxt_set_backing_file + +loopcxt_set_backing_file - - -loopcxt_find_by_backing_file - -loopcxt_find_by_backing_file + + +create_loop->loopcxt_set_backing_file + + - - -loopdev_find_by_backing_file->loopcxt_find_by_backing_file - - + + +loopcxt_setup_device + +loopcxt_setup_device - - -loopcxt_find_by_backing_file->loopcxt_deinit_iterator - - + + +create_loop->loopcxt_setup_device + + - - -loopcxt_find_by_backing_file->loopcxt_is_used - - + + +loopcxt_get_fd + +loopcxt_get_fd - - -loopcxt_init_iterator - -loopcxt_init_iterator + + +create_loop->loopcxt_get_fd + + - - -loopcxt_find_by_backing_file->loopcxt_init_iterator - - + + +warn_size->warnx + + - - -loopcxt_next - -loopcxt_next + + +stat + +stat - - -loopcxt_find_by_backing_file->loopcxt_next - - + + +warn_size->stat + + - - -loopdev_get_backing_file - -loopdev_get_backing_file + + +S_ISBLK + +S_ISBLK - - -loopdev_get_backing_file->loopcxt_deinit - - + + +warn_size->S_ISBLK + + - - -loopdev_get_backing_file->loopcxt_set_device - - + + +delete_loop->loopcxt_get_device + + - - -loopdev_get_backing_file->loopcxt_get_backing_file - - + + +delete_loop->warn + + - - -loopdev_get_backing_file->loopcxt_init - - + + +loopcxt_delete_device + +loopcxt_delete_device - - -loopdev_count_by_backing_file - -loopdev_count_by_backing_file + + +delete_loop->loopcxt_delete_device + + - - -loopdev_count_by_backing_file->loopcxt_deinit - - + + +delete_all_loops->delete_loop + + - - -loopdev_count_by_backing_file->loopcxt_get_backing_file - - + + +loopcxt_init_iterator + +loopcxt_init_iterator + + + +delete_all_loops->loopcxt_init_iterator + + - + + +loopcxt_next + +loopcxt_next + + -loopdev_count_by_backing_file->loopcxt_init - - +delete_all_loops->loopcxt_next + + - + + +loopcxt_deinit_iterator + +loopcxt_deinit_iterator + + + +delete_all_loops->loopcxt_deinit_iterator + + + + + +show_table->err + + + + -loopdev_count_by_backing_file->loopcxt_init_iterator - - +show_table->loopcxt_get_device + + - + -loopdev_count_by_backing_file->loopcxt_next - - - - - -loopcxt_init_iterator->ul_debugobj - - - - - -loopcxt_next->ul_debugobj - - - - - -loopcxt_next->loopcxt_deinit_iterator - - - - - -loopcxt_next->loopcxt_next_from_proc - - - - - -loopcxt_next->loopiter_set_device - - - - - -loopcxt_next->loop_scandir.part.0 - - - - - -loopcxt_next->loopcxt_next_from_sysfs - - - - - -loopdev_is_autoclear - -loopdev_is_autoclear +show_table->stat + + - + -loopdev_is_autoclear->loopcxt_deinit - - +show_table->loopcxt_init_iterator + + - + -loopdev_is_autoclear->loopcxt_set_device - - +show_table->loopcxt_next + + - + -loopdev_is_autoclear->loopcxt_is_autoclear - - +show_table->loopcxt_deinit_iterator + + - + + +scols_init_debug + +scols_init_debug + + -loopdev_is_autoclear->loopcxt_init - - +show_table->scols_init_debug + + - - -loopcxt_set_status - -loopcxt_set_status + + +scols_new_table + +scols_new_table - - -loopcxt_set_status->ul_debugobj - - + + +show_table->scols_new_table + + + + + +scols_table_enable_raw + +scols_table_enable_raw - + -loopcxt_set_status->loopcxt_get_fd - - +show_table->scols_table_enable_raw + + - - -loopcxt_get_crypt_name - -loopcxt_get_crypt_name + + +scols_table_enable_json + +scols_table_enable_json - - -loopcxt_get_crypt_name->ul_debugobj - - + + +show_table->scols_table_enable_json + + - + + +scols_table_enable_noheadings + +scols_table_enable_noheadings + + -loopcxt_get_crypt_name->loopcxt_get_info - - +show_table->scols_table_enable_noheadings + + - - -loopcxt_find_unused - -loopcxt_find_unused + + +scols_table_set_name + +scols_table_set_name - - -loopcxt_find_unused->ul_debugobj - - + + +show_table->scols_table_set_name + + + + + +get_column_info + +get_column_info - + -loopcxt_find_unused->loopcxt_deinit_iterator - - +show_table->get_column_info + + - - -loopcxt_find_unused->loopiter_set_device - - + + +scols_table_new_column + +scols_table_new_column + + + +show_table->scols_table_new_column + + - + + +scols_column_set_json_type + +scols_column_set_json_type + + -loopcxt_find_unused->loopcxt_init_iterator - - +show_table->scols_column_set_json_type + + - - -loopcxt_find_unused->loopcxt_next - - + + +scols_table_new_line + +scols_table_new_line - - -loopcxt_setup_device - -loopcxt_setup_device + + +show_table->scols_table_new_line + + - - -loopcxt_setup_device->ul_debugobj - - + + +set_scols_data + +set_scols_data - - -loopcxt_setup_device->loopcxt_get_fd - - + + +show_table->set_scols_data + + - - -loopcxt_set_capacity - -loopcxt_set_capacity + + +loopcxt_is_used + +loopcxt_is_used - - -loopcxt_setup_device->loopcxt_set_capacity - - + + +show_table->loopcxt_is_used + + - - -loopcxt_set_capacity->ul_debugobj - - + + +canonicalize_path + +canonicalize_path - - -loopcxt_set_capacity->loopcxt_get_fd - - + + +show_table->canonicalize_path + + - - -loopcxt_add_device - -loopcxt_add_device + + +free + +free - - -loopcxt_add_device->ul_debugobj - - + + +show_table->free + + - - -printf_loopdev - -printf_loopdev + + +scols_print_table + +scols_print_table - - -printf_loopdev->loopcxt_get_sizelimit - - + + +show_table->scols_print_table + + - - -printf_loopdev->loopcxt_get_device - - + + +scols_unref_table + +scols_unref_table - - -printf_loopdev->loopcxt_get_encrypt_type - - + + +show_table->scols_unref_table + + - - -printf_loopdev->loopcxt_get_backing_file - - + + +show_all_loops->printf_loopdev + + - - -printf_loopdev->loopcxt_get_backing_devno - - + + +show_all_loops->stat + + - - -printf_loopdev->loopcxt_get_backing_inode - - + + +show_all_loops->loopcxt_init_iterator + + - + -printf_loopdev->loopcxt_get_offset - - +show_all_loops->loopcxt_next + + - - -printf_loopdev->loopcxt_get_crypt_name - - + + +show_all_loops->loopcxt_deinit_iterator + + - - -show_table - -show_table + + +show_all_loops->loopcxt_is_used + + - - -show_table->loopcxt_deinit_iterator - - + + +show_all_loops->canonicalize_path + + - + -show_table->loopcxt_get_device - - +show_all_loops->free + + - - -show_table->set_scols_data - - + + +printf_loopdev->printf + + - + -show_table->get_column_id - - +printf_loopdev->loopcxt_get_device + + - + -show_table->loopcxt_is_used - - +printf_loopdev->loopcxt_get_encrypt_type + + - - -show_table->loopcxt_init_iterator - - + + +printf_loopdev->free + + - - -show_table->loopcxt_next - - + + +loopcxt_get_backing_file + +loopcxt_get_backing_file - - -loopcxt_find_overlap - -loopcxt_find_overlap + + +printf_loopdev->loopcxt_get_backing_file + + - + + +loopcxt_get_offset + +loopcxt_get_offset + + + +printf_loopdev->loopcxt_get_offset + + + + + +loopcxt_get_sizelimit + +loopcxt_get_sizelimit + + -loopcxt_find_overlap->ul_debugobj - - +printf_loopdev->loopcxt_get_sizelimit + + - - -loopcxt_find_overlap->loopcxt_deinit_iterator - - + + +loopcxt_get_backing_devno + +loopcxt_get_backing_devno + + + +printf_loopdev->loopcxt_get_backing_devno + + - + + +loopcxt_get_backing_inode + +loopcxt_get_backing_inode + + -loopcxt_find_overlap->loopcxt_get_sizelimit - - +printf_loopdev->loopcxt_get_backing_inode + + + + + +loopcxt_get_crypt_name + +loopcxt_get_crypt_name - + -loopcxt_find_overlap->loopcxt_get_offset - - - - - -loopcxt_find_overlap->loopcxt_is_used - - - - - -loopcxt_find_overlap->loopcxt_init_iterator - - - - - -loopcxt_find_overlap->loopcxt_next - - +printf_loopdev->loopcxt_get_crypt_name + + - - -loopcxt_set_flags - -loopcxt_set_flags + + +get_column_id + +get_column_id - - -loopcxt_set_flags->ul_debugobj - - + + +get_column_info->get_column_id + + - - -main - -main + + +set_scols_data->err + + - - -main->loopcxt_deinit - - + + +set_scols_data->loopcxt_get_device + + - - -main->loopcxt_set_device - - + + +set_scols_data->loopcxt_is_readonly + + - - -main->loopcxt_deinit_iterator - - + + +set_scols_data->stat + + - - -main->delete_loop - - + + +set_scols_data->S_ISBLK + + - - -main->loopcxt_get_device - - + + +set_scols_data->get_column_id + + - - -main->loopcxt_get_encrypt_type - - + + +set_scols_data->loopcxt_get_backing_file + + - - -main->loopcxt_is_readonly - - + + +set_scols_data->loopcxt_get_offset + + - - -main->loopcxt_set_dio - - + + +xasprintf + +xasprintf - - -main->loopcxt_get_fd - - + + +set_scols_data->xasprintf + + - - -main->loopcxt_set_blocksize - - + + +set_scols_data->loopcxt_get_sizelimit + + - - -main->loopcxt_set_backing_file - - + + +set_scols_data->loopcxt_get_backing_devno + + - - -main->loopcxt_is_used - - + + +major + +major - - -main->loopcxt_init - - - - - -main->loopcxt_set_offset - - - - - -main->loopcxt_set_sizelimit - - - - - -main->loopcxt_init_iterator - - - - - -main->loopcxt_next - - - - - -main->loopcxt_set_status - - + + +set_scols_data->major + + - - -main->loopcxt_find_unused - - + + +minor + +minor - - -main->loopcxt_setup_device - - + + +set_scols_data->minor + + - - -main->loopcxt_set_capacity - - + + +set_scols_data->loopcxt_get_backing_inode + + - - -main->is_loopdev - - + + +loopcxt_is_autoclear + +loopcxt_is_autoclear - - -main->loopcxt_add_device - - + + +set_scols_data->loopcxt_is_autoclear + + - - -main->printf_loopdev - - + + +loopcxt_is_dio + +loopcxt_is_dio - - -main->show_table - - + + +set_scols_data->loopcxt_is_dio + + - - -main->loopcxt_find_overlap - - + + +loopcxt_is_partscan + +loopcxt_is_partscan - - -main->loopcxt_set_flags - - + + +set_scols_data->loopcxt_is_partscan + + - - -loopcxt_has_device - -loopcxt_has_device + + +loopcxt_get_blocksize + +loopcxt_get_blocksize - - -main->loopcxt_has_device - - + + +set_scols_data->loopcxt_get_blocksize + + - - -loopdev_delete - -loopdev_delete - - - -loopdev_delete->loopcxt_deinit - - - - - -loopdev_delete->loopcxt_set_device - - - - - -loopdev_delete->loopcxt_delete_device - - - - - -loopdev_delete->loopcxt_init - - - - - -close_stdout - -close_stdout + + +scols_line_set_data + +scols_line_set_data - - -column_name_to_id - -column_name_to_id + + +set_scols_data->scols_line_set_data + + - - -cmpnum - -cmpnum + + +scols_line_refer_data + +scols_line_refer_data - - -loopcxt_strdup_device - -loopcxt_strdup_device + + +set_scols_data->scols_line_refer_data + + - - -loopcxt_set_fd - -loopcxt_set_fd + + +get_column_id->ARRAY_SIZE + + + + + +assert + +assert + + + +get_column_id->assert + + -- cgit v1.2.3-55-g7522