Mercurial > hg > CbC > CbC_llvm
view lld/ELF/AArch64ErrataFix.h @ 192:d7606dcf6fce
Added tag llvm10 for changeset 0572611fdcc8
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 14 Dec 2020 18:01:34 +0900 |
parents | 1d019706d866 |
children | 2e18cbf3894f |
line wrap: on
line source
//===- AArch64ErrataFix.h ---------------------------------------*- C++ -*-===// // // 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 // //===----------------------------------------------------------------------===// #ifndef LLD_ELF_AARCH64ERRATAFIX_H #define LLD_ELF_AARCH64ERRATAFIX_H #include "lld/Common/LLVM.h" #include <map> #include <vector> namespace lld { namespace elf { class Defined; class InputSection; struct InputSectionDescription; class OutputSection; class Patch843419Section; class AArch64Err843419Patcher { public: // return true if Patches have been added to the OutputSections. bool createFixes(); private: std::vector<Patch843419Section *> patchInputSectionDescription(InputSectionDescription &isd); void insertPatches(InputSectionDescription &isd, std::vector<Patch843419Section *> &patches); void init(); // A cache of the mapping symbols defined by the InputSection sorted in order // of ascending value with redundant symbols removed. These describe // the ranges of code and data in an executable InputSection. std::map<InputSection *, std::vector<const Defined *>> sectionMap; bool initialized = false; }; } // namespace elf } // namespace lld #endif