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"
22 struct InputSectionDescription;
24 class Patch843419Section;
26 class AArch64Err843419Patcher {
28 // return true if Patches have been added to the OutputSections.
32 std::vector<Patch843419Section *>
33 patchInputSectionDescription(InputSectionDescription &ISD);
35 void insertPatches(InputSectionDescription &ISD,
36 std::vector<Patch843419Section *> &Patches);
40 // A cache of the mapping symbols defined by the InputSecion sorted in order
41 // of ascending value with redundant symbols removed. These describe
42 // the ranges of code and data in an executable InputSection.
43 std::map<InputSection *, std::vector<const Defined *>> SectionMap;
45 bool Initialized = false;