1 //===- AArch64ErrataFix.h ---------------------------------------*- C++ -*-===//
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLD_ELF_AARCH64ERRATAFIX_H
11 #define LLD_ELF_AARCH64ERRATAFIX_H
13 #include "lld/Common/LLVM.h"
23 struct InputSectionDescription;
25 class Patch843419Section;
27 class AArch64Err843419Patcher {
29 // return true if Patches have been added to the OutputSections.
33 std::vector<Patch843419Section *>
34 patchInputSectionDescription(InputSectionDescription &ISD);
36 void insertPatches(InputSectionDescription &ISD,
37 std::vector<Patch843419Section *> &Patches);
41 // A cache of the mapping symbols defined by the InputSecion sorted in order
42 // of ascending value with redundant symbols removed. These describe
43 // the ranges of code and data in an executable InputSection.
44 std::map<InputSection *, std::vector<const Defined *>> SectionMap;
46 bool Initialized = false;