diff options
| -rw-r--r-- | abicheck/symbol-merge.py | 206 | ||||
| -rw-r--r-- | debian/libapt-pkg6.0t64.symbols | 193 |
2 files changed, 280 insertions, 119 deletions
diff --git a/abicheck/symbol-merge.py b/abicheck/symbol-merge.py new file mode 100644 index 000000000..1fa540c94 --- /dev/null +++ b/abicheck/symbol-merge.py @@ -0,0 +1,206 @@ +""" +Download packages from the archive and generate a symbols file for them. +""" + +import argparse +import glob +import os +import subprocess +import re +import sys +import urllib.request + +import distro_info + +import apt_pkg +import apt_inst + +import apt.progress.text + +IGNORE = ( + "^typeinfo for std::" + "|^vtable for std::" + "|^typeinfo name for std::" + "|^guard variable for std::" + "|^std::" + "|^[a-z]* std::" + "|^typeinfo for __gnu_cxx::" + "|^vtable for __gnu_cxx::" + "|^typeinfo name for __gnu_cxx::" + "|^guard variable for __gnu_cxx::" + "|^__gnu_cxx::" + "|^[a-z]* __gnu_cxx::" +) +IGNORE_RE = re.compile(IGNORE) + + +def get_archs(dist: str) -> set[str]: + if dist in distro_info.UbuntuDistroInfo().all: + url = f"https://snapshot.ubuntu.com/ubuntu/dists/{dist}/InRelease" + else: + url = f"https://deb.debian.org/debian/dists/{dist}/InRelease" + with urllib.request.urlopen(url) as rel: + for line in rel: + line = line.decode("utf-8") + if line.startswith("Architectures:"): + return set(line.split(":")[1].split()) - {"all"} + raise ValueError("Invalid Release file") + + +def download_debs(dist: str) -> list[str]: + """Download the debs and return the list of filenames.""" + runtime_dir = os.getenv("XDG_RUNTIME_DIR") + if runtime_dir is None: + raise ValueError("Need to set XDG_RUNTIME_DIR") + tmpdir = f"{runtime_dir}/apt/symbol-merger" + os.makedirs(f"{tmpdir}/etc/apt/sources.list.d", exist_ok=True) + os.makedirs(f"{tmpdir}/etc/apt/apt.conf.d", exist_ok=True) + os.makedirs(f"{tmpdir}/etc/apt/trusted.gpg.d", exist_ok=True) + os.makedirs(f"{tmpdir}/var/lib/apt/lists/partial", exist_ok=True) + os.makedirs(f"{tmpdir}/var/cache/apt/archives/partial", exist_ok=True) + + if dist in distro_info.UbuntuDistroInfo().all: + url = "https://snapshot.ubuntu.com/ubuntu/" + keyring = "/usr/share/keyrings/ubuntu-archive-keyring.gpg" + suites = f"{dist} {dist}-updates" + else: + url = "https://deb.debian.org/debian/" + keyring = "/usr/share/keyrings/debian-archive-keyring.gpg" + suites = f"{dist}" + + with open(f"{tmpdir}/etc/apt/sources.list.d/debian.sources", "w") as sources: + print("Types: deb", file=sources) + print(f"URIs: {url}", file=sources) + print(f"Suites: {suites}", file=sources) + print("Components: main", file=sources) + print(f"Signed-By: {keyring}", file=sources) + print(f"Architectures: {" ".join(archs)}", file=sources) + print("Targets: Packages", file=sources) + print("", file=sources) + + apt_pkg.config.set("Dir", tmpdir) + apt_pkg.config.set("Dir::State::status", "/dev/null") + apt_pkg.config.set("APT::List-Cleanup", "false") + apt_pkg.init() + cache = apt_pkg.Cache() + sl = apt_pkg.SourceList() + sl.read_main_list() + cache.update(apt.progress.text.AcquireProgress(), sl, 500000) + cache = apt_pkg.Cache() + depcache = apt_pkg.DepCache(cache) + + for arch in archs: + for _, _, ver in cache[("libapt-pkg", arch)].provides_list: + print("Mark", ver.parent_pkg.get_fullname(False), "for", arch, ver.ver_str) + depcache.mark_install(ver.parent_pkg, False) + + acq = apt_pkg.Acquire(apt.progress.text.AcquireProgress()) + pm = apt_pkg.PackageManager(depcache) + recs = apt_pkg.PackageRecords(cache) + pm.get_archives(acq, sl, recs) + acq.run() + + return [itm.destfile for itm in acq.items] + + +def read_main_symbols() -> dict[str, str]: + """Read the versions of already known symbols.""" + symbols = {} + with open(glob.glob("debian/libapt-pkg*.symbols")[0]) as sf: + for line in sf: + if not line.startswith(" "): + prelude.append(line.strip()) + continue + if line.startswith(" "): + symbol, version = line.strip().rsplit(None, 1) + if '"' in symbol: + print(symbol.strip().split('"')) + symbol = '(c++)"{}"'.format(symbol.strip().split('"')[1]) + symbols[symbol] = version + # Register the symbol so we keep the ordering later. + print("SYMBOL", symbol) + symbol_archs[symbol] = set() + return symbols + + +def read_symbol_file(debname: str) -> None: + deb = apt_inst.DebFile(debname) + arch = debname.split("_")[-1].split(".")[0] + symbols = deb.control.extractdata("symbols").decode("utf-8") + decoded_symbols = subprocess.Popen( + ["c++filt"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, text=True + ).communicate(symbols)[0] + for line, decoded_line in zip(symbols.splitlines(), decoded_symbols.splitlines()): + if not line.startswith(" "): + continue + symbol, version = decoded_line.strip().rsplit(None, 1) + symbol = symbol.strip() + # Our version is higher than the registered one, so lower it again + if IGNORE_RE.search(symbol): + continue + if line != decoded_line: + symbol = '(c++)"{}"'.format(symbol) + if ( + symbol not in smallest_symbol_version + or apt_pkg.version_compare(version, smallest_symbol_version[symbol]) < 0 + ): + smallest_symbol_version[symbol] = version + + try: + symbol_archs[symbol].add(arch) + except KeyError: + symbol_archs[symbol] = {arch} + try: + latest_symbol_archs[symbol].add(arch) + except KeyError: + latest_symbol_archs[symbol] = {arch} + + +def print_merged() -> None: + for line in prelude: + print(line) + + print(f' (c++|regex)"{IGNORE}" 999:0misbuilt') + + for symbol, line_archs in symbol_archs.items(): + if archs == line_archs: + print("", symbol, smallest_symbol_version[symbol]) + + for symbol, line_archs in symbol_archs.items(): + if archs != line_archs and line_archs: + print_archs = " ".join(sorted(line_archs)) + if len(line_archs) > len(archs - line_archs): + print_archs = " ".join("!" + a for a in sorted(archs - line_archs)) + + if "(c++)" in symbol: + print( + "", + symbol.replace("(c++)", f"(arch={print_archs}|c++)"), + smallest_symbol_version[symbol], + ) + else: + print( + f" (arch={print_archs}){symbol} {smallest_symbol_version[symbol]}" + ) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("dist", nargs="+") + args = parser.parse_args() + prelude: list[str] = [] + symbol_archs: dict[str, set[str]] = {} + smallest_symbol_version: dict[str, str] = read_main_symbols() + for dist in args.dist: + latest_symbol_archs: dict[str, set[str]] = {} + archs = get_archs(dist) + for deb in download_debs(dist): + read_symbol_file(deb) + # Clean up removed symbols + for symbol in list(symbol_archs): + if symbol not in latest_symbol_archs: + del symbol_archs[symbol] + else: + symbol_archs[symbol] = latest_symbol_archs[symbol] + with open(glob.glob("debian/libapt-pkg*.symbols")[0], "w") as sys.stdout: + print_merged() diff --git a/debian/libapt-pkg6.0t64.symbols b/debian/libapt-pkg6.0t64.symbols index e9c6c70ee..c3e1865e3 100644 --- a/debian/libapt-pkg6.0t64.symbols +++ b/debian/libapt-pkg6.0t64.symbols @@ -1,5 +1,6 @@ libapt-pkg.so.6.0 libapt-pkg6.0t64 #MINVER# * Build-Depends-Package: libapt-pkg-dev + (c++|regex)"^typeinfo for std::|^vtable for std::|^typeinfo name for std::|^guard variable for std::|^std::|^[a-z]* std::|^typeinfo for __gnu_cxx::|^vtable for __gnu_cxx::|^typeinfo name for __gnu_cxx::|^guard variable for __gnu_cxx::|^__gnu_cxx::|^[a-z]* __gnu_cxx::" 999:0misbuilt TFRewritePackageOrder@APTPKG_6.0 0.8.0 TFRewriteSourceOrder@APTPKG_6.0 0.8.0 (c++)"FileExists(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)@APTPKG_6.0" 0.8.0 @@ -555,47 +556,7 @@ libapt-pkg.so.6.0 libapt-pkg6.0t64 #MINVER# (c++)"typeinfo for pkgArchiveCleaner@APTPKG_6.0" 0.8.0 (c++)"typeinfo name for pkgArchiveCleaner@APTPKG_6.0" 0.8.0 (c++)"vtable for pkgArchiveCleaner@APTPKG_6.0" 0.8.0 -### architecture specific: va_list - (arch=armel armhf arm64|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, std::__va_list&) const@APTPKG_6.0" 0.8.15~exp1 - (arch=i386 hurd-i386 kfreebsd-i386 ppc64 ppc64el|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, char*&) const@APTPKG_6.0" 0.8.15~exp1 - (arch=hppa ia64 mips mipsel mips64el sparc sparc64|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, void*&) const@APTPKG_6.0" 0.8.15~exp1 - (arch=amd64 kfreebsd-amd64 powerpc powerpcspe s390 s390x x32|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __va_list_tag (&) [1]) const@APTPKG_6.0" 0.8.15~exp1 - (arch=sh4|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __builtin_va_list&) const@APTPKG_6.0" 0.8.15~exp1 - (arch=alpha|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __va_list_tag&) const@APTPKG_6.0" 0.8.15~exp1 -### architecture specific: va_list & size_t - (arch=i386 hurd-i386 kfreebsd-i386|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, char*&, unsigned int&)@APTPKG_6.0" 0.8.11.4 - (arch=armel armhf|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, std::__va_list&, unsigned int&)@APTPKG_6.0" 0.8.11.4 - (arch=arm64|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, std::__va_list&, unsigned long&)@APTPKG_6.0" 0.8.11.4 - (arch=alpha|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag&, unsigned long&)@APTPKG_6.0" 0.8.11.4 - (arch=powerpc powerpcspe x32|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag (&) [1], unsigned int&)@APTPKG_6.0" 0.8.11.4 - (arch=amd64 kfreebsd-amd64 s390 s390x|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag (&) [1], unsigned long&)@APTPKG_6.0" 0.8.11.4 - (arch=hppa mips mipsel sparc|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&, unsigned int&)@APTPKG_6.0" 0.8.11.4 - (arch=ia64 sparc64 mips64el|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&, unsigned long&)@APTPKG_6.0" 0.8.11.4 - (arch=sh4|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, __builtin_va_list&, unsigned int&)@APTPKG_6.0" 0.8.11.4 - (arch=ppc64 ppc64el|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, char*&, unsigned long&)@APTPKG_6.0" 0.8.11.4 - (arch=i386 hurd-i386 kfreebsd-i386|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, char*&, int, unsigned int&)@APTPKG_6.0" 0.8.11.4 - (arch=armel armhf|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, std::__va_list&, int, unsigned int&)@APTPKG_6.0" 0.8.11.4 - (arch=arm64|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, std::__va_list&, int, unsigned long&)@APTPKG_6.0" 0.8.11.4 - (arch=alpha|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag&, int, unsigned long&)@APTPKG_6.0" 0.8.11.4 - (arch=powerpc powerpcspe x32|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag (&) [1], int, unsigned int&)@APTPKG_6.0" 0.8.11.4 - (arch=amd64 kfreebsd-amd64 s390 s390x|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag (&) [1], int, unsigned long&)@APTPKG_6.0" 0.8.11.4 - (arch=hppa mips mipsel sparc|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, void*&, int, unsigned int&)@APTPKG_6.0" 0.8.11.4 - (arch=ia64 sparc64 mips64el|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, void*&, int, unsigned long&)@APTPKG_6.0" 0.8.11.4 1 - (arch=sh4|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __builtin_va_list&, int, unsigned int&)@APTPKG_6.0" 0.8.11.4 - (arch=ppc64 ppc64el|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, char*&, int, unsigned long&)@APTPKG_6.0" 0.8.11.4 -### architecture specific: size_t - (arch=i386 armel armhf hppa hurd-i386 kfreebsd-i386 mips mipsel powerpc powerpcspe sh4 sparc x32|c++)"_strtabexpand(char*, unsigned int)@APTPKG_6.0" 0.8.0 - (arch=alpha amd64 arm64 ia64 kfreebsd-amd64 mips64el s390 s390x sparc64 ppc64 ppc64el|c++)"_strtabexpand(char*, unsigned long)@APTPKG_6.0" 0.8.0 -### architecture specific: time_t - (arch=!x32|c++)"FTPMDTMStrToTime(char const*, long&)@APTPKG_6.0" 0.8.0 - (arch=x32|c++)"FTPMDTMStrToTime(char const*, long long&)@APTPKG_6.0" 0.8.0 - (arch=x32|c++)"RFC1123StrToTime(char const*, long long&)@APTPKG_6.0" 0.8.0 - (arch=!x32|c++)"RFC1123StrToTime(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long&)@APTPKG_6.0" 1.9.0 - (arch=x32|c++)"RFC1123StrToTime(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long long&)@APTPKG_6.0" 1.9.0 -### architecture specific: mode_t - (arch=!kfreebsd-i386 !kfreebsd-amd64|c++)"ChangeOwnerAndPermissionOfFile(char const*, char const*, char const*, char const*, unsigned int)@APTPKG_6.0" 1.1~exp9 - (arch=kfreebsd-i386 kfreebsd-amd64|c++)"ChangeOwnerAndPermissionOfFile(char const*, char const*, char const*, char const*, unsigned short)@APTPKG_6.0" 1.1~exp9 -### + (c++)"ChangeOwnerAndPermissionOfFile(char const*, char const*, char const*, char const*, unsigned int)@APTPKG_6.0" 1.1~exp9 (c++)"CreateAPTDirectoryIfNeeded(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 0.8.2 (c++)"FileFd::FileSize()@APTPKG_6.0" 0.8.8 (c++)"Base256ToNum(char const*, unsigned long&, unsigned int)@APTPKG_6.0" 0.8.11 @@ -617,13 +578,10 @@ libapt-pkg.so.6.0 libapt-pkg6.0t64 #MINVER# (c++)"pkgSourceList::GetLastModifiedTime()@APTPKG_6.0" 0.8.15.6 (c++)"pkgCacheFile::RemoveCaches()@APTPKG_6.0" 0.8.15.7 (c++)"pkgOrderList::VisitNode(pkgCache::PkgIterator, char const*)@APTPKG_6.0" 0.8.15.7 -### external dependency resolver ### (c++)"EDSP::ApplyRequest(std::__cxx11::list<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::__cxx11::list<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, pkgDepCache&)@APTPKG_6.0" 0.8.16~exp2 (c++)"EDSP::ReadResponse(int, pkgDepCache&, OpProgress*)@APTPKG_6.0" 0.8.16~exp2 (c++)"pkgDepCache::Policy::GetPriority(pkgCache::PkgIterator const&)@APTPKG_6.0" 0.8.16~exp6 (c++)"pkgDepCache::Policy::GetPriority(pkgCache::PkgFileIterator const&)@APTPKG_6.0" 0.8.16~exp6 -### generalisation of checksums (with lfs) -- mostly api-compatible available (without sha512 in previous versions) -### large file support - available in older api-compatible versions without lfs ### (c++)"StrToNum(char const*, unsigned long long&, unsigned int, unsigned int)@APTPKG_6.0" 0.8.16~exp6 (c++)"OpProgress::SubProgress(unsigned long long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float)@APTPKG_6.0" 0.8.16~exp6 (c++)"OpProgress::OverallProgress(unsigned long long, unsigned long long, unsigned long long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 0.8.16~exp6 @@ -661,23 +619,18 @@ libapt-pkg.so.6.0 libapt-pkg6.0t64 #MINVER# (c++)"vtable for pkgAcquire::MethodConfig@APTPKG_6.0" 0.8.16~exp6 (c++)"vtable for pkgAcquire::Queue@APTPKG_6.0" 0.8.16~exp6 (c++)"vtable for pkgAcquire::Worker@APTPKG_6.0" 0.8.16~exp6 -### remove deprecated parameter (c++)"pkgDepCache::SetCandidateVersion(pkgCache::VerIterator)@APTPKG_6.0" 0.8.16~exp6 (c++)"pkgDepCache::AddSizes(pkgCache::PkgIterator const&, bool)@APTPKG_6.0" 0.8.16~exp6 (c++)"pkgDepCache::AddStates(pkgCache::PkgIterator const&, bool)@APTPKG_6.0" 0.8.16~exp6 -### used internally by public interfaces - if you use them directly, you can keep the pieces -### orderlist rework: the touched methods are protected (c++)"pkgPackageManager::SigINTStop@APTPKG_6.0" 0.8.16~exp14 (c++)"pkgPackageManager::SmartUnPack(pkgCache::PkgIterator, bool, int)@APTPKG_6.0" 0.8.16~exp14 (c++)"pkgPackageManager::SmartConfigure(pkgCache::PkgIterator, int)@APTPKG_6.0" 0.8.16~exp14 -### FileFd rework: supporting different on-the-fly (de)compressing needs more parameter (abi), but the api is stable (c++)"FileFd::OpenDescriptor(int, unsigned int, FileFd::CompressMode, bool)@APTPKG_6.0" 0.8.16~exp9 (c++)"FileFd::OpenDescriptor(int, unsigned int, APT::Configuration::Compressor const&, bool)@APTPKG_6.0" 0.8.16~exp9 (c++)"FileFd::ModificationTime()@APTPKG_6.0" 0.8.16~exp9 (c++)"FileFd::Open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, FileFd::CompressMode, unsigned long)@APTPKG_6.0" 0.8.16~exp9 (c++)"FileFd::Open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, APT::Configuration::Compressor const&, unsigned long)@APTPKG_6.0" 0.8.16~exp9 (c++)"FileFd::ReadLine(char*, unsigned long long)@APTPKG_6.0" 0.8.16~exp9 -### CacheSet rework: making them real containers breaks bigtime the API (for the CacheSetHelper) (c++)"APT::CacheSetHelper::canNotFindTask(APT::PackageContainerInterface*, pkgCacheFile&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)@APTPKG_6.0" 0.8.16~exp9 (c++)"APT::CacheSetHelper::canNotFindRegEx(APT::PackageContainerInterface*, pkgCacheFile&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)@APTPKG_6.0" 0.8.16~exp9 (c++)"APT::CacheSetHelper::canNotFindAllVer(APT::VersionContainerInterface*, pkgCacheFile&, pkgCache::PkgIterator const&)@APTPKG_6.0" 0.8.16~exp9 @@ -696,7 +649,6 @@ libapt-pkg.so.6.0 libapt-pkg6.0t64 #MINVER# (c++)"typeinfo name for APT::VersionContainerInterface@APTPKG_6.0" 0.8.16~exp9 (c++)"vtable for APT::PackageContainerInterface@APTPKG_6.0" 0.8.16~exp9 (c++)"vtable for APT::VersionContainerInterface@APTPKG_6.0" 0.8.16~exp9 -### rework of the packagemanager rework (c++)"APT::Progress::PackageManagerFancy::HandleSIGWINCH(int)@APTPKG_6.0" 0.9.13~exp1 (c++)"APT::Progress::PackageManagerFancy::~PackageManagerFancy()@APTPKG_6.0" 0.9.13~exp1 (c++)"APT::Progress::PackageManagerFancy::PackageManagerFancy()@APTPKG_6.0" 0.9.13~exp1 @@ -747,10 +699,8 @@ libapt-pkg.so.6.0 libapt-pkg6.0t64 #MINVER# (c++)"vtable for APT::Progress::PackageManagerText@APTPKG_6.0" 0.9.13~exp1 (c++)"APT::Progress::PackageManagerFancy::instances@APTPKG_6.0" 0.9.14.2 (c++)"APT::Progress::PackageManagerFancy::Start(int)@APTPKG_6.0" 0.9.14.2 -### install foo.deb support (c++)"flAbsPath(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)@APTPKG_6.0" 1.1~exp1 (c++)"metaIndex::~metaIndex()@APTPKG_6.0" 1.1~exp1 -### CacheFilter functors (c++)"APT::CacheFilter::ANDMatcher::AND(APT::CacheFilter::Matcher*)@APTPKG_6.0" 1.1~exp4 (c++)"APT::CacheFilter::ANDMatcher::ANDMatcher(APT::CacheFilter::Matcher*, APT::CacheFilter::Matcher*, APT::CacheFilter::Matcher*, APT::CacheFilter::Matcher*, APT::CacheFilter::Matcher*)@APTPKG_6.0" 1.1~exp4 (c++)"APT::CacheFilter::ANDMatcher::ANDMatcher(APT::CacheFilter::Matcher*, APT::CacheFilter::Matcher*, APT::CacheFilter::Matcher*, APT::CacheFilter::Matcher*)@APTPKG_6.0" 1.1~exp4 @@ -823,18 +773,6 @@ libapt-pkg.so.6.0 libapt-pkg6.0t64 #MINVER# (c++)"vtable for APT::CacheFilter::PackageNameMatchesFnmatch@APTPKG_6.0" 1.1~exp4 (c++)"vtable for APT::CacheFilter::PackageNameMatchesRegEx@APTPKG_6.0" 1.1~exp4 (c++)"vtable for APT::CacheFilter::TrueMatcher@APTPKG_6.0" 1.1~exp4 -### cacheset redesign (API, but not ABI compatible) -# (c++|optional=inline)"APT::PackageContainerInterface::FromCommandLine(APT::PackageContainerInterface*, pkgCacheFile&, char const**, APT::CacheSetHelper&)@APTPKG_6.0" 0.8.16~exp9 -# (c++|optional=inline)"APT::PackageContainerInterface::FromModifierCommandLine(unsigned short&, APT::PackageContainerInterface*, pkgCacheFile&, char const*, std::__cxx11::list<APT::PackageContainerInterface::Modifier, std::allocator<APT::PackageContainerInterface::Modifier> > const&, APT::CacheSetHelper&)@APTPKG_6.0" 0.8.16~exp9 -# (c++|optional=inline)"APT::PackageContainerInterface::FromName(pkgCacheFile&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, APT::CacheSetHelper&)@APTPKG_6.0" 0.8.16~exp9 -# (c++|optional=inline)"APT::PackageContainerInterface::FromTask(APT::PackageContainerInterface*, pkgCacheFile&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, APT::CacheSetHelper&)@APTPKG_6.0" 0.8.16~exp9 -# (c++|optional=inline)"APT::PackageContainerInterface::FromRegEx(APT::PackageContainerInterface*, pkgCacheFile&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, APT::CacheSetHelper&)@APTPKG_6.0" 0.8.16~exp9 -# (c++|optional=inline)"APT::VersionContainerInterface::FromString(APT::VersionContainerInterface*, pkgCacheFile&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, APT::VersionContainerInterface::Version const&, APT::CacheSetHelper&, bool)@APTPKG_6.0" 0.8.16~exp9 -# (c++|optional=inline)"APT::VersionContainerInterface::FromPackage(APT::VersionContainerInterface*, pkgCacheFile&, pkgCache::PkgIterator const&, APT::VersionContainerInterface::Version const&, APT::CacheSetHelper&)@APTPKG_6.0" 0.8.16~exp9 -# (c++|optional=inline)"APT::VersionContainerInterface::FromCommandLine(APT::VersionContainerInterface*, pkgCacheFile&, char const**, APT::VersionContainerInterface::Version const&, APT::CacheSetHelper&)@APTPKG_6.0" 0.8.16~exp9 -# (c++)"APT::PackageContainerInterface::FromString(APT::PackageContainerInterface*, pkgCacheFile&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, APT::CacheSetHelper&)@APTPKG_6.0" 0.8.16~exp9 -# (c++)"APT::PackageContainerInterface::FromGroup(APT::PackageContainerInterface*, pkgCacheFile&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, APT::CacheSetHelper&)@APTPKG_6.0" 0.9.7 -# (c++)"APT::PackageContainerInterface::FromFnmatch(APT::PackageContainerInterface*, pkgCacheFile&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, APT::CacheSetHelper&)@APTPKG_6.0" 0.9.11 (c++)"APT::CacheSetHelper::canNotFindFnmatch(APT::PackageContainerInterface*, pkgCacheFile&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)@APTPKG_6.0" 1.1~exp4 (c++)"APT::CacheSetHelper::canNotFindPackage(APT::CacheSetHelper::PkgSelector, APT::PackageContainerInterface*, pkgCacheFile&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 1.1~exp4 (c++)"APT::CacheSetHelper::canNotFindVersion(APT::CacheSetHelper::VerSelector, APT::VersionContainerInterface*, pkgCacheFile&, pkgCache::PkgIterator const&)@APTPKG_6.0" 1.1~exp4 @@ -867,19 +805,18 @@ libapt-pkg.so.6.0 libapt-pkg6.0t64 #MINVER# (c++)"typeinfo for APT::VersionContainer<std::vector<pkgCache::VerIterator, std::allocator<pkgCache::VerIterator> > >@APTPKG_6.0" 1.1~exp15 (c++)"typeinfo name for APT::VersionContainer<std::vector<pkgCache::VerIterator, std::allocator<pkgCache::VerIterator> > >@APTPKG_6.0" 1.1~exp15 (c++)"vtable for APT::VersionContainer<std::vector<pkgCache::VerIterator, std::allocator<pkgCache::VerIterator> > >@APTPKG_6.0" 1.1~exp15 -### all the hashes are belong to us (c++)"Hashes::GetHashStringList()@APTPKG_6.0" 1.1~exp1 (c++)"Hashes::Hashes()@APTPKG_6.0" 1.1~exp1 (c++)"Hashes::~Hashes()@APTPKG_6.0" 1.1~exp1 - (c++)"HashStringList::find(char const*) const@APTPKG_6.0" 1.1~exp1 - (c++)"HashStringList::operator==(HashStringList const&) const@APTPKG_6.0" 1.1~exp1 - (c++)"HashStringList::operator!=(HashStringList const&) const@APTPKG_6.0" 1.1~exp1 - (c++)"HashStringList::push_back(HashString const&)@APTPKG_6.0" 1.1~exp1 - (c++)"HashStringList::supported(char const*)@APTPKG_6.0" 1.1~exp1 + (c++)"HashStringList::find(char const*) const@APTPKG_6.0" 1.0.9.4 + (c++)"HashStringList::operator==(HashStringList const&) const@APTPKG_6.0" 1.0.9.4 + (c++)"HashStringList::operator!=(HashStringList const&) const@APTPKG_6.0" 1.0.9.4 + (c++)"HashStringList::push_back(HashString const&)@APTPKG_6.0" 1.0.9.4 + (c++)"HashStringList::supported(char const*)@APTPKG_6.0" 1.0.9.4 (c++)"HashStringList::usable() const@APTPKG_6.0" 1.1~exp1 - (c++)"HashStringList::VerifyFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) const@APTPKG_6.0" 1.1~exp1 - (c++)"HashString::operator==(HashString const&) const@APTPKG_6.0" 1.1~exp1 - (c++)"HashString::operator!=(HashString const&) const@APTPKG_6.0" 1.1~exp1 + (c++)"HashStringList::VerifyFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) const@APTPKG_6.0" 1.0.9.4 + (c++)"HashString::operator==(HashString const&) const@APTPKG_6.0" 1.0.9.4 + (c++)"HashString::operator!=(HashString const&) const@APTPKG_6.0" 1.0.9.4 (c++)"pkgAcqArchive::IsTrusted() const@APTPKG_6.0" 1.1~exp1 (c++)"pkgAcqFile::Custom600Headers[abi:cxx11]() const@APTPKG_6.0" 1.1~exp1 (c++)"pkgAcqMethod::DropPrivsOrDie()@APTPKG_6.0" 1.1~exp1 @@ -888,14 +825,12 @@ libapt-pkg.so.6.0 libapt-pkg6.0t64 #MINVER# (c++)"typeinfo for Hashes@APTPKG_6.0" 1.1~exp1 (c++)"typeinfo name for Hashes@APTPKG_6.0" 1.1~exp1 (c++)"vtable for Hashes@APTPKG_6.0" 1.1~exp1 -### more transactional update (c++)"pkgAcquire::GetLock(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 1.1~exp4 (c++)"pkgAcquire::Item::Dequeue()@APTPKG_6.0" 1.1~exp4 (c++)"pkgAcquire::Item::QueueURI(pkgAcquire::ItemDesc&)@APTPKG_6.0" 1.1~exp4 (c++)"pkgAcquire::Item::SetActiveSubprocess(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 1.1~exp4 (c++)"pkgDepCache::MarkAndSweep()@APTPKG_6.0" 1.1~exp4 (c++)"pkgDepCache::MarkAndSweep(pkgDepCache::InRootSetFunc&)@APTPKG_6.0" 1.1~exp4 -### mixed stuff (c++)"GetListOfFilesInDir(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)@APTPKG_6.0" 0.8.16~exp13 (c++)"pkgCache::DepIterator::IsIgnorable(pkgCache::PkgIterator const&) const@APTPKG_6.0" 0.8.16~exp10 (c++)"pkgCache::DepIterator::IsIgnorable(pkgCache::PrvIterator const&) const@APTPKG_6.0" 0.8.16~exp10 @@ -944,14 +879,6 @@ libapt-pkg.so.6.0 libapt-pkg6.0t64 #MINVER# (c++)"pkgPackageManager::EarlyRemove(pkgCache::PkgIterator, pkgCache::DepIterator const*)@APTPKG_6.0" 1.0.4 (c++)"pkgSrcRecords::Step()@APTPKG_6.0" 1.0.4 (c++)"pkgDPkgPM::SetupSlavePtyMagic()@APTPKG_6.0" 1.0.8 - (c++)"HashStringList::find(char const*) const@APTPKG_6.0" 1.0.9.4 - (c++)"HashStringList::operator==(HashStringList const&) const@APTPKG_6.0" 1.0.9.4 - (c++)"HashStringList::operator!=(HashStringList const&) const@APTPKG_6.0" 1.0.9.4 - (c++)"HashStringList::push_back(HashString const&)@APTPKG_6.0" 1.0.9.4 - (c++)"HashStringList::supported(char const*)@APTPKG_6.0" 1.0.9.4 - (c++)"HashStringList::VerifyFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) const@APTPKG_6.0" 1.0.9.4 - (c++)"HashString::operator==(HashString const&) const@APTPKG_6.0" 1.0.9.4 - (c++)"HashString::operator!=(HashString const&) const@APTPKG_6.0" 1.0.9.4 (c++)"APT::Progress::PackageManager::PackageManager()@APTPKG_6.0" 1.1~exp1 (c++)"pkgDPkgPM::Go(APT::Progress::PackageManager*)@APTPKG_6.0" 1.1~exp1 (c++)"pkgPackageManager::DoInstall(APT::Progress::PackageManager*)@APTPKG_6.0" 1.1~exp1 @@ -971,7 +898,6 @@ libapt-pkg.so.6.0 libapt-pkg6.0t64 #MINVER# (c++)"FileFd::FileFd(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned long)@APTPKG_6.0" 1.1~exp4 (c++)"metaIndex::metaIndex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)@APTPKG_6.0" 1.1~exp9 (c++)"pkgTagSection::Get(char const*&, char const*&, unsigned int) const@APTPKG_6.0" 1.1~exp9 -### ABI 5 changed so much (+ abicxx11 transition) (c++)"APT::CacheSetHelper::CacheSetHelper(bool, GlobalError::MsgType)@APTPKG_6.0" 1.1~exp9 (c++)"APT::Configuration::getArchitectures[abi:cxx11](bool const&)@APTPKG_6.0" 1.1~exp9 (c++)"APT::Configuration::getCompressionTypes[abi:cxx11](bool const&)@APTPKG_6.0" 1.1~exp9 @@ -1194,7 +1120,6 @@ libapt-pkg.so.6.0 libapt-pkg6.0t64 #MINVER# (c++)"vtable for pkgSourceList@APTPKG_6.0" 1.1~exp9 (c++)"vtable for SigVerify@APTPKG_6.0" 1.1~exp9 (c++)"vtable for TranslationsCopy@APTPKG_6.0" 1.1~exp9 -### ABI 6 (c++)"APT::CacheFilter::ParsePattern(APT::StringView, pkgCacheFile*)@APTPKG_6.0" 1.9.11~ (c++)"APT::CacheSetHelper::PackageFromPattern(APT::PackageContainerInterface*, pkgCacheFile&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 1.9.11~ (c++)"APT::CacheSetHelper::showPatternSelection(pkgCache::PkgIterator const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 1.9.11~ @@ -1209,7 +1134,6 @@ libapt-pkg.so.6.0 libapt-pkg6.0t64 #MINVER# (c++)"typeinfo name for APT::PackageContainer<std::vector<pkgCache::PkgIterator, std::allocator<pkgCache::PkgIterator> > >@APTPKG_6.0" 1.9.11~ (c++)"vtable for APT::PackageContainer<std::vector<pkgCache::PkgIterator, std::allocator<pkgCache::PkgIterator> > >@APTPKG_6.0" 1.9.11~ (c++)"pkgDepCache::CheckConsistency(char const*)@APTPKG_6.0" 2.1.5~ -### dpkg selection state changer & general dpkg interfacing (c++)"APT::StateChanges::clear()@APTPKG_6.0" 1.1~exp15 (c++)"APT::StateChanges::empty() const@APTPKG_6.0" 1.1~exp15 (c++)"APT::StateChanges::Error()@APTPKG_6.0" 1.1~exp15 @@ -1229,7 +1153,6 @@ libapt-pkg.so.6.0 libapt-pkg6.0t64 #MINVER# (c++)"APT::StateChanges::Unhold()@APTPKG_6.0" 1.1~exp15 (c++)"APT::StateChanges::Unhold(pkgCache::VerIterator const&)@APTPKG_6.0" 1.1~exp15 (c++)"metaIndex::IsArchitectureSupported(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@APTPKG_6.0" 1.1~exp15 -### misc stuff (c++)"RemoveFile(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 1.1~exp15 (c++)"pkgOrderList::OrderCompareA(pkgCache::Package*, pkgCache::Package*)@APTPKG_6.0" 1.1~exp15 (c++)"pkgOrderList::OrderCompareB(pkgCache::Package*, pkgCache::Package*)@APTPKG_6.0" 1.1~exp15 @@ -1255,21 +1178,7 @@ libapt-pkg.so.6.0 libapt-pkg6.0t64 #MINVER# (c++)"metaIndex::IsArchitectureAllSupportedFor(IndexTarget const&) const@APTPKG_6.0" 1.1.9 (c++)"pkgTagFile::Init(FileFd*, pkgTagFile::Flags, unsigned long long)@APTPKG_6.0" 1.2~exp1 (c++)"pkgTagFile::pkgTagFile(FileFd*, pkgTagFile::Flags, unsigned long long)@APTPKG_6.0" 1.2~exp1 -### symbol versioning: APTPKG_6.0@APTPKG_6.0 1.1~exp9 -### gcc artifacts - (c++|optional=std)"void std::vector<char const*, std::allocator<char const*> >::emplace_back<char const*>(char const*&&)@APTPKG_6.0" 1.1~exp9 -# (c++|optional=std)"void std::vector<pkgCache::RlsFileIterator*, std::allocator<pkgCache::RlsFileIterator*> >::emplace_back<pkgCache::RlsFileIterator*>(pkgCache::RlsFileIterator*&&)@APTPKG_6.0" 1.1~exp9 - (c++|optional=std)"void std::vector<pkgDPkgPM::Item, std::allocator<pkgDPkgPM::Item> >::emplace_back<pkgDPkgPM::Item>(pkgDPkgPM::Item&&)@APTPKG_6.0" 1.1~exp9 - (c++|optional=std)"void std::vector<pkgTagSection::Tag, std::allocator<pkgTagSection::Tag> >::emplace_back<pkgTagSection::Tag>(pkgTagSection::Tag&&)@APTPKG_6.0" 1.1~exp9 - (c++|optional=std)"void std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::emplace_back<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)@APTPKG_6.0" 1.1~exp9 -### try to ignore std:: template instances - (c++|regex|optional=std)"^std::vector<.+ >::(vector|push_back|erase|_[^ ]+)\(.+\)( const|)@APTPKG_6.0$" 0.8.0 - (c++|regex|optional=std)"^(void |)std::[^ ]+<.+ >::(_|~).+\(.*\)@APTPKG_6.0$" 0.8.0 - (c++|regex|optional=std)"^std::[^ ]+<.+ >::(append|insert|reserve|operator[^ ]+)\(.*\)@APTPKG_6.0$" 0.8.0 - (c++|regex|optional=std)"^(void |DiffInfo\* |)std::_.*@APTPKG_6.0$" 0.8.0 - (c++|regex|optional=std)"^__gnu_cxx::__[^ ]+<.*@APTPKG_6.0$" 0.8.0 -### (c++)"debStringPackageIndex::~debStringPackageIndex()@APTPKG_6.0" 1.2.2 (c++)"debStringPackageIndex::debStringPackageIndex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 1.2.2 (c++)"debStringPackageIndex::GetArchitecture[abi:cxx11]() const@APTPKG_6.0" 1.2.2 @@ -1290,21 +1199,14 @@ libapt-pkg.so.6.0 libapt-pkg6.0t64 #MINVER# (c++)"EDSP::WriteRequest(pkgDepCache&, FileFd&, unsigned int, OpProgress*)@APTPKG_6.0" 1.3~exp2 (c++)"EDSP::WriteScenario(pkgDepCache&, FileFd&, OpProgress*)@APTPKG_6.0" 1.3~exp2 (c++)"EDSP::WriteSolutionStanza(FileFd&, char const*, pkgCache::VerIterator const&)@APTPKG_6.0" 1.3~exp2 - (c++)"int __gnu_cxx::__stoa<long, int, char, int>(long (*)(char const*, char**, int), char const*, char const*, unsigned long*, int)@APTPKG_6.0" 1.3~exp2 (c++)"EIPP::ApplyRequest(std::__cxx11::list<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, EIPP::PKG_ACTION>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, EIPP::PKG_ACTION> > >&, pkgDepCache&)@APTPKG_6.0" 1.3~rc2 (c++)"EIPP::ReadRequest(int, std::__cxx11::list<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, EIPP::PKG_ACTION>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, EIPP::PKG_ACTION> > >&, unsigned int&)@APTPKG_6.0" 1.3~rc2 (c++)"FileFd::Read(int, void*, unsigned long long, unsigned long long*)@APTPKG_6.0" 1.3~rc2 (c++)"pkgSourceList::AddVolatileFiles(CommandLine&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*)@APTPKG_6.0" 1.3~rc2 (c++)"pkgSourceList::AddVolatileFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*)@APTPKG_6.0" 1.3~rc2 - (c++)"TimeRFC1123[abi:cxx11](long, bool)@APTPKG_6.0" 1.3~rc2 - (c++)"void std::shuffle<__gnu_cxx::__normal_iterator<IndexTarget*, std::vector<IndexTarget, std::allocator<IndexTarget> > >, std::linear_congruential_engine<unsigned long, 16807ul, 0ul, 2147483647ul>&>(__gnu_cxx::__normal_iterator<IndexTarget*, std::vector<IndexTarget, std::allocator<IndexTarget> > >, __gnu_cxx::__normal_iterator<IndexTarget*, std::vector<IndexTarget, std::allocator<IndexTarget> > >, std::linear_congruential_engine<unsigned long, 16807ul, 0ul, 2147483647ul>&)@APTPKG_6.0" 1.3~rc2 - (c++)"void std::vector<pkgDPkgPM::Item, std::allocator<pkgDPkgPM::Item> >::emplace_back<pkgDPkgPM::Item::Ops, pkgCache::PkgIterator>(pkgDPkgPM::Item::Ops&&, pkgCache::PkgIterator&&)@APTPKG_6.0" 1.3~rc2 - (c++)"void std::vector<pkgDPkgPM::Item, std::allocator<pkgDPkgPM::Item> >::emplace_back<pkgDPkgPM::Item::Ops, pkgCache::PkgIterator&>(pkgDPkgPM::Item::Ops&&, pkgCache::PkgIterator&)@APTPKG_6.0" 1.3~rc2 - (c++)"void std::vector<std::pair<pkgDPkgPM::Item*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<pkgDPkgPM::Item*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::emplace_back<pkgDPkgPM::Item*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(pkgDPkgPM::Item*&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)@APTPKG_6.0" 1.3~rc2 (c++)"APT::String::Join(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 1.4~beta4 (c++)"debListParser::ParseDepends(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned int&, bool const&, bool const&, bool const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 1.4~beta3 (c++)"debListParser::ParseDepends(char const*, char const*, APT::StringView&, APT::StringView&, unsigned int&, bool, bool, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)@APTPKG_6.0" 1.9.0~ - (c++|optional=std)"void std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::emplace_back<char const (&) [4]>(char const (&) [4])@APTPKG_6.0" 1.4~beta4 (c++)"FileFd::ReadLine(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@APTPKG_6.0" 1.5~beta2~ (c++)"MaybeAddAuth(FileFd&, URI&)@APTPKG_6.0" 1.5~beta2~ (c++)"metaIndex::GetDefaultPin() const@APTPKG_6.0" 1.5~beta2~ @@ -1315,10 +1217,8 @@ libapt-pkg.so.6.0 libapt-pkg6.0t64 #MINVER# (c++)"metaIndex::HasSupportForComponent(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@APTPKG_6.0" 1.5~beta2~ (c++)"pkgAcquireStatus::ReleaseInfoChanges(metaIndex const*, metaIndex const*, std::vector<pkgAcquireStatus::ReleaseInfoChange, std::allocator<pkgAcquireStatus::ReleaseInfoChange> >&&)@APTPKG_6.0" 1.5~beta2~ (c++)"RemoveFileAt(char const*, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 1.5~beta2~ - (c++|optional=std)"void std::vector<pkgAcquireStatus::ReleaseInfoChange, std::allocator<pkgAcquireStatus::ReleaseInfoChange> >::emplace_back<pkgAcquireStatus::ReleaseInfoChange>(pkgAcquireStatus::ReleaseInfoChange&&)@APTPKG_6.0" 1.5~beta2~ (c++)"pkgAcqMethod::FetchItem::Proxy[abi:cxx11]()@APTPKG_6.0" 1.6~alpha1~ -# gcc-8 artifacts - (c++|optional=std)"pkgAcqMethod::SendMessage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&&)@APTPKG_6.0" 1.7.0~alpha3~ + (c++)"pkgAcqMethod::SendMessage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&&)@APTPKG_6.0" 1.7.0~alpha3~ (c++)"APT::KernelAutoRemoveHelper::GetProtectedKernelsFilter(pkgCache*, bool)@APTPKG_6.0" 2.1.16 (c++)"ExtractTar::Done()@APTPKG_6.0" 1.1~exp12 (c++)"ExtractTar::Go(pkgDirStream&)@APTPKG_6.0" 0.8.0 @@ -1354,17 +1254,9 @@ libapt-pkg.so.6.0 libapt-pkg6.0t64 #MINVER# (c++)"vtable for pkgDirStream@APTPKG_6.0" 0.8.0 (c++)"vtable for debDebFile::ControlExtract@APTPKG_6.0" 0.8.0 (c++)"vtable for debDebFile::MemControlExtract@APTPKG_6.0" 0.8.0 -### phased update API (c++)"pkgCache::VerIterator::IsSecurityUpdate() const@APTPKG_6.0" 2.7.11 (c++)"pkgDepCache::PhasingApplied(pkgCache::PkgIterator) const@APTPKG_6.0" 2.7.11 (c++)"pkgProblemResolver::KeepPhasedUpdates()@APTPKG_6.0" 2.7.11 -### gcc artifacts - (c++|optional=std)"void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag)@APTPKG_6.0" 1.7.0~alpha3~ - (c++|optional=std)"typeinfo for std::_Mutex_base<(__gnu_cxx::_Lock_policy)2>@APTPKG_6.0" 1.9.11~ - (c++|optional=std)"typeinfo for std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>@APTPKG_6.0" 1.9.11~ - (c++|optional=std)"typeinfo name for std::_Mutex_base<(__gnu_cxx::_Lock_policy)2>@APTPKG_6.0" 1.9.11~ - (c++|optional=std)"typeinfo name for std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>@APTPKG_6.0" 1.9.11~ -### Internal functions needed for testing purposes (c++)"APT::Internal::PatternTreeParser::Node::error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)@APTPKG_6.0" 1.9.11~ (c++)"APT::Internal::PatternTreeParser::parse()@APTPKG_6.0" 1.9.11~ (c++)"APT::Internal::PatternTreeParser::parseTop()@APTPKG_6.0" 1.9.11~ @@ -1380,3 +1272,66 @@ libapt-pkg.so.6.0 libapt-pkg6.0t64 #MINVER# (c++)"vtable for APT::Internal::PatternTreeParser::Node@APTPKG_6.0" 1.9.11~ (c++)"vtable for APT::Internal::PatternTreeParser::PatternNode@APTPKG_6.0" 1.9.11~ (c++)"vtable for APT::Internal::PatternTreeParser::WordNode@APTPKG_6.0" 1.9.11~ + (c++)"pkgDepCache::DecreaseActionGroupLevel()@APTPKG_6.0" 2.6.1 + (c++)"pkgDepCache::IncreaseActionGroupLevel()@APTPKG_6.0" 2.6.1 + (c++)"pkgCacheFile::InhibitActionGroups(bool)@APTPKG_6.0" 2.6.1 + (c++)"pkgVersionMatch::FileMatch(pkgCache::RlsFileIterator const&)@APTPKG_6.0" 2.6.1 + (c++)"APT::CacheSetHelper::setLastVersionMatcher(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 2.6.1 + (c++)"APT::CacheSetHelper::canNotGetVerFromRelease(pkgCacheFile&, pkgCache::PkgIterator const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 2.6.1 + (c++)"APT::CacheSetHelper::canNotGetVerFromVersionNumber(pkgCacheFile&, pkgCache::PkgIterator const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 2.6.1 + (c++)"APT::Progress::PackageManagerFancy::SIGWINCH_flag@APTPKG_6.0" 2.6.1 + (c++)"APT::Progress::PackageManagerFancy::SIGWINCH_orig@APTPKG_6.0" 2.6.1 + (c++)"APT::Progress::PackageManagerFancy::Pulse()@APTPKG_6.0" 2.6.1 + (c++)"pkgTagSection::Find(pkgTagSection::Key) const@APTPKG_6.0" 2.6.1 + (c++)"pkgTagSection::Find(pkgTagSection::Key, char const*&, char const*&) const@APTPKG_6.0" 2.6.1 + (c++)"pkgTagSection::Find(pkgTagSection::Key, unsigned int&) const@APTPKG_6.0" 2.6.1 + (c++)"pkgTagSection::FindB(pkgTagSection::Key, bool) const@APTPKG_6.0" 2.6.1 + (c++)"pkgTagSection::FindI(pkgTagSection::Key, long) const@APTPKG_6.0" 2.6.1 + (c++)"pkgTagSection::Exists(pkgTagSection::Key) const@APTPKG_6.0" 2.6.1 + (c++)"pkgTagSection::FindRaw(pkgTagSection::Key) const@APTPKG_6.0" 2.6.1 + (c++)"pkgTagSection::FindULL(pkgTagSection::Key, unsigned long long const&) const@APTPKG_6.0" 2.6.1 + (c++)"pkgTagSection::FindFlag(pkgTagSection::Key, unsigned char&, unsigned char) const@APTPKG_6.0" 2.6.1 + (c++)"pkgTagSection::FindFlag(pkgTagSection::Key, unsigned long&, unsigned long) const@APTPKG_6.0" 2.6.1 + (c++)"APT::CacheSetHelper::getLastVersionMatcher[abi:cxx11]() const@APTPKG_6.0" 2.6.1 + (c++)"HashString* std::__do_uninit_copy<__gnu_cxx::__normal_iterator<HashString const*, std::vector<HashString, std::allocator<HashString> > >, HashString*>(__gnu_cxx::__normal_iterator<HashString const*, std::vector<HashString, std::allocator<HashString> > >, __gnu_cxx::__normal_iterator<HashString const*, std::vector<HashString, std::allocator<HashString> > >, HashString*)@APTPKG_6.0" 2.6.1 + (c++)"APT::Configuration::Compressor* std::__do_uninit_copy<__gnu_cxx::__normal_iterator<APT::Configuration::Compressor const*, std::vector<APT::Configuration::Compressor, std::allocator<APT::Configuration::Compressor> > >, APT::Configuration::Compressor*>(__gnu_cxx::__normal_iterator<APT::Configuration::Compressor const*, std::vector<APT::Configuration::Compressor, std::allocator<APT::Configuration::Compressor> > >, __gnu_cxx::__normal_iterator<APT::Configuration::Compressor const*, std::vector<APT::Configuration::Compressor, std::allocator<APT::Configuration::Compressor> > >, APT::Configuration::Compressor*)@APTPKG_6.0" 2.6.1 + (c++)"pkgAcquire::CleanLists(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 2.7.14 + (c++)"APT::Configuration::checkUsrMerged()@APTPKG_6.0" 2.7.14 + (c++)"APT::Configuration::isChroot()@APTPKG_6.0" 2.7.14 + (c++)"metaIndex::HasFlag(metaIndex::Flag) const@APTPKG_6.0" 2.7.14 + (c++)"Base64Decode[abi:cxx11](std::basic_string_view<char, std::char_traits<char> >)@APTPKG_6.0" 2.9.17 + (c++)"IsAssertedPubKeyAlgo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 2.9.17 + (c++)"ExecGPGV(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&, int*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)@APTPKG_6.0" 2.9.17 + (c++)"GlobalError::Audit(char const*, ...)@APTPKG_6.0" 2.9.17 + (c++)"GlobalError::AuditE(char const*, char const*, ...)@APTPKG_6.0" 2.9.17 + (c++)"pkgDepCache::BootSize(bool)@APTPKG_6.0" 2.9.17 + (c++)"pkgAcqMethod::FailWithContext(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&)@APTPKG_6.0" 2.9.17 + (c++)"debListParser::ParseDepends(char const*, char const*, std::basic_string_view<char, std::char_traits<char> >&, std::basic_string_view<char, std::char_traits<char> >&, unsigned int&, bool, bool, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)@APTPKG_6.0" 2.9.17 + (c++)"APT::Configuration::color(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 2.9.17 + (c++)"APT::Internal::FindGPGV[abi:cxx11](bool)@APTPKG_6.0" 2.9.17 + (c++)"pkgTagSection::Write(FileFd&, pkgTagSection::WriteFlags, char const* const*, std::vector<pkgTagSection::Tag, std::allocator<pkgTagSection::Tag> > const&) const@APTPKG_6.0" 2.9.17 + (arch=!armel !armhf|c++)"FTPMDTMStrToTime(char const*, long&)@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf|c++)"RFC1123StrToTime(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long&)@APTPKG_6.0" 1.9.0 + (arch=!armel !armhf|c++)"TimeRFC1123[abi:cxx11](long, bool)@APTPKG_6.0" 1.3~rc2 + (arch=arm64 armel armhf|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, std::__va_list&) const@APTPKG_6.0" 0.8.15~exp1 + (arch=i386 ppc64el|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, char*&) const@APTPKG_6.0" 0.8.15~exp1 + (arch=mips64el riscv64|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, void*&) const@APTPKG_6.0" 0.8.15~exp1 + (arch=amd64 s390x|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __va_list_tag (&) [1]) const@APTPKG_6.0" 0.8.15~exp1 + (arch=i386|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, char*&, unsigned int&)@APTPKG_6.0" 0.8.11.4 + (arch=armel armhf|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, std::__va_list&, unsigned int&)@APTPKG_6.0" 0.8.11.4 + (arch=arm64|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, std::__va_list&, unsigned long&)@APTPKG_6.0" 0.8.11.4 + (arch=amd64 s390x|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag (&) [1], unsigned long&)@APTPKG_6.0" 0.8.11.4 + (arch=mips64el riscv64|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&, unsigned long&)@APTPKG_6.0" 0.8.11.4 + (arch=ppc64el|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, char*&, unsigned long&)@APTPKG_6.0" 0.8.11.4 + (arch=i386|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, char*&, int, unsigned int&)@APTPKG_6.0" 0.8.11.4 + (arch=armel armhf|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, std::__va_list&, int, unsigned int&)@APTPKG_6.0" 0.8.11.4 + (arch=arm64|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, std::__va_list&, int, unsigned long&)@APTPKG_6.0" 0.8.11.4 + (arch=amd64 s390x|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag (&) [1], int, unsigned long&)@APTPKG_6.0" 0.8.11.4 + (arch=riscv64|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, void*&, int, unsigned long&)@APTPKG_6.0" 1 + (arch=ppc64el|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, char*&, int, unsigned long&)@APTPKG_6.0" 0.8.11.4 + (arch=armel armhf i386|c++)"_strtabexpand(char*, unsigned int)@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386|c++)"_strtabexpand(char*, unsigned long)@APTPKG_6.0" 0.8.0 + (arch=armel armhf|c++)"FTPMDTMStrToTime(char const*, long long&)@APTPKG_6.0" 0.8.0 + (arch=armel armhf|c++)"RFC1123StrToTime(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long long&)@APTPKG_6.0" 1.9.0 + (arch=mips64el|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, void*&, int, unsigned long&)@APTPKG_6.0 0.8.11.4" 1 + (arch=armel armhf|c++)"TimeRFC1123[abi:cxx11](long long, bool)@APTPKG_6.0" 2.7.14 |
