//===- bolt/Rewrite/BuildIDRewriter.cpp -----------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // Read and update build ID stored in ELF note section. // //===----------------------------------------------------------------------===// #include "bolt/Rewrite/MetadataRewriter.h" #include "bolt/Rewrite/MetadataRewriters.h" #include "llvm/Support/Errc.h" usingnamespacellvm; usingnamespacebolt; namespace { /// The build-id is typically a stream of 20 bytes. Return these bytes in /// printable hexadecimal form. std::string getPrintableBuildID(StringRef BuildID) { … } class BuildIDRewriter final : public MetadataRewriter { … }; Error BuildIDRewriter::sectionInitializer() { … } Error BuildIDRewriter::postEmitFinalizer() { … } } // namespace std::unique_ptr<MetadataRewriter> llvm::bolt::createBuildIDRewriter(BinaryContext &BC) { … }