#ifndef LLD_MACHO_UNWIND_INFO_H
#define LLD_MACHO_UNWIND_INFO_H
#include "ConcatOutputSection.h"
#include "SyntheticSections.h"
#include "llvm/ADT/MapVector.h"
namespace lld::macho {
class UnwindInfoSection : public SyntheticSection {
public:
bool isNeeded() const override { return !allEntriesAreOmitted; }
void addSymbol(const Defined *);
virtual void prepare() = 0;
protected:
UnwindInfoSection();
llvm::MapVector<std::pair<const InputSection *, uint64_t >,
const Defined *>
symbols;
bool allEntriesAreOmitted = true;
};
UnwindInfoSection *makeUnwindInfoSection();
}
#endif