Lines Matching defs:opts

271 				options&	opts,
655 load_elf_file_paths(options& opts)
664 opts, elf_file_paths());
699 /// @param opts the options passed to the current program.
701 erase_extraction_directory(const options &opts) const
709 if (opts.verbose)
718 if (opts.verbose)
723 if (opts.verbose)
730 /// @param opts the options passed to the current program.
732 erase_extraction_directories(const options &opts) const
734 erase_extraction_directory(opts);
736 debug_info_packages().front()->erase_extraction_directory(opts);
738 devel_package()->erase_extraction_directory(opts);
740 kabi_whitelist_package()->erase_extraction_directory(opts);
753 const options& opts;
768 /// @param opts the options the current program has been called with.
773 const options& opts)
778 opts(opts)
786 options &opts);
923 /// @param opts the options passed to the current program.
929 const options &opts)
931 if (opts.verbose)
946 if (opts.verbose)
951 if (opts.verbose)
968 /// @param opts the options passed to the current program.
974 const options &opts)
976 if (opts.verbose)
989 if (opts.verbose)
994 if (opts.verbose)
1011 /// @param opts the options passed to the current program.
1017 const options &opts)
1019 if (opts.verbose)
1033 if (opts.verbose)
1042 if (opts.verbose)
1047 if (opts.verbose)
1060 /// @param opts the options passed to the current program.
1066 const options &opts)
1068 first_package.erase_extraction_directories(opts);
1069 second_package.erase_extraction_directories(opts);
1075 erase_created_temporary_directories_parent(const options &opts)
1077 if (opts.verbose)
1086 if (opts.verbose)
1091 if (opts.verbose)
1100 /// @param opts the options passed to the current program.
1103 const options &opts)
1109 if (!extract_rpm(package.path(), package.extracted_dir_path(), opts))
1125 if (!extract_deb(package.path(), package.extracted_dir_path(), opts))
1147 if (!extract_tar(package.path(), package.extracted_dir_path(), opts))
1172 /// @param opts the options instance to use.
1177 maybe_check_suppression_files(const options& opts)
1179 for (vector<string>::const_iterator i = opts.suppression_paths.begin();
1180 i != opts.suppression_paths.end();
1182 if (!check_file(*i, cerr, opts.prog_name))
1186 opts.kabi_whitelist_paths.begin();
1187 i != opts.kabi_whitelist_paths.end();
1199 /// @param opts the instance of @ref options to consider.
1202 const options& opts)
1207 ctxt->show_redundant_changes(opts.show_redundant_changes
1208 || opts.leaf_changes_only);
1209 ctxt->show_leaf_changes_only(opts.leaf_changes_only);
1210 ctxt->show_impacted_interfaces(opts.show_impacted_interfaces);
1211 ctxt->show_unreachable_types(opts.show_all_types);
1212 ctxt->show_hex_values(opts.show_hexadecimal_values);
1213 ctxt->show_offsets_sizes_in_bits(opts.show_offsets_sizes_in_bits);
1214 ctxt->show_relative_offset_changes(opts.show_relative_offset_changes);
1215 ctxt->show_locs(opts.show_locs);
1216 ctxt->show_linkage_names(opts.show_linkage_names);
1217 ctxt->show_added_fns(opts.show_added_syms);
1218 ctxt->show_added_vars(opts.show_added_syms);
1220 (opts.show_added_syms);
1222 (opts.show_symbols_not_referenced_by_debug_info);
1224 if (!opts.show_harmless_changes)
1228 for (vector<string>::const_iterator i = opts.suppression_paths.begin();
1229 i != opts.suppression_paths.end();
1240 /// @param opts the command line options.
1242 set_generic_options(abigail::elf_based_reader& rdr, const options& opts)
1244 if (!opts.kabi_suppressions.empty())
1245 rdr.add_suppressions(opts.kabi_suppressions);
1248 opts.leverage_dwarf_factorization;
1250 opts.assume_odr_for_cplusplus;
1269 /// @param opts the options the current program has been called with.
1288 const options& opts,
1301 if (opts.verbose)
1313 set_diff_context_from_opts(ctxt, opts);
1320 if (opts.verbose)
1343 if (opts.verbose)
1354 if (opts.use_ctf)
1361 opts.show_all_types);
1365 set_generic_options(*reader, opts);
1372 if (opts.verbose)
1384 if (opts.fail_if_no_debug_info)
1389 if (opts.verbose)
1406 if (opts.verbose)
1414 if (opts.use_ctf)
1437 if (opts.verbose)
1443 if (opts.verbose)
1453 if (opts.use_ctf)
1460 opts.show_all_types);
1464 set_generic_options(*reader, opts);
1471 if (opts.verbose)
1483 if (opts.fail_if_no_debug_info)
1488 if (opts.verbose)
1505 if (opts.verbose)
1513 if (opts.use_ctf)
1536 if (opts.verbose)
1540 if (opts.verbose)
1548 if (opts.verbose)
1571 /// @param opts the options passed the user.
1588 const options& opts,
1601 if (opts.verbose)
1607 if (opts.verbose)
1618 if (opts.use_ctf)
1625 opts.show_all_types);
1632 if (opts.verbose)
1644 if (opts.verbose)
1657 if (!opts.pkg1->create_abi_file_path(elf.path, abi_file_path))
1659 if (opts.verbose)
1673 if (opts.verbose)
1681 if (opts.verbose)
1692 if (opts.verbose)
1703 if (opts.verbose)
1711 if (opts.verbose)
1721 if (opts.verbose)
1729 if (opts.verbose)
1738 set_diff_context_from_opts(ctxt, opts);
1740 if (opts.verbose)
1747 if (opts.verbose)
1757 if (opts.verbose)
1780 /// @param opts the options of the current program.
1785 create_private_types_suppressions(const package& pkg, const options &opts)
1810 if (opts.drop_private_types)
1827 /// @param opts the options of this program.
1831 maybe_create_public_dso_sonames_set(package& pkg, const options &opts)
1833 if (opts.compare_private_dsos || !pkg.public_dso_sonames().empty())
1847 /// @param opts the options of this program
1849 must_compare_public_dso_only(package& pkg, options& opts)
1852 && !opts.compare_private_dsos)
1934 /// @param opts the options the program was invoked with.
1936 maybe_handle_kabi_whitelist_pkg(const package& pkg, options &opts)
1938 if (opts.kabi_whitelist_packages.empty()
1939 || !opts.kabi_whitelist_paths.empty()
1973 opts.kabi_whitelist_paths.push_back(whitelist_paths.back());
1993 const options &opts;
1997 : opts(o), is_ok(true)
2001 : pkgs(packages), opts(o), is_ok(true)
2013 is_ok &= extract_package(**p, opts);
2034 options &opts;
2038 : pkg(p), opts(o), is_ok(false)
2045 is_ok = pkg && extract_package_and_map_its_content(pkg, opts);
2085 if (args->opts.exported_interfaces_only.has_value())
2087 (*args->opts.exported_interfaces_only);
2091 args->opts, env, diff, ctxt, &detailed_status);
2108 if (args->opts.show_identical_binaries)
2155 if (args->opts.exported_interfaces_only.has_value())
2157 (*args->opts.exported_interfaces_only);
2163 args->opts, env, diff, ctxt,
2219 /// @param opts the options of the current program.
2230 options &opts,
2254 else if (opts.abignore && string_ends_with(path, ".abignore"))
2255 opts.suppression_paths.push_back(path);
2275 options& opts,
2293 maybe_update_package_content(entry, opts, file_name_to_look_for, files);
2316 /// @param opts the options the current program has been called with.
2320 create_maps_of_package_content(package& package, options& opts)
2322 if (opts.verbose)
2345 if (opts.verbose)
2353 opts, elf_file_paths);
2355 if (opts.verbose)
2363 package.load_elf_file_paths(opts);
2365 maybe_create_public_dso_sonames_set(package, opts);
2372 if (opts.compare_dso_only)
2376 if (opts.verbose)
2396 else if (opts.verbose)
2410 && must_compare_public_dso_only(package, opts))
2415 if (opts.verbose)
2428 if (opts.verbose)
2441 if (must_compare_public_dso_only(package, opts))
2448 if (opts.verbose)
2462 if (opts.verbose)
2469 if (opts.verbose)
2489 /// @param opts the options of the current program.
2493 extract_package_and_map_its_content(const package_sptr &pkg, options &opts)
2504 main_pkg_extraction.reset(new pkg_extraction_task(pkg, opts));
2509 opts));
2515 devel_extraction.reset(new pkg_extraction_task(devel_pkg, opts));
2522 opts));
2526 size_t num_workers = (opts.parallel
2527 ? std::min(opts.num_workers, NUM_EXTRACTIONS)
2543 is_ok = create_maps_of_package_content(*pkg, opts);
2546 maybe_handle_kabi_whitelist_pkg(*pkg, opts);
2565 /// @param opts the options of the current program.
2571 options &opts)
2577 first_pkg_prepare.reset(new pkg_prepare_task(first_package, opts));
2578 second_pkg_prepare.reset(new pkg_prepare_task(second_package, opts));
2580 size_t num_workers = (opts.parallel
2581 ? std::min(opts.num_workers, NUM_PREPARATIONS)
2601 /// @param opts the options provided by the user.
2605 prepare_package(package_sptr& pkg, options &opts)
2606 {return extract_package_and_map_its_content(pkg, opts);}
2693 /// @param opts the options passed to the program.
2696 options& opts)
2698 if (opts.keep_tmp_files)
2701 erase_created_temporary_directories(first_package, second_package, opts);
2702 erase_created_temporary_directories_parent(opts);
2721 /// @param opts the options of the current program.
2727 abi_diff& diff, options& opts)
2762 if (opts.verbose)
2770 (first_package, opts),
2774 (second_package, opts), opts));
2782 if (opts.verbose)
2802 size_t num_workers = (opts.parallel
2803 ? std::min(opts.num_workers, compare_tasks.size())
2856 if (opts.show_added_binaries && diff.added_binaries.size())
2876 maybe_erase_temp_dirs(first_package, second_package, opts);
2894 /// @param opts the options provided by the user.
2898 options& opts)
2932 opts));
2941 maybe_erase_temp_dirs(pkg, pkg, opts);
2954 size_t num_workers = (opts.parallel
2955 ? std::min(opts.num_workers, self_compare_tasks.size())
2982 maybe_erase_temp_dirs(pkg, pkg, opts);
3005 /// @param opts the options of the current program.
3011 options& opts)
3041 if (opts.exported_interfaces_only.has_value())
3043 (*opts.exported_interfaces_only);
3050 opts.suppression_paths,
3051 opts.kabi_whitelist_paths,
3053 opts.verbose,
3062 opts.suppression_paths,
3063 opts.kabi_whitelist_paths,
3065 opts.verbose,
3072 set_diff_context_from_opts(diff_ctxt, opts);
3111 /// @param opts the options of the current program.
3116 abi_diff& diff, options& opts)
3123 opts.show_symbols_not_referenced_by_debug_info = false;
3126 opts);
3131 diff, opts);
3144 /// @param opts the options provided by the user
3150 options& opts)
3154 status = self_compare_prepared_userspace_package(pkg, diff, opts);
3171 /// @param opts the options of the current program.
3176 abi_diff& diff, options& opts)
3182 if (!prepare_packages(first_package, second_package, opts))
3184 maybe_erase_temp_dirs(*first_package, *second_package, opts);
3188 return compare_prepared_package(*first_package, *second_package, diff, opts);
3196 /// @param opts the options provided by the user
3200 compare_to_self(package_sptr& pkg, options& opts)
3202 if (!prepare_package(pkg, opts))
3206 return self_compare_prepared_package(*pkg, diff, opts);
3215 /// @param opts the options the current program has been called with.
3221 options& opts)
3224 return compare(first_package, second_package, diff, opts);
3234 /// @param opts the resulting options.
3238 parse_command_line(int argc, char* argv[], options& opts)
3247 if (opts.package1.empty())
3249 opts.package1 = make_path_absolute(argv[i]).get();
3250 opts.nonexistent_file = !file_exists(opts.package1);
3252 else if (opts.package2.empty())
3254 opts.package2 = make_path_absolute(argv[i]).get();
3255 opts.nonexistent_file = !file_exists(opts.package2);
3259 opts.wrong_arg = argv[i];
3263 if (opts.nonexistent_file)
3265 opts.wrong_option = argv[i];
3275 opts.missing_operand = true;
3276 opts.wrong_option = argv[i];
3279 opts.debug_packages1.push_back
3289 opts.missing_operand = true;
3290 opts.wrong_option = argv[i];
3293 opts.debug_packages2.push_back
3303 opts.missing_operand = true;
3304 opts.wrong_option = argv[i];
3307 opts.devel_package1 =
3317 opts.missing_operand = true;
3318 opts.wrong_option = argv[i];
3321 opts.devel_package2 =
3326 opts.drop_private_types = true;
3328 opts.no_default_suppression = true;
3330 opts.keep_tmp_files = true;
3332 opts.compare_dso_only = true;
3334 opts.compare_private_dsos = true;
3337 opts.leaf_changes_only = true;
3340 opts.show_impacted_interfaces = true;
3343 opts.show_all_types = true;
3346 opts.show_full_impact_report = true;
3348 opts.exported_interfaces_only = true;
3350 opts.exported_interfaces_only = false;
3352 opts.show_linkage_names = false;
3354 opts.show_redundant_changes = true;
3356 opts.show_harmless_changes = true;
3358 opts.show_locs = false;
3360 opts.show_offsets_sizes_in_bits = false;
3362 opts.show_offsets_sizes_in_bits = true;
3364 opts.show_hexadecimal_values = true;
3366 opts.show_hexadecimal_values = false;
3368 opts.show_relative_offset_changes = false;
3370 opts.show_added_syms = false;
3372 opts.show_symbols_not_referenced_by_debug_info = false;
3374 opts.show_added_binaries = false;
3376 opts.fail_if_no_debug_info = true;
3378 opts.leverage_dwarf_factorization = false;
3380 opts.assume_odr_for_cplusplus = false;
3382 opts.verbose = true;
3384 opts.abignore = false;
3386 opts.parallel = false;
3388 opts.show_identical_binaries = true;
3390 opts.self_check = true;
3397 opts.suppression_paths.push_back(argv[j]);
3406 opts.missing_operand = true;
3407 opts.wrong_option = argv[i];
3413 opts.kabi_whitelist_packages.push_back
3418 opts.kabi_whitelist_paths.push_back(argv[j]);
3426 opts.missing_operand = true;
3427 opts.wrong_option = argv[i];
3430 opts.kabi_whitelist_packages.push_back
3436 opts.use_ctf = true;
3441 opts.display_usage = true;
3447 opts.display_version = true;
3453 opts.wrong_option = argv[i];
3464 options opts(argv[0]);
3466 if (!parse_command_line(argc, argv, opts))
3468 if (!opts.wrong_option.empty())
3470 << "unrecognized option: " << opts.wrong_option
3474 << "unrecognized argument: " << opts.wrong_arg
3480 if (opts.missing_operand)
3489 if (opts.nonexistent_file)
3492 base_name(opts.wrong_option, input_file);
3500 if (opts.kabi_whitelist_packages.size() > 2)
3508 if (opts.display_usage)
3515 if (opts.display_version)
3523 if (!opts.no_default_suppression && opts.suppression_paths.empty())
3529 opts.suppression_paths.push_back(default_system_suppr_file);
3534 opts.suppression_paths.push_back(default_user_suppr_file);
3537 if (!maybe_check_suppression_files(opts))
3541 bool need_just_one_input_package = opts.self_check;
3546 if (!opts.package2.empty())
3552 if (opts.package1.empty())
3562 else if(opts.package1.empty() || opts.package2.empty())
3570 package_sptr first_package(new package(opts.package1, "package1"));
3572 package_sptr second_package(new package(opts.package2, "package2"));
3573 opts.pkg1 = first_package;
3574 opts.pkg2 = second_package;
3576 for (vector<string>::const_iterator p = opts.debug_packages1.begin();
3577 p != opts.debug_packages1.end();
3584 for (vector<string>::const_iterator p = opts.debug_packages2.begin();
3585 p != opts.debug_packages2.end();
3592 if (!opts.devel_package1.empty())
3594 (package_sptr(new package(opts.devel_package1,
3599 if (!opts.devel_package2.empty())
3601 (package_sptr(new package(opts.devel_package2,
3605 if (!opts.kabi_whitelist_packages.empty())
3609 (opts.kabi_whitelist_packages[0],
3612 if (opts.kabi_whitelist_packages.size() >= 2)
3615 (opts.kabi_whitelist_packages[1],
3627 base_name(opts.package2, package_name);
3667 if (opts.show_full_impact_report)
3668 opts.leaf_changes_only = false;
3670 opts.leaf_changes_only = true;
3679 base_name(opts.package2, package_name);
3691 base_name(opts.package2, package_name);
3703 base_name(opts.package2, package_name);
3712 base_name(opts.package1, package_name);
3719 if (opts.self_check)
3720 return compare_to_self(first_package, opts);
3722 return compare(first_package, second_package, opts);